Поговорим о том, что представляет собой методология Agile, как она работает, как устроена Agile-команда и почему это направление так популярно.
Понятие Agile
Agile (или «гибкая разработка») – это не отдельная методология, а целая серия методик, объединенная в единое явление. То есть это набор практик, позволяющих более эффективно развивать проекты за счет измененного подхода как к организации команды, так и к отношению к выполняемой работе в целом.
Описываемая методология отличается от других стратегий, так как не подразумевает «управление» в его классическом понимании и акцентирует внимание на взаимодействии разных сотрудников друг с другом независимо от занимаемых должностей и иерархии в компании.
Основные принципы
В манифесте «гибкой разработки» лежат четыре ценности:
-
Штат сотрудников важнее используемых инструментов. Нужно ориентироваться на найм профессионалов и создание эффективной рабочей среды для них, нежели подгонять все под требования используемого ПО и т.п.
-
Важен продукт. Поэтому нужно с ходу акцентировать внимание на качестве создаваемого приложения, а не на документации, прилагающейся к нему.
-
Лояльное взаимодействие с заказчиком должно быть важнее заключенного контракта. Гибкость должна проявляться и в отношении клиентов.
-
Сотрудники должны уметь быстро адаптироваться под изменяющиеся условия, а не всегда строго действовать по плану.
Классическая методика управления проектами
В стандартной методологии управления существует ряд проблем, таких как:
-
задержки в выполнении всей работы из-за задержек в работе одной из частей команды;
-
большие потери времени на этапе планирования проекта;
-
трата сил и времени на попытки четко следовать намеченному плану.
Чтобы их решить, нужно отказаться от действующей парадигмы разработки, когда вся команда строится по иерархии, а реализация проекта сводится к поэтапному решению задачи за задачей. Нужно перейти на гибкую модель, позволяющую сместить фокус с обозначенных проблем и повысить общую эффективность.
«Сделано» – лучше, чем «идеально»
Одна из главных отличительных черт Agile-методологии – фокусировка на результате. Agile-команда не тратит время на подготовку документации и избыточное планирование. Она сразу переходит к разработке и пытается в кратчайшие сроки предоставить рабочее демо – прототип, который заказчик сможет самостоятельно оценить уже на ранних этапах реализации идей.
Исповедуя Agile, программисты реализуют функцию за функцией. Каждый этап разработки именуется итерацией. Он длится одинаковый период времени, а его итогом должно стать появление в развиваемом продукте новой функции (или ряда функций).
Итерации ускоряют разработку и позволяют вывести на рынок функциональное приложение за гораздо меньший период времени, чем при использовании классических методов.
Как организована Agile-команда
В Agile-команде почти все сотрудники равны. Вместо вертикальной иерархии используется горизонтальная схема. Даже владелец продукта здесь является не руководящим лицом, а носителем информации о том, каким должен быть итоговый результат. Он не выше и не ниже рядовых разработчиков.
В подобной команде необходимо сформировать коллективную ответственность, чтобы каждый разработчик без «приказов сверху» принимал участие в развитии проекта, генерировал идеи, делегировал задачи и т.п.
Также важной чертой члена Agile-команды является стремление к расширению своих компетенций. Программисты помогают маркетологам, маркетологи погружаются в код. Все тесно взаимодействуют во благо конечного продукта.
Как внедрить Agile в свою компанию
При внедрении «гибкой разработки» придется пожертвовать действующими принципами работы и внести три крупных изменения в деятельность команды:
-
Упразднить классическую иерархию и прийти к тому, чтобы все разработчики, маркетологи и менеджеры могли нести персональную ответственность за продукт и его развитие.
-
Вынудить всех работать в режиме итераций и с каждой итерацией привносить в разрабатываемый продукт что-то новое и в то же время значимое.
-
Доходчиво объяснить заказчикам и начальству новый принцип работы и донести выгоды, которые он в себе несет, чтобы по ходу деятельности не возникло недопониманий.
По началу эти изменения сильно ударят по привычному ритму работы. Классическая методология не отпустит сразу и долгое время будет о себе напоминать, но после нескольких итераций выгоды от перехода на новую методологию станут ощутимы.
Вместо заключения
Внедрение Agile – непростая задача. Возможно, понадобится более глубоко изучить тему, опираясь на материалы пионеров в этой области, или же пройти дополнительные курсы, так как на начальных этапах перехода сотрудникам все же потребуется менеджер, знающий, во что должна превратиться команда и как этого достичь с минимальными потерями.
Комментарии