Процесс разработки программного обеспечения, принятый в компании, позволяет использовать самые разные модели жизненных циклов. То, какая модель используется в каждом отдельном проекте, зависит от потребностей клиента и специфики проекта.
Жизненный цикл разработки программного обеспечения базируется на основной 4-х фазной структуре:
- Начальная - определение требований, предварительное планирование и оценка.
Клиенту предоставляется документированное изложение его требований, приблизительный план проекта по фазам \ итерациям, документ, описывающий общее видение задачи и ее решение, возможно прототипы.
- Проектирование - идентификация требований, детальное планирование, дизайн системы.
Клиент получает детальную спецификацию требований к системе, детальный план разработки программного обеспечения, документы по дизайну программного обеспечения, детальные планы тестирования, конфигурационный план, работающий прототип системы.
- Построение - реализация дизайна, документация, тестирование.
Результат работы в этой фазе - законченный программный продукт, отчеты о результатах выполнения цикла тестирования, комплект тестовых сюит.
- Внедрение - установка продукта у клиента, обучение пользователей.
После завершения цикла разработки продукта начинается фаза поддержки, которая продолжается, пока используется продукт. Сюда включено как исправление ошибок, так и поддержка пользователя.
Очень часто определить все требования на начальной фазе жизненного цикла не удается. В этом случае применяется итеративный подход, когда разработка проекта планируется как серия так называемых итераций. Каждая из них реализует отобранные для нее требования. Остальные требования, а также требования, поступающие по мере развития проекта, откладываются для последующих итераций.
Тем самым по мере развития проекта обеспечивается наиболее полное удовлетворение реальных потребностей наших клиентов.