Работайте с нами по Agile
Можно создавать сайты, программное обеспечение и все что угодно по двум методикам. Первая называется «водопад», а вторая называется «agile». Давайте посмотрим, в чем разница...
Водопад подразумевает следующее:
- Подписание договора
- Техническое задание на стадии подписания договора
- Фиксированная цена за весь продукт
- Контакт с клиентом не чаще раза в месяц
- Жесткое и сильно связанное кодирование
- Изменения в коде не приветствуются, особенно на поздних этапах
Agile подразумевает следующее:
- Подписание договора
- Отсутствие общего технического задания
- Список компонентов для составления общего плана
- Итерации по две недели. В конце каждой итерации — готовый продукт
- Совещания с клиентом после каждой итерации
- Составление в конце каждой итерации списка требований к следующей итерации
- Несвязанное кодирование
- Приветствуются изменения в коде и архитектуре
Чем хорош «водопад»?
«Водопад» хорош с государственными заказчиками или с теми людьми, которым нет дела до конечного программного продукта. «Водопад» хорош когда у заказчика нет времени на общение с разработчиком.
Чем плох водопад?
Часто у заказчика возникает желание что-нибудь поправить. Даже, можно сказать, что такое желание возникает постоянно и обусловлено не прихотями заказчика, а невозможностью представить конечный продукт на этапе разработки ТЗ. В результате, разработчик на середине проекта написал жестко закодированное ядро, а заказчик захотел внести в него изменения. Разрабочик скажет, что это не было оговорено в ТЗ и заказчик еще раз заплатит за разработку куска ядра.
Чем хорош Agile?
Agile хорош тем, что он гибкий. Это значит, что заказчик может в любой момент попросить внести изменения и не будет чувствовать угрызений совести. Причем, необходимость изменений он увидит моментально, потому что контакт клиента и разработчика происходит постоянно и заказчик каждую итерацию видит обновленный продукт. Обычно, каждую неделю или каждые две недели в определенный день заказчик приходит к разработчику и общается с командой. В результате, команда видит, для кого она старается и вникает не только в код, но и в предметную область.
Как только заказчик увидит, что нужно немного повернуть разработку и добавить пару функций, он смело говорит об этом разработчикам и идет совместное обсуждение и внедрение нового функционала. Если была заявлена приблизительная сумма по проекту, заказчик и разработчик договариваются, какой функционал нужно убрать, чтобы освободить время на разработку нового, только что придуманного функционала.
Чем плох Agile?
Ни заказчик, ни исполнитель не могут точно сказать, сколько денег и времени займет проект. Есть ориентировочные суммы, например: «проект займет примерно 12 недель и будет стоить около 400 тыс. руб.». Это основной и, на наш взгляд, единственный недостаток Agile.
Реальный проект по приготовлению бутерброда.
| Этапы | Водопад | Agile |
|---|---|---|
| Заключение довогора | 1 день | 1 день |
| Техническое задание и спецификация на бутерброд | 1 день | — |
| Разрабочик пытается понять ТЗ и задает уточняющие вопросы | 1 день | — |
| Изготовление бутерброда | 1 час | 10 минут |
| Согласование бутерброда с заказчиком | 10 минут | 1 минута |
| Внесение изменений в ТЗ, потому что нет огурцов | 1 день | — |
| Исправление бутерброда | 1 час | — |
| Итого, время на проект | 4 дня 2 часа 10 минут | 1 день 11 минут |
| Результат |
![]() |
|
Выгоды для обеих сторон очевидны:
- Заказчик не парится по поводу огромного ТЗ
- Сокращается время на предварительное согласование проекта
- Исполнитель делает сразу то, что его просят без недопониманий
- Время на разработку сокращается в разы
Вот как выглядит общая схема процесса разработки по Agile:

Которко по основным пунктам:
- Концепция — это то, что в общих чертах хочет заказчик
- Баклог — это список модулей и «фишек» для создания
- Разработчик и заказчик садятся за стол переговоров и решают, что из баклога будет реализовано в следующей итерации, что отражается в отобранном баклоге
- Команда разработчиков составляет баклог итерации: список задач на две недели
- То, что было сделано за две недели показывается заказчику
- Переход к шагу 3: начало новой итерации



