Сравнение RUP и других методологий разработки ПО - Feature Driven Development

ОГЛАВЛЕНИЕ

Feature Driven Development

Функционально-ориентированная разработка (10) (FDD, Feature Driven Development). На самом деле используемое в FDD понятие функции или свойства (feature) системы достаточно близко к понятию прецедента использования, используемому в RUP. Едва ли не самое существенное отличие — это дополнительное ограничение: «каждая функция должна допускать реализацию не более, чем за две недели». То есть если сценарий использования достаточно мал, его можно считать функцией. Если же велик, то его надо разбить на несколько относительно независимых функций.

FDD включает пять процессов, последние два из которых повторяются для каждой функции:

  • Разработка общей модели
  • Составление списка необходимых функций системы
  • Планирование работы над каждой функцией
  • Проектирование функции
  • Конструирование функции

Разработчики в FDD делятся на «хозяев классов» и «главных программистов». Главные программисты привлекают хозяев задействованных классов к работе над очередным свойством. Для сравнения, в XP нет персонально ответственных за классы или методы. К работе над любым классом может привлекаться любой из участников разработки.

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