Выбор модели ЖЦ программного проекта

На всем протяжении итерационного цикла требования постоянно меняются, причем цикл состоит из очень коротких итераций.

Базовые действия на каждой итерации: кодирование, тестирование, выслушивание заказчика, проектирование.

Динамизм обеспечивается следующими характеристиками:

· непрерывная связь с заказчиком;

· простота (всегда выбирается минимальное решение)

· быстрая обратная связь (модульное и функциональное тестирование)

· смелость в проведении профилактики возможных проблем.

Базис XP образуют 12 методов:

1. Игра планирования - Локальный заказчик обеспечивает набор "историй", которые описывают требуемую функциональность. К каждой новой версии в текущий набор "историй" вносятся наиболее важные истории (сценарии обслуживания).

2. Частая смена версий - новые версии каждые 2 недели.

3. Метафора - вся разработка проводится на основе простой общедоступной истории о том, как работает система. Истории обеспечивают заказчики.

4. Простое проектирование.

5. Тестирование - непрерывное написание тестов для модулей. Входным критерием для написания кода является отказавший тестовый вариант. Заказчики участвуют в тестировании.

6. Реорганизация - система реструктуризируется, но ее поведение не меняется. Цель упростить систему, улучшить взаимодействие или добавить в нее гибкость.

7. Парное программирование - весь код пишется двумя программистами, работающими на одном компьютере. Оно приводит к повышению качества и уменьшению времени цикла на 40-50%, при увеличении затрат на ресурсы на 15%

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

9. Непрерывная интеграция - интегрирование системы несколько раз в день по мере завершения каждой задачи.

10. 40-часовая неделя - нельзя работать сверхурочно.

11. Локальный заказчик - в группе все время должен находиться компетентный представитель заказчика, готовый отвечать на все вопросы.

12. Стандарты кодирования - правила, обеспечивающие одинаковое представление программного кода.

 

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

При выборе модели ЖЦ программного проекта следует найти ответ на ряд следующих вопросов.