Гибкие методологии разработки
Гибкие методологии разработки — это метод работы над проектом, который позволяет распределить время максимально полезно для разработчика и заказчика.
Рабочий процесс строится на формировании задач по этапам, распределении их по приоритету и согласовании всех изменений с заказчиком. Большим плюсом гибких методологий является возможность вносить изменения и ставить задачи не только в начале, но в середине и даже в конце работы над проектом.
Представьте, вы хотите построить дом. Пришли к застройщику и говорите: хочу дом, голубой, квадратный и лестница посередине. Вы разрабатываете план, составляете смету и прочие проектные бумаги. Работа началась. Вдруг, вы поняли, что хотите витиеватую лестницу сбоку, а не прямую посередине, но стройка уже идёт и злой прораб запретил менять решение. В голове начинает работать калькулятор: сколько нужно денег, чтобы снести новую лестницу и поставить другую, как заделать дыру от прямой и пробить другую для витиеватой. Если бы застройщик следовал принципам гибкой методологии, т. е. вы бы вместе планировали каждый этап и вносили бы правки по любому пункту, вам не пришлось бы включать калькулятор и судорожно считать на чем же можно сэкономить, а от чего вообще отказаться. Вы бы сэкономили и деньги и время.
Главный принцип работы по гибким методологиям разработки
Отлаженное сотрудничество заказчика и исполнителя - вот основной принцип работы по гибким методологиям. Добиться этого помогает поэтапная разработка и четкое разделение задач.
Плюсы гибкой методологии разработки
- Принцип динамического формирования задач. Разработчики планируют работу над проектом на основе поступающих требований заказчика.
- Результат на этапе тестирования. На первых этапах разработки заказчик имеет проект, который приносит прибыль.
- Отчет о проделанной работе после каждой итерации. Разработчик демонстрирует результат заказчику после выполнения каждой крупной задачи.
- Возможность внедрять новые идеи на всех этапах разработки. На любом этапе разработчик может изменять и добавлять новый функционал.
Scrum, Канбан, Lean – основные виды гибкой методологии разработки
Канбан
Канбан — вид гибкой методологии разработки. Он отлично подойдёт для улучшения проекта в процессе разработки. Команда пишет на доске чёткие задачи: что планируется, что в работе и что завершено. Количество задач всегда ограничено, чтобы разработчики не распылялась на ненужные процессы. Они работают сообща, это помогает критически взглянуть на идею и разработку, а значит закончить проект в срок.
Принципы Канбан:
- Использование доски задач. Весь процесс работы отображен на физической доске, разработчик всегда видит на каком этапе находится, что нужно сделать и сколько времени осталось.
- Не больше 2-х задач в работе. Разработчики не распыляются на лишние моменты, поэтому работают над Вашим проектом качественно.
- Команда следит за таймингом: у каждой задачи есть свои дедлайны, поэтому всегда есть время для улучшения проекта.
- В процессе разработки команда постоянно совершенствует навыки.
Lean
Lean (бережливое производство) — один из видов гибкой методологии разработки. В процессе работы разработчик выявляет главные и второстепенные элементы проекта. Главным придает большую ценность, из второстепенных выжимает максимум полезности.
Принципы Lean:
- Уменьшение потерь. В разработке существует множество видов потерь, к примеру, очень распространенная ошибка нового времени, установка ненужного функционала. Что бы Вам не пришлось платить больше, разработчики анализируют проект перед началом работы и оставляют только нужный функционал.
- Встроенное качество. На каждом этапе разработчик тестирует проект, вносит поправки и устраняет недочеты.
- Быстрая поставка отчетов. Для эффективной работы разработчику важна обратная связь, поэтому отчетность заказчику он предоставляет в срок и с подробностями.
- Общая оптимизация системы. Система оптимизируется не по отдельным процессам, а целиком.
Scrum
Scrum – самый популярный вид гибкой методологии разработки. Над проектом работает сплоченная команда программистов, у каждого есть своя роль и круг задач. Проект делят на функциональные части, раскрывают их на доске задач и приступают к работе, учитывая все детали.
Принципы Scrum:
- Структурированный процесс. Работа над проектом разделена на этапы, состоящие из задач, у каждой задачи есть ответственный исполнитель и строгие дедлайны.
- Поэтапная отчетность. Отчет о работе по завершению каждого этапа.
- Подведение итогов командой разработчиков. Скрам-митинг и ретроспектива. Практики скрам, основанные на командном обсуждении задач и их решении.
- Изменения в проекте без потерь. В процессе разработки исполнитель держит связь с заказчиком, что бы не упустить ни одной детали.
- Поэтапное тестирование функционала. Что бы выполнять работу по плану и не собирать в конце список лишних задач, разработчик тестирует каждый элемент перед запуском.
В своей практике мы сочетаем принципы всех представленных методологий. Стараемся оптимизировать рабочий процесс и выявляем лучшие варианты совмещения Scrum, Канбан и Lean.