Если в обсуждении участвуют несколько заказчиков (пользователей), их вклад в проект часто разномасштабный. Кто-то более внимателен и вносит много предложений, а другой сидит молча. Обсуждение проекта с широким охватом может и вовсе проходить на форуме.
Существует несколько методик, относящихся к классу гибких методологий разработки, в частности экстремальное программирование, DSDM, Scrum, FDD. Любой метод управления проектами должен отвечать потребностям бизнеса и удовлетворять команду. Иногда оказывается, что для конкретного проекта больше подходит классический способ управления — составление чёткой технической документации и разработка согласно методологии разработки ПО Agile этому документу. Для некоторых команд подходит только часть принципов гибкой разработки, и это тоже абсолютно нормально. В 90-е годы ХХ века внутри среды разработчиков возникла целая серия «лёгких методологий» — сочетание формализованного и неформального подхода. А в 2001 году лидеры движения решили собраться вместе и обсудить — а не пора ли свести воедино наши принципы и результаты.
Таким организациям помогают, в частности, подходы SAFe (Scaled Agile Framework) и LeSS (Large-Scale Scrum), а также нехитрая практика Scrum of Scrums. Это — тройка наиболее популярных подходов к масштабированию Agile, как показывает то же исследование Agile в России. Следование этим ценностям повышает скорость разработки и бизнес-эффект от разрабатываемых продуктов.
В заключение, давайте подытожим основные моменты и выразим значение Agile в будущем разработки ПО. Заказчик активно участвует в планировании и обсуждении требований, а также получает регулярные обновления о прогрессе и может корректировать планы в соответствии с изменяющимися потребностями. Члены команды регулярно обмениваются информацией, обсуждают прогресс и решают вопросы, которые могут возникнуть в ходе разработки. Это помогает избежать недопонимания и улучшает согласованность работы. Если Вам необходима разработка программного обеспечения на заказ, обращайтесь в АРСИС.
Итеративная (инкрементальная) Модель / Incremental Improvement
В продуктовых компаниях все задачи часто помещают в одну очередь. В итоге разработчики стрессуют из-за объема задач и дедлайнов, хватаются за разные таски, переключаются между ними и с трудом доводят дела до конца. А если прилетает что-то незапланированное, работа может встать на неопределенный срок. Работа в команде делится на короткие повторяющиеся циклы, которые называются спринтами и обычно длятся 1-4 недели. При этом команда собирается на ежедневные митинги (стендапы), чтобы обсудить текущие задачи и препятствия, которые предстоит преодолеть.
- С английского agile переводится как «подвижный, быстрый, проворный».
- В итоге компания в короткие сроки создает продукт, а затем дорабатывает его по запросам заказчика и пожеланиям целевой аудитории.
- Поскольку ваша команда регулярно разрабатывает версии продукта и сразу получает реакцию клиента, риск провала проекта сокращается до минимума.
- Agile-команда имеет общую цель и достигает ее наиболее эффективным, по ее мнению, способом.
- DevOps и agile — это культурные движения, которые вдохновляют организации на достижение более высоких результатов.
Главное, чтобы выбранный способ удовлетворял потребностям проекта. Гибкость приветствуется даже в выборе методологии этой самой гибкости. Доступно проиллюстрирует идею XP способ «парного программирования».
Xp — Экстремальное Программирование
В данной статье рассматриваются основные принципы и особенности Agile-разработки ПО, методологии, которая стала стандартом в индустрии разработки программного обеспечения. Мы рассмотрим, что такое Agile, какие преимущества она предоставляет, и какие ключевые принципы лежат в ее основе. Это приводит к снижению качества продукта и накоплению дефектов (см. «технический долг»).
Вовлеченность в проект нескольких команд делает рабочий процесс менее прозрачным. Кроме того, менеджеру, руководителю и заказчику становится все сложнее следить за прогрессом проекта, контролировать его реализацию и вносить изменения. Каждая методология воплощает в себе принципы частых итераций, непрерывного обучения и высокого качества производимого продукта. За последние 20 лет с момента создания манифест приняли многие команды и организации из разных профессиональных сфер.
Чтобы ускорить процесс разработки, люди также должны взаимодействовать напрямую (без посредников в виде документов или других людей), активно общаться между собой лично, а не письменно. Правда, в современном бизнесе общение часто вынуждено переходить в онлайн. Но тогда это должна быть видеосвязь с интерактивными онлайн-досками, а не только письма и чаты. Ценности Agile родились в 2001 году в Agile-манифесте — в результате обобщения многих тогдашних «методологий разработки» их авторами. Примерно на те же принципы можно ориентироваться в других сферах жизни, если хочется внедрить гибкий подход. Очень прижилась в стартапах, поскольку подошла под теорию работы в условиях неопределённости — и когда надо минимизировать потери, работать без прибыли и снизить издержки.
Но я приведу лишь four книги, которые слабо пересекаются друг с другом по назначению. Две первые книги подходят для первого ознакомления с Agile, две вторые — скорее для тех, кто уже применяет гибкие подходы в работе. Во-первых, помимо ценностей, в Agile-манифесте есть также 12 принципов, которые уточняют и дополняют ценности. Что касается готовности к изменениям со стороны представителей заказчика (клиента), то в такой ситуации они могут пожертвовать чем-то запланированным (но менее ценным) ради новых возможностей. Готовность заказчика оперативно жертвовать какой-то частью запланированного также нужна в ситуации, когда исполнители столкнулись с непредвиденными проблемами в ходе разработки.
Но руководствуясь только этими идеями и принципами, выстроить рабочие процессы нельзя. Поэтому принято считать, что Agile — это класс, в рамках которого существует ряд прикладных методологий. Следующий этап — разработка — может занять от нескольких дней до недель. Создается программный код, интегрируется в продукт, выполняется тестирование. Когда новая функциональность полностью готова к работе, компилируется очередная версия программы и исполняемый файл отправляется к пользователям. Теоретически в Waterfall возможен возврат на предыдущие ступени — например, если оказывается, что ту или иную задачу невозможно выполнить по техническим причинам.
Leave a Reply