Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie в целях обеспечения работы сайта и анализа его эффективности. С условиями обработки файлов cookie можно ознакомиться в Политике. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт. Запретить обработку cookie вы можете через браузер.
Проектирование сложных систем: 100+ функций для ежедневного использования
Аналитика | Проектирование | UX/UI | Программирование
Мы как digital-агентство полного цикла часто проектируем для наших клиентов сложные системы, которые совмещают большое количество функций, ролей и задач. Свой опыт мы используем не только на клиентских, но и на внутренних проектах — этот кейс как раз об этом.
Клиент
Создать многофункциональный сервис для управления ресурсами и проектами агентства. Сервис предназначен для разных ролей внутри агентства: проектных менеджеров, руководителей сервисов, финотдела и других специалистов.
Задача
Что конкретно
должен уметь сервис
  • 1
    Создавать оценки предстоящих проектов для утверждения стоимости работ.
  • 2
    Дать возможность финотделу отслеживать денежные потоки внутри агентства.
  • 3
    Позволить менеджерам вести проекты, следить
    за их профитабельностью, сроками и фиксировать все затраченные ресурсы.
  • 4
    Вовремя закрывать проекты
    и подготавливать все документы.
Решение: Kozara
Более 10 лет назад мы создали Kozara. Это наша внутренняя разработка, которая прошла путь от программы для трекинга ресурсов до масштабного сервиса по организации работы, которым каждый день пользуются абсолютно все сотрудники агентства.

На её примере покажем, как мы создаём такие сложные сервисы.
Стартовая страница Kozara
1 этап:
Сбор требований
На этом этапе мы собираем все запросы к системе от всех пользователей, для которых она предназначена.

Что нужно учесть:
Какие роли будут в системе
Функции этих ролей
Паттерны взаимодействия функций и ролей
Объекты, с которыми взаимодействует роль
Kozara — это в первую очередь инструмент для менеджеров, поэтому её основные функции это:
  1. Создание проектов в общей системе
  2. Отслеживание статусов проектов, их профитабельности, сроков и расходов
  3. Создание оценок и смет
  4. Учёт ресурсов на проектах

Все роли и их функции внутри системы взаимосвязаны: например, смету сначала создает проектный менеджер, который потом отправляет ее на согласование в финансовый отдел.

Функцию учета ресурсов используют все специалисты — дизайнеры, разработчики и другие, — отмечая свою загрузку на проектах по дням. Так менеджеры сразу видят затраченные ресурсы на конкретную задачу, а финотдел и HR-специалисты могут отслеживать табель каждого сотрудника.
Учесть потребности пользователя: мы не только собираем пожелания к функционалу, но и задаем уточняющие вопросы, чтобы максимально точно определить запрос и реализовать его.

Фиксировать информацию: на таких масштабных проектах есть много ролей и запросов, поэтому мы ведем подробный бэклог, чтобы не упустить важных деталей.
ВАЖНО
2 этап:
Аналитика
Все требования, роли, функции и задачи сводятся в единую блок-схему, в которой наглядно прослеживается алгоритм работы системы. Для ее построения мы используем нотацию BPMN*.

Кроме того, чтобы отслеживать, как функции влияют друг на друга и не допустить ошибок на этапе реализации, мы используем матрицу трассировки.

Как работает матрица трассировки:

  • В таблице создаем первый столбец, который отводим под название функции или изменений.
  • По горизонтали перечисляем все объекты, которые есть в сервисе, разбив их по разделам.
  • Новые изменения вносим в начало строки, а затем последовательно прописываем, как они могут взаимодействовать с остальными элементами системы.
* Нотация моделирования бизнес-процессов (BPMN) — это метод составления блок-схем, отображающий этапы выполнения бизнес-процесса от начала до конца. BPMN-схемы наглядно и подробно демонстрируют последовательность рабочих действий и перемещение информационных потоков, необходимых для выполнения процесса.
Матрица трассировки для одной из функций Kozara
3 этап:
Проектирование
и прототипирование
При отрисовке прототипов мы прорабатываем максимальное количество концепций, чтобы найти правильный вариант, который будет удобен пользователям без ущерба для эффективности.
Мы опираемся не только на свой опыт, но и на лучшие практики на рынке, тренды UX-дизайна и новые кейсы в индустрии.

Например, для UX-паттернов полезны сайты Really Good UX, UX Archive
и CollectUI, а в работе с интерфейсами сложных систем помогают известные таск-трекеры, сервисы Google и Яндекс, демоверсии платных приложений и сайтов.
После сборки фреймов мы переходим к созданию кликабельных прототипов, чтобы у заказчиков и будущих пользователей была возможность протестировать интерфейс и принципы взаимодействия элементов.
Кликабельный прототип для одной из функций Kozara
На этапе проектирования важно учесть:
Язык
пользователя
В интерфейсах мы используем те термины, которыми оперируют будущие пользователи — это позволяет не допустить недопониманий. Чтобы новички не терялись в системе, для них оставляем подсказки рядом с каждым разделом.
Эффективность
важнее простоты
Сложная система обладает большим количеством функций, ей пользуется много пользователей, поэтому важно воплотить решение, которое им необходимо, даже если оно не очень простое.
Масштабируемость системы
У сложных проектов достаточно большой бэклог, поэтому при реализации новых функций важно учитывать и другие требования к системе, чтобы ее было проще масштабировать в будущем.
4 этап:
Тестирование
Для тестирования решений мы привлекаем будущих пользователей системы: каждую функцию необходимо тестировать с теми ролями, для которых она внедрялась, чтобы доработать все недочёты. В случае с Kozara это сотрудники агентства.
Модерируемое
usability-тестирование
Пользователь выполняет конкретную задачу, параллельно комментируя процесс. После выполнения заданий нужно узнать мнение сотрудника о новом решении, а также что ему не нравится в работе с системой. Экран во время тестирования записывается на видео. Затем записи обрабатываются: результаты по заданиям собираются в один файл, а замечания и пожелания по работе выносятся отдельно, обсуждаются с командой и добавляются в бэклог.
Модерируемое
usability-тестирование
Пользователь выполняет конкретную задачу, параллельно комментируя процесс. После выполнения заданий нужно узнать мнение сотрудника о новом решении, а также что ему не нравится в работе с системой. Экран во время тестирования записывается на видео. Затем записи обрабатываются: результаты по заданиям собираются в один файл, а замечания и пожелания по работе выносятся отдельно, обсуждаются с командой и добавляются в бэклог.
Сбор аналитики
После запуска системы мы настраиваем события на некоторые функции, чтобы определить, как ими пользуются. Это помогает определить, какая из реализаций более удобная.
Результат
Сейчас поддержкой Kozara занимается отдельная команда внутри агентства.
Мы постоянно добавляем новые функции для менеджеров, специалистов, директоров сервисов и операционного отдела. Благодаря проектированию интерфейс становится проще, а новые функции удобнее.

На данный момент в Kozara больше ста функций — ими ежедневно пользуются все сотрудники агентства.
Проектирование — это важный процесс в создании сложных систем, в среднем этот этап занимает 25-30% времени проекта. При этом он позволяет сэкономить ресурсы, как денежные, так и временные — благодаря проектированию мы видим потенциальные сложности, пересечения функционала и другие нюансы до этапа разработки.
Вам нужно проектирование интерфейса?
Напишите нам!