AGILE

AGILE

AndTseren

 Agile - семейство гибких итеративно-инкрементальных методов к управлению проектами и продуктами. Согласно данному подходу, проект разбивается не на последовательные фазы, а на маленькие подпроекты, которые затем "собираются" в готовый продукт.


Основополагающие принципы Agile-манифеста:

1. Наивысшим приоритетом является удовлетворение потребностей заказчика.

2. Изменение требований приветствуется на любой стадии разработки. Изменения обеспечивают заказчику конкурентные преимущества.

3. Работающий продукт следует выпускать как можно чаще.

4. На протяжении всего проекта разработчики и заказчик должны ежедневно работать вместе.

5. Над проектом должны работать мотивированные специалисты. Для этого необходимо создать условия, обеспечить поддержку и доверять.

6. Для эффективного обмена информацией с самой командой и внутри команды подходит непосредственное общение.

7. Основной показатель прогресса – работающий продукт.

8. Процесс разработки должен быть постоянным и устойчивым.

9. Внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.

10. Минимизация лишней работы.

11. Только самоорганизующиеся команды предлагают лучшие архитектурные и технические решения.

12. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.

Сильные стороны Agile

Самое главное достоинство Agile - его гибкость и адаптивность. Он может подстроиться под практически любые условия и процессы организации. Именно это обуславливает его нынешнюю популярность и то, сколько систем для различных областей было создано на его основе.

Одна из основных идей Agile: "Реакция на изменения важнее следования плану". Именно быстрая и относительно безболезненная реакция на изменения является причиной тому, что многие крупные компании полностью перестраивают свои системы управления проектами. Кроме того, Agile отлично подходит для проектов с "открытым концом" - например, запуску сервиса или блога.

Слабые стороны Agile

Как часто бывает, слабые стороны являются отражением сильных. В случае с Agile, гибкость может приводить к потере фокуса. Отсутствие чёткого процесса и процедур, разбиение проекта на подпроекты и частые изменения, при отсутствии чёткого направления со стороны руководства может привести к потере ориентиров и понимания того, что важно, а что вторично.

Чтобы этого избежать можно создать и закрепить собственный метод на основе Agile и прописать в нём чёткие процессы и процедуры. А можно применить уже готовые фреймворки - такие как Scrum или Kanban.

Scrum

Гибкий фреймворк, созданный в 1986 году, считается самым структурированным из семейства Agile. Созданный в 1986 году, он сочетает в себе элементы классического процесса и идеи гибкого подхода к управлению проектами. В итоге получилось очень сбалансированное сочетание гибкости и структурированности.

Следуя заветам Agile, Scrum разбивает проект на части, которые сразу могут быть использованы Заказчиком для получения ценности, называемые заделами продуктов (product backlog). И несмотря на то, что "задел продукта" - достаточно верный перевод и используется в профессиональной литературе, в российской практике чаще всего используется просто "беклог". Затем эти части приоретизируются Владельцем продукта - представителем Заказчика в команде. Самые важные "кусочки" первыми отбираются для выполнения в Спринте - так называются итерации в Scrum, длящиеся от 2 до 4 недель. В конце Спринта Заказчику представляется рабочий инкремент продукта - те самые важные "кусочки", которые уже можно использовать. Например, сайт с частью функционала или программа, которая уже работает, пусть и частично. После этого команда проекта приступает к следующему Спринту. Длительность у Спринта фиксированная, но команда выбирает её самостоятельно в начале проекта, исходя из проекта и собственной производительности. Чтобы удостовериться в том, что проект отвечает требованиям Заказчика, которые имеют свойство изменяться со временем, перед началом каждого Спринта происходит переоценка ещё не выполненного содержания проекта и внесение в него изменений. В этом процессе участвуют все - команда проекта, Scrum Мастер (Scrum Master, лидер команды проекта) и Владелец продукта. И ответственность за этот процесс лежит на всех.

Сильные стороны Scrum

Scrum был разработан для проектов, в которых необходимы "быстрые победы" в сочетании с толерантностью к изменениям. Кроме того, этот фреймворк подходит для ситуаций, когда не все члены команды имеют достаточный опыт в той сфере, в которой реализуется проект - постоянные коммуникации между членами командами позволяют недостаток опыта или квалификации одних сотрудников за счёт информации и помощи от коллег.

