Как разработать “проект-огонь” с методологией Agile?
Если вы хотите найти оптимальный управленческий метод для создания таких проектов, Agile методология - верное решение. В этой статье я попытаюсь объяснить почему.
Что такое Agile?
Agile-методология в программной инженерии (гибкая методология разработки) - это система методов, основанных на итеративной разработке. В соответствии с этим типом разработки, решения развиваются на основе организованного взаимодействия внутри кросс-функциональных команд. Метод не предполагает каких-либо конкретных рекомендаций, все принципы в нем гибкие.
Система методов Agile обеспечивает процессы управления, которые содержат подотчетность, философию управления и лучший инженерный опыт.
Термин впервые употребили в 2001 году в США в штате Юта во время собрания 17 разработчиков, которые обсуждали свои идеи и программные подходы. Совокупность ценностей и принципов, предложенных ими, легла в основу Манифеста гибкой методологии разработки.
Что такое методология Agile в разработке программного обеспечения? 12 принципов Манифеста методологии
Как пользоваться Agile?
Цикл разработки состоит из 6 гибких этапов. Некоторые из них могут протекать параллельно. На словах распределение этапов может показаться непростым, поэтому процесс Agile-разработки визуализируют, используя, например, диаграммы Ганта.
6 этапов Agile-разработки:
- План. После того, как определена идея, проектная группа должна спланировать основной функционал. Главная цель этого этапа заключается в грамотном разделении идеи на разные части.
- Анализ требований. Этот этап подразумевает постоянные встречи с менеджерами и пользователями с целью выявления потребностей и задач бизнеса. Важно отмечать все детали. Например, кто будет пользоваться продуктом и для чего. Требования должны быть измеримыми и актуальными.
- Дизайн/разработка. После определения требований, можно работать с дизайном программного обеспечения и думать о том, как продукт будет выглядеть в конечном результате.
- Внедрение, кодирование и развитие. А также создание и начальное тестирование основных функций.
- Тестирование. Специалисты проверяют код, чтобы убедиться, что продукт соответствует потребностям клиента. Этот этап включает в себя тестирование модулей, интеграций и систем.
- Выпуск. После всех видов тестирования, продукт передается заказчику.
Что такое гибкая методология разработки?
Инструменты Agile сконцентрированы на гибкости и усовершенствовании. Здесь мы объединили несколько основных преимуществ методологии Agile.
Как это работает? 6 ключевых преимуществ Agile для менеджеров проектов:
- Приспособиться к изменениям в ходе реализации проекта с более короткими циклами планирования не составляет труда. Вы всегда можете уточнить и изменить приоритеты по отстающим вопросам. Также позволить команде вносить изменения в проект.
- Конечная цель может быть невидимой. Методология Agile может быть полезна для проектов с неопределенными конечными целями.
- Высокое качество и быстрые стандарты доставки. Из-за разбивки проекта на итерации, команды могут быть сфокусированы на разработке и тестировании.
- Сильное взаимодействие команды. Методология обеспечивает прямое взаимодействие. Люди могут работать вместе и совместно брать на себя ответственность.
- Клиенты могут работать в тесном сотрудничестве с командой. Они могут внести свой реальный вклад и оказать воздействие на продукт.
- Постоянное улучшение. Проекты на основе метода Agile подразумевают обратную связь от пользователей и членов команды.
Читайте также: Критерии успешности проекта.
5 главных недостатков метода
Гибкость методологии довольно высока, но иногда происходят некоторые заминки. Вот некоторые недостатки гибкого метода программной разработки:
- Процесс планирования может быть менее конкретным. Иногда бывает трудно определить конкретную дату поставки. Некоторые элементы, запланированные к реализации, могут не быть завершены в срок. Это происходит потому, что менеджеры часто вносят изменения приоритетов при решении текущих задач.
- Команда должна знать все детали и факты. Как правило, команды Agile-проектов небольшие, и их участники должны быть «подкованы» в разных областях.
- Время для развития. Успешное Agile-движение происходит тогда, когда команда полностью посвящена проекту.
- Команды часто забывают о документации. Лучше всего найти баланс между бумажными вопросами и личными встречами.
- Конечный продукт может сильно отличаться от того, что было изначально задумано. Вы можете добавлять новые итерации, поскольку метод подразумевает гибкость.
Основные обязанности менеджера Agile-проектов:
- Поддержание всех активностей и ценностей в проектной команде.
- Устранение помех и препятствий.
- Проведение и модерирование всех совещаний.
- Обсуждая путей преодоления препятствий.
- Работа с приоритетами, усиление отстающих вопросов в рамках процессов.
- Мотивирование. Руководители проектов должны быть основными мотиваторами для своих команд.
Читайте также: О методе критического пути (critical path method) и иерархической структуре управления.
Сравнение гибких методологий
Вы можете попробовать разные инструменты управления проектами в рамках Agile-движения. Перечислим некоторые из них:
Список методов Agile:
XP (Extreme Programming)
Extreme Programming представляет собой специфический метод разработки программного обеспечения, который предназначен для повышения оперативности и качества обслуживания для развития потребностей клиентов. Он выступает за частые "выпуски" в коротких циклах разработки.
Экстремальное программирование названо так потому, что преимущественные элементы традиционной практики разработки программного обеспечения подняты на «экстремальный» уровень.
FDD (Feature driven development)
FDD (разработка, управляемая функциональностью) - итеративный и постепенный процесс разработки программного обеспечения, который включает в себя лучшие практики отрасли в единую методологию. Процесс имеет 5 ключевых активностей: разработка базовой модели, построение списка функций, дизайн по функциям, план на основе функций и построение с помощью функций.
ASD (Adaptive system development)
Согласно методу адаптивного развития системы, проекты всегда должны быть в состоянии постоянной адаптации. ASD система состоит из 3 повторяющихся серий: предполагать, сотрудничать и учиться.
Kanban
Название метода происходит от японского слова, которое означает "визуальные карты или бильборд". Это наглядная основа внедрения Agile, которая способствует мелким и непрерывным изменениям в существующей системе проекта.
Разработчики используют Kanban для поддержания производственной системы и в качестве способа для оптимизации. Основное преимущество этого метода в том, что он позволяет избежать перегрузки системы производства.
Crystal Clear
Crystal Clear – еще один пример методологии Agile. Он чаще всего используется командами из 6- 8 разработчиков. Crystal Clear преимущественно сфокусирован на людях, а не на процессах.
У метода свои сильные стороны: фокусировка, личная безопасность, легкий доступ к опытным пользователям и автоматизированным тестам.
Scrum
Scrum лучше всего отражает функции Agile-управления. Спринты длятся 1-2 недели и позволяют командам поставлять программное обеспечение на регулярной основе.
Scrum-разработка: участники процесса
В управлении проектами с помощью Scrum обязанности распределены между владельцем продукта, Scrum-мастером и командой.
- Владельцы продукта несут ответственность за все бизнес-вопросы проекта. Они имеют право принимать решения о продукте и могут сбалансировать все приоритеты.
- Scrum-мастер помогает членам команды работать вместе и получить наиболее эффективные результаты. Он устраняет препятствия, отслеживает прогрессы и проблемы, облегчает обсуждения, организовывает встречи и т.д.
- В Команде распределены роли управления и достижения целей продукта. Члены команды решают, какие технические методы лучше всего подходят для целей, кто должен работать над конкретными задачами и т.д.
5 ресурсов для работы с Agile-проектами
JIRA
Одна из классических систем для решения задач и управления проектами онлайн. Задачи в JIRA состоят из названия, типа, темы, приоритетности, содержания и компонентов.
Сервис предлагает управленцам множество конфигурации и решений непрофильных задач, таких как управление рисками, автоматизации рекрутинга и др.
HP Agile Manager
Разработка компании HP пользуется популярностью у управленцев за простой и интуитивно понятный дизайн, а также собственную облачную архитектуру. Программа помогает освоить передовые методы работы и ускорить доставку качественных мобильных приложений. Она стимулирует использование различных методологий Agile и способствует совершенствованию программного обеспечения.
GanttPRO
Сервис, основанный на использовании онлайн диаграмм Ганта, помогает создавать объемные проектные планы за короткое время и позволяет качественно руководить ими. Менеджеры могут делиться полученными графиками и экспортировать их в отчеты, бизнес-планы и презентации.
Всегда удобнее воспринимать визуальную информацию, чем текст. Диаграмма Ганта является одним из наиболее удобных и простых способ визуализировать любой процесс разработки.
Basecamp
Сервис, известный аж с 2004 года, постоянно подвергается обновлениям и инновационным правкам. Разработчики Basecamp постоянно выпускают виджеты и плагины для интеграции, предоставляют доступ к API, поддерживают мобильные клиенты.
Менеджеры выбирают этот сервис для работы с Agile-проектами за простой и понятный интерфейс, возможность создавать собственные дополнения, доступность для преподавателей и студентов.
Bipulse
Сервис для планирования и управления проектами позволяет предсказывать сроки завершения проекта на основе Agile-метрик, рассчитывать календарное расписание критической цепи, интегрироваться с популярными трекерами задач и многое другое.
Пример работы с проектом в JIRA:
Пример работы с проектом в GanttPRO:
А вы использовали методологию Agile в своей работе?
Что вы можете сказать о результатах вашего проекта?
Получился ли тот самый “огонь”?!