Некоторые люди считают, что «разработка по методологии Agile = нет необходимости в проектировании». Это неверно. Просто разработка по методологии Agile не должна проводиться слишком рано. Методология Agile похожа на процесс, основанный на принципах лёгкости, поскольку оба они способствуют выполнению задач вовремя.
История пользователя
История пользователя — один из наиболее часто используемых инструментов в проектах разработки по методологии Agile. Преимущество истории пользователя заключается в том, что она не требует углубления в детали на начальном этапе проекта. Ниже приведён типичный сценарий использования истории пользователя:
- Запись истории пользователя — встретиться с конечным пользователем и провести мозговой штурм по созданию историй пользователей
- Просто запишите ОДНО предложение о том, что пользователь хочет достичь
- Мы можем дополнительно включить краткое описание
- Разработчик(и) проводят приблизительную оценку историй пользователей
- На встрече спринта все заинтересованные стороны собираются вместе, чтобы решить, какие истории пользователей следует выполнить в спринте
- Разработчик(и) встречаются с конечным пользователем, чтобы обсудить детали истории пользователя
- Записать обсуждение как заметки о разговоре
- Записать, что должно быть выполнено, как элементы подтверждения
- Разработчик(и) составляют сценарии использования и рисуют макеты системы
- Подтвердить требования с пользователем
- Разработчик(и) проектируют систему
- Разработчик(и) реализуют систему
- Поскольку требования теперь очень ясны, а проектирование полностью завершено, усилия по реализации небольшие
- Разработчик(и) готовят тестовую среду для конечного пользователя, чтобы он провёл тестирование на основе элементов подтверждения
Как вы можете видеть, команда разработки по методологии Agile должна иметь, по крайней мере, следующие виды проектирования:
- Проектирование пользовательского опыта (UX-дизайн) — макет
- Проектирование системы — диаграмма деятельности, диаграмма последовательности
- Проектирование базы данных — диаграмма связей между сущностями (ERD)