Цикл разработки и его этапы

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

Каскадный цикл разработки
01 Этапы Подготовка Сбор и обработка требований. Предварительное планирование этапов работ, сроков, ресурсов и стоимости.
02 Проектирование программного обеспечения Проектирование Получение технических заданий, разработка спецификаций. Партнер получает документальное изложение своих требований и планы проведения работ.
03 Разработка под конфигурацию Создание
  • Дизайн — получение графических макетов, визуальных форм, разработка интерфейсов. Создание индивидуального стиля.
  • Кодирование — получение исходного кода.
  • Тестирование — проверка программы на соответствие всем предъявляемым к ней требованиям.
  • Документирование — получение возможности передачи накопленных знаний другим разработчикам.
04 Техподдержка Поддержка
  • Внедрение — установка программного обеспечения, обучение пользователей.
  • Сопровождение — исправление выявленных ошибок, поддержка пользователей.
Фиксированная стоимость проекта

Второй из наиболее распространенных — гибкий цикл разработки (Agile), позволяющий без негативных последствий изменять направление деятельности, вносить дополнительные задания, требовать детальной проработки узких мест.

Процесс создания ПО с помощью Agile состоит из небольших итераций — коротких циклов — спринтов, являющихся, по сути, мелкими проектами и занимающих от одной до четырех недель. При завершении отдельного продуктивного периода проводится анализ и переориентирование на новые задачи следующего цикла. Количество спринтов может быть любым. Этапы проиллюстрированы ниже.

Гибкий цикл разработки
01 Планирование Планирование Постановка целей и выбор действий для их реализации, распределение имеющихся ресурсов.
02 Разработка под конфигурацию Разработка Практическое решение задач для создания приложения.
03 Качество сборки продукта Тестирование Аккумулирование итоговой информации в целях контроля выполнения задач спринта. Анализ ошибок и причин отклонений от плана. Поиск путей исправления оплошностей.
04 Управление проектом Демонстрация Представление заказчику готовой части ПО.
05 Диск в коробке и корпус Внедрение По требованию возможно использование ПО в качестве самостоятельного продукта.
Гибкая методология разработки

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

Степень риска при разработке ПО варьируется в зависимости от выбранного цикла. При гибком цикле выше вероятность возникновения неудачных архитектур, но и устранять ошибки проще. При каскадном цикле архитектурные погрешности обнаруживаются в конце проекта, а исправление недостатков значительно сложнее и дороже.

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

Сравнение каскадного и гибкого циклов разработок

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