Гибкая методология разработки: Scrum, FDD

Опубликовано 10.03.2017 · в Сайт своими руками

Гибкая методология разработки объединяет целую серию очень разнообразных, но в то же время основанных на выполнении единых задач подходов. В предыдущей статье мы уже рассмотрели экстремальное программирование и DSDM, а также некоторые примеры их реализации на практике. Теперь очередь FDD и Scrum.

Scrum
Данный подход считается одним из самых распространенных. В данном случае акцент сделан на тщательный контроль проводимой работы. На этот раз в деятельности максимально задействован заказчик, который по результатам каждого этапа имеет возможность уточнять или даже полностью менять свои требования.
Методика Scrum предполагает, что в процессе участвуют две группы, имеющие основные и дополнительные роли. Первые объединены в группу под интересным названием «свиньи» и полностью вовлечены в скрам-процесс, а вторые – в группу «куры».

Основные роли выполняют:

  • скрам-мастер, который контролирует корректное ведение процесса
  • владелец продукта, представляющий сторону конечных потребителей
  • команда разработчиков, включающая специалистов разного профиля

Дополнительные роли выполняют:

  • пользователи
  • стейкхолдеры, к числу которых принадлежат клиенты и продавцы
  • менеджеры
  • консультанты

Каждая итерация в скраме называется спринтом, в рамках которого осуществляется рост ПО с функциональной точки зрения. На каждый спринт отводится четкий временной период, от 2-х до 4-х недель. Однако, принято считать, что более короткие спринты предполагают более гибкий процесс разработки.

Feature driven development (FDD)
Методология разработана с целью объединения самых «успешных» и эффективных методик разработки ПО. Основная задача состоит в пошаговой разработке исправно функционирующего ПО в поставленные сроки.

FDD состоит из пяти видов деятельности, которые считаются базовыми:

  1. разработка модели
  2. составление перечня функций системы
  3. планирование процесса работы над каждой функцией в отдельности
  4. проектирование
  5. реализация

В этом случае разработчики тоже делятся на две группы, а именно «хозяева классов» и «главные программисты». Задача главных программистов привлечь хозяев соответствующих классов к проработке определенного свойства. Стоит отметить, что согласно данной методике, в процессе работы над заказом часто проводятся сборы. Весь процесс делится на итерации, в рамках которых реализовывается определенный набор функций.