Жизненный цикл разработки ПО
Оригинальное название: Software Development Life Cycle (SDLC)
Коротко
Путь программы от идеи до вывода из эксплуатации: сбор требований, проектирование, разработка, тестирование, выпуск и сопровождение.
Что такое «Жизненный цикл разработки ПО»
Англоязычная аббревиатура — SDLC. Понятие нужно, чтобы работа над программой не превращалась в «пишем, пока не надоест»: на каждом этапе ясно, что должно получиться на выходе и кто это принимает. Процессы жизненного цикла описывает, например, международный стандарт ISO/IEC 12207, у которого есть российский аналог ГОСТ Р ИСО/МЭК 12207.
Этапы на примере сайта
- Анализ и требования — цели, аудитория, функции, интеграции. Результат — техническое задание или бэклог.
- Проектирование — структура, прототипы, дизайн, выбор платформы, схема данных.
- Разработка — вёрстка, программирование, наполнение.
- Тестирование — проверка функций, форм, скорости, отображения на разных устройствах.
- Развёртывание — перенос на боевой сервер, подключение домена, аналитики, редиректов.
- Сопровождение — обновления, исправления, доработки, резервные копии.
Последний этап самый длинный: сайт живёт годами, а разработка заняла несколько месяцев. Поэтому планировать стоит стоимость владения, а не только запуск — подробнее в статье о том, что входит в поддержку сайта.
Модели жизненного цикла
- Каскадная (водопад) — этапы идут строго друг за другом, к прошлому шагу не возвращаются. Подходит, когда требования стабильны и известны заранее.
- V-модель — каскад, где каждому этапу проектирования соответствует свой уровень тестирования: требованиям — приёмочные тесты, архитектуре — интеграционные.
- Итеративная и инкрементная — продукт растёт частями, каждый виток проходит все этапы заново.
- Спиральная — итерации с явной оценкой рисков перед каждым витком.
- Гибкие методы — короткие циклы с частой обратной связью; конкретные фреймворки разобраны в статье о гибкой разработке ПО.
Типичные ошибки планирования
Самая частая — сжать тестирование, когда горят сроки: ошибки всё равно найдут, но уже пользователи. Вторая — считать запуск концом проекта и не заложить сопровождение. Третья — выбрать каскад для продукта, требования к которому никто толком не знает: к концу разработки окажется, что сделано не то, что нужно рынку.

