Что такое гибкая методология разработки и каковы ее принципы
Разработка любого приложения или программы для ПК — сложный процесс. Команде нужно принимать решения, выбирать определенные инструменты и фреймворки. Однако все это важно синхронизировать, иначе работа остановится. Поэтому популярной стала гибкая методология разработки (Agile software development) — комплекс подходов и практик, целью которых является ускорение создание продукта.
Особенности гибкой методологии разработки
В основе Agile лежит общение друг с другом, в то время как в прочих практиках применяется иной подход. Команда разделяется на группы, каждая выполняет определенные действия (итерации) в течение 2-3 недель. В случае Agile-методов специалисты находятся в одном офисе с заказчиком (или его представителем). Благодаря этому время разработки приложения уменьшается объем документации. Однако неоднократно Agile-методы критиковали за недисциплинированность.
В основе лежат четыре ценности:
- Люди важнее процессов и инструментов.
- Работающий продукт ценнее бумаг.
- Сотрудничество с заказчиком приоритетнее условий контракта.
- Готовность к изменениям важнее плана.
Все это реализуется в работе. Так, чтобы создать приложение необязательно составлять отчеты, диаграммы и схемы для заказчика. Важнее предоставить рабочий продукт заказчику в короткие сроки.
При работе с Agile используют несколько принципов:
- Приоритет — это удовлетворение заказчика. Получить его можно при быстром выполнении задачи.
- Изменения — это всегда хорошо, даже в конце разработки.
- Общение заказчика и команды должно стать ежедневным ритуалом.
- Если ПО работает, то это синоним успеха.
- Простота — это искусство, а не недостаток.
- Лучшие решения получаются у самоорганизирующихся команд.
- Поставка обновлений должна быть частой.
- Проекты не просто отдают специалистам, важно создать им условия для работы.
Agile имеет и недостатки. Заказчик может вносить новые требования, которые идут в вразрез с тем, что уже есть. К тому же подход "Работает и хорошо" грозит тем, что в случае обновления платформы — программа перестанет функционировать.