Agile

Agile

Поняв в предыдущей статье тему Kanban-методологии мы решили, что было бы несправедливо не уделить внимание такому более общему понятию как Agile.

Agile (agile software development, от англ. agile-проворный) представляет собой семейство «гибких» подходов к разработке программного обеспечения. Подобные подходы также называют фреймворками или agile-методологиями.

Основная суть Agile сформулирована в Agile-манифесте разработки ПО: » Люди и взаимодействие важнее процессов и инструментов. Работающий продукт важнее исчерпывающей документации. Сотрудничество с заказчиком важнее согласования условий контракта. Готовность к изменениям важнее следования первоначальному плану».

Манифестом разъясняются следующие идеи:

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

Преимуществами Agile-методологий можно назвать:

• разделение рисков;
• предсказуемость;
• регулярная обратная связь;
• лёгкая и быстрая реакция на изменения;
• самоорганизация.

Что же касается недостатков, здесь критики указывают на два основных момента:

1. При Agile-подходе часто пренебрегают созданием плана («дорожной карты») развитая продукта, ровно как и управлением требованиями, в процессе которого и формируется такая «карта»;
2. Работа в Agile мотивирует разработчиков решать все поступившие задачи простейшим и быстрейшим возможным способом, при этом зачастую не обращая внимания на правильность кода с точки зрения требований нижележащей платформы (подход — «работает, и ладно», при этом не учитывается, что может перестать работать при малейшем изменении или же дать тяжёлые к воспроизводству дефекты после реально внедрения у клиента). Это приводит к снижению качества продукта и накоплению дефектов.

В завершении следует отметить, что хотя Agile и возник в IT-среде, на данный момент термин проник во множество разнообразных сфер — от промышленной инженерии до искусственного интеллекта.

Свяжитесь с нами и улучшите свой бизнес
Спасибо, мы свяжемся с вами