Онлайн телеканал Netflix является отличным примером быстрых поставок результатов. Сайт ресурса обновляется каждые две недели благодаря Scrum, который не просто позволяет работать с высокой скорости, но и аккумулирует пользовательский опыт и даёт возможность выявить самое главное для клиентов.

В ходе каждой итерации, разработчики добавляют и тестируют новые функции сайта и убирают те, которыми не пользовались клиенты. По словам команды Netflix, основное преимущество Scrum в том, что он позволяет "быстро ошибаться". Вместо того, чтобы долго и с большими затратами готовить крупный релиз, поставки раз в две недели по Scrum имеют небольшой размер. Их легко отслеживать и, если что-то идёт не так, быстро исправлять.

Слабые стороны Scrum

Netflix испытали также и слабые стороны Scrum. Например, расстроенные и демотивированные разработчики, чей код и функции были признаны ненужными или некачественными. Многие считают, что это станет понятно лишь со временем. Кроме того, командам, привыкшим к длительным рабочими циклам будет сложно перестроиться на новый режим работы.

Также существует опасность увлечься встречами и артефактами Scrum в ущерб реальной работе над проектом.

Kanban

Kanban проще использовать для построения собственной системы управления проектами. Созданный инженером компании Toyota Тайичи Оно (Taiichi Ono) в 1953 году, Kanban очень похож на схему промышленного производства. На входе в этот процесс попадает кусочек металла, а на выходе получается готовая деталь. Также и в Kanban, инкремент продукта передаётся вперёд с этапа на этап, а в конце получается готовый к поставке элемент.

Кроме того, создатель Kanban вдохновлялся супермаркетами, а именно их принципом - "держи на полках только то, что нужно клиенту". А потому в Kanban разрешается оставить неоконченную задачу на одном из этапов, если её приоритет изменился и есть другие срочные задачи. Неотредактированная статья для блога, подвешенная без даты публикации или часть кода функции, которую возможно не будут включать в продукт - всё это нормально для работы по Kanban.

Kanban намного менее строгий, нежели Scrum - он не ограничивает время спринтов, нет ролей, за исключением владельца продукта. Kanban даже позволяет члену команды вести несколько задач одновременно, чего не позволяет Scrum. Также никак не регламентированы встречи по статусу проекта - можно делать это как Вам удобно, а можно не делать вообще.

Для работы с Kanban необходимо определить этапы потока операций (workflow). В Kanban они изображаются как столбцы, а задачи обозначают специальные карточки. Карточка перемещается по этапам, подобно детали на заводе, переходящей от станка к станку, и на каждом этапе процент завершения становится выше. На выходе мы получаем готовый к поставке заказчику элемент продукта. Доска со столбцами и карточками может быть как настоящей, так и электронной - даже здесь Kanban не накладывает никаких ограничений на пользователей.

Сильные стороны Kanban

Как и Scrum, Kanban хорошо подходит для достаточно сплочённых команды с хорошей коммуникацией. Но в отличие от Scrum, в Kanban нет установленных чётких дедлайнов, что хорошо подходит для замотивированных и опытных команд.

При правильной настройке и управлении, Kanban может принести большую пользу команде проекта. Точный расчёт нагрузки на команду, правильная расстановка ограничений и концентрация на постоянном улучшении - всё это позволяет Kanban серьёзно экономить ресурсы и укладывать в дедлайны и бюджет. И всё это в сочетании с гибкостью.

Слабые стороны Kanban

Часто можно слышать, что по Kanban, в отличие от Scrum, можно работать с практически любой командой. Но это не совсем так. Kanban лучше всего подходит для команд, навыки членов которых пересекаются друг с другом. Таким образом они могут помогать друг другу преодолевать трудности при решении задач. Без этого Kanban будет не так эффективен, как мог бы быть. Также, как уже было сказано, Kanban лучше подходит в тех случаях, когда нет жёстких дедлайнов. Для жёстких дедлайнов лучше подходит классический подход или Scrum.


Список книг по AGILE:

Джефф Сазерленд "Scrum"

Дэвид Андерсон "Канбан"

Патрик Ленсиони "Пять пороков команды"




Report Page