Часто коллеги или участники команды с энтузиазмом рассказывают о том, как перешли на Agile, описывая двухнедельные спринты, совещания по уточнению бэклога и другие мероприятия. Вам может показаться, что такой подход очень похож на Scrum. Основывается ли Scrum на Agile? Или же наоборот? Ответив на эти и другие вопросы, вы станете на шаг ближе к тому, чтобы подобрать правильную методику для своей команды.
Что такое agile?
Agile — это философия управления проектами, в которой используется набор принципов и ценностей, помогающих командам разработчиков программного обеспечения реагировать на изменения. Команды, следующие принципам Agile, ценят людей и взаимодействие, а не процессы и инструменты. Работающее ПО для них важнее исчерпывающей документации, сотрудничество с клиентами важнее согласования условий контракта, а готовность к изменениям важнее следования первоначальному плану. Эти ценности были изложены в Манифесте Agile вместе с 12 принципами, лежащими в основе манифеста.
Хороший способ понять методологию Agile — сравнить ее с другой философией управления проектами: каскадной моделью. В каскадной модели область работы над продуктом четко определена, а время и ресурсы гибкие. Организации, следующие каскадной модели, будут увеличивать количество программистов и растягивать график выпуска. чтобы поставить задуманный продукт.
В Agile область работы над продуктом гибкая, а ресурсы и время фиксированные. Команды, следующие принципам Agile, стремятся выпускать программное обеспечение вовремя и силами имеющихся на сегодняшний день участников. Их продукт представляет собой гибкое сочетание пожеланий клиента и того объема работы, который команда может выполнить за отведенное время.
Преимущества использования Agile
Команды, следующие принципам Agile, четко понимают причины и методы выполнения своей работы. С помощью принципов Agile команды разбивают большие амбициозные цели на посильные части, которые могут стабильно поставлять. Agile-разработчиков программного обеспечения вдохновляют бесчисленные истории о том, как небольшие команды, следующие принципам Agile, превосходят крупных конкурентов, использующих каскадную модель поставки. К тому же эти команды выигрывают от индустрии Agile. Существует множество ресурсов и инструментов для тех, кто хочет изучить методологию Agile, и целая армия консультантов, готовых помочь с ее внедрением.
Недостатки использования Agile
Принципы Agile могут завести вас туда, куда вы вовсе не планировали идти. С помощью Agile команды могут менять направление работы на основе реакции рынка и отзывов клиентов. В погоне за этими идеалами вы рискуете обнаружить, что ваша команда создала нечто совершенно отличное от задуманного. Это может нервировать. Может даже показаться, что у вас вообще нет определенного направления, потому что вы гоняетесь за новыми возможностями и идете на поводу у отзывов клиентов, уводящих вас в новых направлениях. Из-за таких противоречивых результатов не все команды и компании могут работать по методике Agile. Однако команды, которые решают преодолеть эти препятствия, часто обнаруживают, что в итоге могут предложить своим клиентам более качественный продукт.
Что такое Scrum?
Scrum — это agile-методика, с помощью которой команды могут структурировать работу посредством коротких циклов разработки, называемых спринтами. Scrum-команды поставляют результат в конце каждого спринта, а также внедряют практики и структуру рабочей группы, которые помогают им достичь этой периодичности. Методика Scrum позволяет пойти дальше: с ней команда сможет организовать работу так, чтобы иметь возможность применять принципы Agile в повседневной деятельности. Scrum — хорошо задокументированная agile-методика, которую многие команды могут внедрить без особых помех.
Преимущества использования методологии Scrum
Scrum-команды поставляют программное обеспечение вовремя. Вместо того чтобы информировать руководство о ходе работы, вы можете показать результат! После поставки программного обеспечения клиенты начинают его использовать. Дополнительные данные об использовании помогают определить дальнейшее направление развития и стимулируют рост. Кроме того, Scrum-команды, как правило, более здоровы, у них меньше выгорания и оттока сотрудников, чем у других. Это связано с тем, что методы Scrum, такие как планирование спринтов и ретроспективы спринтов, направлены на содействие всем участникам команды.
Недостатки использования методологии Scrum
Scrum — это подход «ва-банк». Чтобы добиться успеха, необходимо добавить новые роли, такие как scrum-мастер, и пересмотреть расписание всех участников в соответствии с заданной периодичностью собраний. У многих команд нет ресурсов для найма новых сотрудников и времени для новых собраний. Если коллективу не удастся полностью перестроиться, то его участники, скорее всего, не смогут реализовать преимущества Scrum. Кроме того, не все команды способны выдавать результат с требуемой частотой. Это приводит к снижению качества, из-за чего многие команды все больше продлевают свои спринты и в конце концов возвращаются к каскадной модели.
Другие методологии: Kanban и каскадная модель
Что такое Kanban?
Kanban — это методика Agile, которая помогает командам непрерывно поставлять результаты. Kanban-команды упорядочивают свою работу на доске Kanban с помощью карточек, столбцов, лимитов задач в работе, конкретных обязательств и точек поставки. Методика Kanban идеальна для работы в сфере накопления знаний, где, как правило, создаются нематериальные, а значит, не столь заметные продукты или услуги. Kanban помогает командам визуализировать достижения и продвигаться к цели изо дня в день.
Что такое каскадная модель?
В каскадной модели поставка ориентирована на разработку продуктов или решений на основе спецификаций клиента или бизнеса. Команды изучают требования и создают решение на протяжении недель, месяцев, а то и лет. Эту модель лучше всего использовать в регулируемых отраслях, где допустимые отклонения минимальны.
Представьте, что вы создаете хирургического робота, который должен безупречно выполнять задание в течение 100 часов, предписанных правительством. Это ограничение определяет вашу работу, а спецификация становится основой разработки. Ваша команда экспериментирует и тестирует робота до тех пор, пока он не будет соответствовать заданным спецификациям. Когда спецификации конкретны и строги, разработка по каскадной модели позволяет команде в первую очередь сосредоточиться на удовлетворении требований.
Как подобрать лучшую методологию для своей команды?
Если вы хотите начать agile-трансформацию, возможно, вам придется подобрать методологию. Agile-методологии включают структуру команды, практики и инструменты, необходимые для реализации принципов Agile в организации. Вы также можете самостоятельно видоизменять эти методологии. С помощью Манифеста Agile и творческого подхода вы можете разработать собственный подход, подходящий вашему бизнесу и команде.
Сравнение Agile и Scrum
В Agile нет установленных правил, тогда как в Scrum их довольно много. Если вы ищете методику, которая поможет вам повысить гибкость, Scrum станет отличным началом. С помощью Scrum ваша команда сможет быстро выполнять работу и при необходимости менять ее направление. Кроме того, уже сегодня вы можете воспользоваться шаблонами для ускоренного внедрения Scrum. Если же вы стремитесь к максимальной гибкости, вы можете вдохновить свою команду перейти на Agile. Agile-трансформация — это захватывающий процесс отказа от текущих методов и выстраивания гибкого способа работы.
Сравнение методики Agile и каскадной модели
Довольно редко приходится выбирать между Agile и каскадной моделью. Чаще возникает необходимость перейти от одного к другому. В такие моменты ключевую роль играет клиент. На что он больше ориентирован: на решение или на проблему? Если клиент знает, чего хочет, и готов заплатить за создание решения, можно выбрать каскадную модель. Если же клиент столкнулся с проблемой и вы хотите решить ее самостоятельно, выбирайте Agile.
Управление agile-проектами с помощью Jira
Сегодня agile-методики отлично поддерживаются инструментами управления проектами. Решение Jira имеет встроенную поддержку Kanban, Scrum и не только. Эксперты регулярно расширяют возможности Jira, чтобы поддерживать даже самые сложные agile-методики. Начните работу со знакомства с учебными руководствами по Agile.