Хотя гибкая методология полезна в ряде отраслей, она оказалась наиболее успешной в разработке программного обеспечения и в течение жизненного цикла разработки программного обеспечения (SDLC). Исходя из двенадцати основных принципов Agile Manifesto, гибкая методология включает в себя итеративные процессы, ориентированные на постоянный мониторинг и улучшение результатов.
Гибкие процессы были разработаны в качестве альтернативы традиционным методам водопада. Метод Waterfall - это последовательный процесс проектирования, который требует завершения шага, прежде чем перейти к следующему. Традиционно методология Waterfall оказалась успешной в строительстве; однако для более технических отраслей гибкий подход имеет большую ценность. Вместо того, чтобы следовать пошаговому подходу, все фазы проекта выполняются параллельно. Гибкие процессы пытаются справиться с непредсказуемым характером цикла разработки, выявляя ошибки и устраняя необходимость полного перезапуска проекта.
Гибкая методология
Основным принципом гибкой методологии является удовлетворение и обеспечение ценности для клиента посредством постоянных результатов. Вместо того, чтобы заниматься одним большим проектом в течение длительного периода времени, гибкие методы разбивают проект на более мелкие, более простые и более управляемые задачи, которые можно эффективно и быстро выполнить.
Spotify признан за свои гибкие процессы: наименьшее групповое подразделение компании, называемое отрядами, ведет себя как автономный стартап. Каждый отряд фокусируется на определенной функции и выполняет итерацию на основе минимально жизнеспособного продукта, выпуская обновления рано и часто. По определению минимально жизнеспособный продукт - это новейшая версия продукта, которая позволяет команде собирать максимальное количество информации, необходимой для определения того, что работает, а что нет. В Spotify каждый отряд занимается небольшим проектом; тем не менее, каждый проект строится на общей цели создания большей потребительской ценности.
Поставляя продукт рано и часто, организации вынуждены устранять все, что не приносит пользы. Специалисты становятся экспертами в определенных областях цикла разработки, поскольку каждая небольшая группа в течение длительного периода времени фокусируется на одной миссии, что помогает выявлять и устранять ошибки. Принимая во внимание, что при использовании метода «Водопад» обратная связь предоставляется в конце проекта по истечении значительного времени, деньги и энергия уже были израсходованы, гибкая методология позволяет вносить изменения на протяжении непрерывной обратной связи. Благодаря непрерывной обратной связи и гибкости с точки зрения соблюдения первоначального плана, добавление или изменение функций позволяют организациям быть в курсе последних событий в своей отрасли.
Задачи в гибком проекте управляются итерацией. Итерация - это временные рамки, обычно от одной до двух недель, в течение которых потребности клиентов разрабатываются и превращаются в работающие, тестируемые продукты. Ключевой особенностью гибкой методологии является предположение, что проекты состоят из последовательности итераций. Команды могут использовать свою скорость, чтобы отслеживать, сколько они достигли за каждую итерацию, чтобы сохранить реалистичность планов и избежать чрезмерного выполнения. На каждой итерации отправляемый продукт завершается после анализа, проектирования, тестирования, обеспечения качества и взаимодействия с пользователем. Хотя все тонко настроенные функции могут отсутствовать, члены команды должны быть уверены, что они могут выпустить продукт, если потребуется.
Скрам методология
В гибкой методологии существует несколько структур, включая Scrum, Lean и Extreme Programming. Большинство организаций, которые переходят на гибкую методологию, предпочитают начинать со Scrum из-за ее простоты и гибкости. Скрам-проекты предоставляют компаниям и клиентам структуру ролей, встреч, а также правил. Члены команды несут ответственность за изучение и адаптацию процессов, чтобы справиться с непредсказуемостью.
Каждый Scrum-проект имеет задание или список дел. На этапе планирования в резерве заполняются задачи, цели и сроки выполнения. После обсуждения отставания проект разбивается на спринты, которые представляют собой период от одной до двух недель, нацеленный на выполнение ряда элементов отставания. Во время каждого спринта команда проводит ежедневные встречи для обсуждения текущего прогресса, будущего прогресса и любых факторов, препятствующих прогрессу. В конце каждого спринта все необходимые шаги должны быть выполнены в случае потенциального выпуска продукта.
Затем владелец продукта проводит обзор, чтобы определить, были ли все истории в журнале спринта достаточно заполнены. В это время ScrumMaster встречается с командой для ретроспективы. Члены команды размышляют над своими собственными процессами, чтобы адаптировать поведение для будущих спринтов. Очень важно, чтобы ScrumMaster избегал общих препятствий и создавал благоприятную среду для обсуждения. Из-за непредсказуемого характера разработки программного обеспечения и продуктов каждый спринт уникален и должен адаптироваться к изменениям.
Проекты Scrum осуществляются владельцем продукта, ScrumMaster и командой. Во время каждого спринта команда, состоящая из самоуправляемых людей, отвечает за определение и делегирование того, как она выполнит всю необходимую работу. В команде каждый член имеет область специализации; однако формальных названий или иерархии не существует. ScrumMaster - преданный человек, который устраняет препятствия и держит команду на правильном пути, обеспечивая при этом прозрачность отставания в спринте. Наконец, владелец продукта отвечает за создание и распространение концепции продукта и принимает решение о том, должны ли продукты проходить дальнейшую разработку или готовы к выпуску.
Суть
Широко используемая сегодня в разработке программного обеспечения, гибкая методология была разработана для работы, в которой отсутствуют определенные процессы. Гибкие методы, в отличие от последовательных подходов, не предназначены для повторяющихся видов работы. Многие отрасли имеют и продолжают внедрять гибкую методологию в свои бизнес-структуры.
Гибкая структура содержит несколько подмножеств, включая Scrum, бережливое и экстремальное программирование, которые помогают людям справиться с непредсказуемостью и гибкостью. На первый взгляд, гибкая методология может помочь улучшить сквозные процессы; однако, люди должны быть преданы, приспосабливаемы и способны учиться, чтобы это работало.