article-spots
article-carousel-spots
programs
Технологии

Жизненный цикл разработки программного обеспечения по Agile-методологии. Что это такое и какие этапы включает?

10 мая 2023

Какие основные шаги в создании программного обеспечения и какие специалисты в этом задействованы? В этой статье, Сергей Зыков, Product Manager в EPAM Latvia, описал жизненный цикл разработки ПО по Agile-методологии и поделился своим опытом в этой области. 


Жизненный цикл разработки ПО по Agile-методологии (Agile SDLC) это процесс разработки ПО, учитывающий изменения требований, рыночные условия и потребности клиентов. Он основывается на сотрудничестве, командной работе и постоянном совершенствовании.  

Этот процесс включает несколько ключевых этапов: планирование, проектирование, разработку, тестирование, развертывание и обслуживание. Давайте рассмотрим каждый этап и попробуем понять, почему все они жизненно важны для создания качественного программного обеспечения.  

Этап планирования  

Планирование является начальной стадией жизненного цикла разработки ПО. Проектная команда работает со стейкхолдерами, чтобы определить жизнеспособность и ценность продукта, а также возможность его реализации. Наилучшим результатом будет сформированная стратегия по продукту, которая определяет видение, цели, объемы и минимально жизнеспособный продукт (MVP minimum viable product), а также содержит задокументированные требования и бэклог продукта (перечень функций, которые тот должен иметь). Ключевыми людьми здесь являются менеджеры/владельцы продукта и бизнес-аналитики. Затем команда решает, какие технологии и ресурсы использовать для создания продукта. За это отвечают деливери-менеджер и архитектор решений.  

Этап проектирования 

На этом этапе, проектная команда начинает работать над архитектурой и UI/UX продукта. Дизайнеры создают первые каркасы, макеты и прототипы, чтобы помочь стейкхолдерам визуализировать финальный продукт и проверить пользовательский опыт. Крайне важно предложить что-то материальное как можно быстрее, чтобы ускорить обратную связь от стейкхолдеров, а в идеальном мире еще и конечных пользователей.  

Этап разработки 

Проектирование завершено. Что дальше? Начинается стадия разработки. Команда начинает строить продукт, применяя итеративный и инкрементальный подход, или иначе спринты. Они делят бэклог продукта на меньшие, осуществимые задачи, которые называются историями пользователей, а затем определяют их приоритетность, оценивают и работают над ними в последовательности, установленной бэклогом продукта. Как правило, команда состоит из владельцев продукта, разработчиков, бизнес-аналитиков и QA-инженеров. 

Этап тестирования 

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

Этап развертывания 

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

Этап обслуживания 

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

Таким образом, придерживаясь этой методологии, благодаря ее гибкости и быстрой обратной связи, проектные команды могут эффективнее разрабатывать высококачественное, удобное программное обеспечение.