Agile-методология что это такое, принципы и внедрение


Содержание материала:

Образование | Принципы гибкой методологии управления проектами Agile: почему люди важнее бюрократии

Ната­лья Бара­но­ва

Всего материалов: 583

Принципы гибкой методологии управления проектами Agile: почему люди важнее бюрократии

Аджайл (Agile) – фило­со­фия, опре­де­лен­ный образ мыш­ле­ния с систе­мой цен­но­стей. Сто­рон­ни­ки аджай­ла верят, что создать иде­аль­ный про­дукт или запу­стить про­ект могут само­сто­я­тель­ные коман­ды из про­фес­си­о­на­лов. Замре­дак­то­ра Теп­ли­цы Ната­лья Бара­но­ва попро­си­ла мене­дже­ра «Аль­фа-бан­ка» Арте­ма Мол­ча­но­ва про­ком­мен­ти­ро­вать основ­ные прин­ци­пы, напи­сан­ные в мани­фе­сте гиб­кой раз­ра­бот­ки Agile.

Раз­ра­бот­чи­ки и прак­ти­ки новых под­хо­дов раз­ра­бо­та­ли мани­фест гиб­кой раз­ра­бот­ки про­грамм­но­го обес­пе­че­ния (Agile Manifesto) в 2001 году. В нем они обо­зна­чи­ли четы­ре посту­ла­та и заяви­ли, что люди, про­дукт, готов­ность к изме­не­ни­ям и сотруд­ни­че­ство с заказ­чи­ка­ми гораз­до выше бюро­кра­ти­че­ских доку­мен­тов, дол­гих согла­со­ва­ний и пла­на.

В it-под­раз­де­ле­нии бан­ка «Аль­фа-лабо­ра­то­рии» четы­ре года исполь­зу­ют прин­ци­пы, опи­сан­ные в мани­фе­сте. Под­раз­де­ле­ние из 300 чело­век поде­ле­но на 29 команд, все зани­ма­ют­ся раз­ра­бот­кой и улуч­ше­ни­ем интер­нет-бан­ка и дру­ги­ми it-про­дук­та­ми. Артем Мол­ча­нов убеж­ден, что бла­го­да­ря новым под­хо­дам уве­ли­чи­лась ско­рость созда­ния про­дук­тов, а сотруд­ни­ки ста­ли луч­ше пони­мать запро­сы кли­ен­тов.

Принцип 1: «Люди и взаимодействие важнее процессов и инструментов»

Мно­гие интер­пре­ти­ру­ют этот прин­цип так: «Люди – важ­но, а инстру­мен­ты – неваж­но». Это невер­но. Важ­ны и люди, и инстру­мен­ты. Но в при­о­ри­те­те то, как люди вза­и­мо­дей­ству­ют меж­ду собой. Напри­мер, в клас­си­че­ском под­хо­де рабо­ты в ком­па­ни­ях фокус сме­щен дале­ко не на людей. «Идем по голо­вам, что­бы достиг­нуть резуль­та­та» – таков прин­цип. Но в аджайл все наобо­рот: важ­нее раз­ви­вать потен­ци­ал людей и рабо­тать сооб­ща. В ито­ге сотруд­ни­ки рабо­та­ют коман­да­ми, отве­чая за резуль­тат не в оди­ноч­ку, а вме­сте.

Принцип 2: «Работающий продукт важнее исчерпывающей документации»

90% людей до сих пор при­хо­дят ко мне и гово­рят: «Мы же рабо­та­ем по аджайл, у нас нет доку­мен­та­ции, как понять этот прин­цип?». Дело в том, что в аджайл тоже есть доку­мен­та­ция и дого­во­ры, про­сто эти ком­по­нен­ты на вто­ром плане. Важ­нее конеч­ный про­дукт, кото­рым кли­ент будет поль­зо­вать­ся.

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

Все пото­му, что ушло слиш­ком мно­го вре­ме­ни на реше­ние бюро­кра­ти­че­ских вопро­сов и не было сил и воз­мож­но­сти про­те­сти­ро­вать про­дукт, полу­чить обрат­ную связь от кли­ен­та. Так что рабо­та­ю­щий про­дукт все­гда при­о­ри­тет­нее, чем фор­маль­ная доку­мен­та­ция.

Принцип 3: «Сотрудничество с заказчиком важнее согласования условий контракта»

Об этом прин­ци­пе мно­гие забы­ва­ют, но он допол­ня­ет самый пер­вый – про важ­ность вза­и­мо­дей­ствия людей. В клас­си­че­ском под­хо­де рабо­та над про­ек­том выгля­дит так: it-под­раз­де­ле­ние и биз­нес-под­раз­де­ле­ние рабо­та­ют отдель­но. Биз­нес в роли заказ­чи­ка при­ду­мы­ва­ет, заки­ды­ва­ет тему раз­ра­бот­чи­кам, через пол­го­да при­хо­дит и спра­ши­ва­ет резуль­тат. Но за этот срок ниче­го не сде­ла­но.

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

Мы исправ­ля­ли эту ситу­а­цию, дей­ствуя по аджайл, – посто­ян­но обща­лись с заказ­чи­ком, со вре­ме­нем у нас вооб­ще ушло из речи сло­во «заказ­чик». Он для нас стал «вла­дель­цем про­дук­та», а мы его коман­да, и толь­ко в отче­тах он заказ­чик.

Сотруд­ни­че­ство в том и про­яв­ля­ет­ся, что меня­ет­ся отно­ше­ние, все гово­рят на рав­ных. Нет иерар­хии и началь­ни­ков. Парт­нер­ское вза­и­мо­дей­ствие при­бли­жа­ет всех к рабо­та­ю­ще­му про­дук­ту.

Принцип 4: «Готовность к изменениям важнее следования первоначальному плану»

Этот прин­цип зача­стую интер­пре­ти­ру­ют невер­но: «Что бы ни про­изо­шло – это изме­не­ния». Этим тези­сом очень лег­ко мани­пу­ли­ро­вать. Допу­стим, вла­де­лец про­дук­та понял, что не учел что-то важ­ное и все про­па­ло. Он экс­трен­но обра­ща­ет­ся к коман­де и гово­рит: «Мы все пере­иг­ра­ли, будем делать вот так». Коман­да в недо­уме­нии: «Мы же так не дого­ва­ри­ва­лись», а вла­де­лец пожи­ма­ет пле­ча­ми и аргу­мен­ти­ру­ет: «Ну, изви­ни­те, у нас аджайл». Но этот прин­цип вовсе не о подоб­ном хао­се в рабо­те.

Раз в неде­лю коман­да соби­ра­ет обрат­ную связь от кли­ен­та и пони­ма­ет, что нуж­но изме­нить, что­бы улуч­шить про­дукт. С эти­ми поже­ла­ни­я­ми она при­хо­дит к вла­дель­цу про­дук­та. Начи­на­ет­ся рабо­та по совер­шен­ство­ва­нию. Готов­ность к изме­не­ни­ям – это когда коман­да пони­ма­ет: «Да мы сде­ла­ли не то, но мы же здра­вые люди, давай­те поме­ня­ем нашу модель пове­де­ния и все испра­вим».

Нуж­но пони­мать, что внед­ре­ние и осо­зна­ние любой фило­со­фии тре­бу­ет мно­го вре­ме­ни. Мно­гие люди при­хо­дят и ухо­дят. Кто-то быва­ет не готов к тако­му под­хо­ду, и может доб­ро­воль­но поки­нуть ком­па­нию. Дру­гие про­фес­си­о­наль­но раз­ви­ва­ют­ся, меня­ют отно­ше­ние к рабо­те: счи­та­ют ее самой люби­мой, важ­ной и инте­рес­ной, в общем, полу­ча­ют удо­воль­ствие. Когда мы ищем новых сотруд­ни­ков, мы обя­за­тель­но подроб­но рас­ска­зы­ва­ем, как рабо­та­ем.

Что такое Agile-подход и зачем он нужен бизнесу?

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

Agile («аджайл») — слово, которое последнее время звучит из каждого утюга. Но что такое Agile и, главное, зачем этот Agile нужен?

Если открыть толковый словарь, например, Оксфордский, то можно прочитать там, как минимум, два определения:

  1. Able to move quickly and easily.
  2. Able to think and understand quickly.

То есть, чтобы быть agile, надо уметь быстро и легко двигаться и быстро соображать. Кажется, довольно полезные качества, особенно в бизнесе. Быстро соображать и быстро реагировать — это именно то, что доктор прописал, для нашего времени, иначе просто не выжить: конкуренты сожрут. В мире всё меньше отраслей, где этих конкурентов, нет. Да ещё скорость копирования практически лишает возможности вывести продукт на рынок и почивать на лаврах. Без способности быстро адаптироваться к изменениям, которую даёт так называемая «методология Agile», выживать всё сложнее.

Я не случайно беру выражение «методология Agile» в кавычки, потому что его можно часто услышать, но оно не совсем верное. Если не вдаваться в технические детали, то Agile — это не методология, а собирательное название различных методик и подходов к управлению, которые:

  1. Фокусируют команду на нуждах и целях клиентов.
  2. Упрощают оргструктуру и процессы.
  3. Предлагают работу короткими циклами.
  4. Активно используют обратную связь.
  5. Предполагают повышение полномочий сотрудников.
  6. Имеют в своей основе гуманистический подход.
  7. Не являются конечным состоянием, а, скорее, образом мышления и жизни.

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

Фокусировка на нуждах и целях клиентов

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

Самое главное, что фокусировка на клиенте при Agile-подходе появляется не в одной только голове владельца бизнеса (она там и так уже есть), а у всех, кто работает над созданием продукта или сервиса. Каждый участник процесса должен понимать, кто клиент, чего он хочет, какие его проблемы мы решаем своим продуктом, что он любит, чего боится и так далее. Такая всеобщая фокусировка позволяет создавать на порядок более качественные решения. Я неоднократно сталкивался с ситуацией, когда люди, раньше отвечавшие за какой-то маленький кусочек работы, поняв цели клиента, начинали выдавать замечательные идеи, а люди, которые отвечают за разработку продукта, с удивлением за ними записывали. Или — как на групповых сессиях проработки продукта подобные идеи оттачиваются разными людьми и дополняют друг друга, из просто хороших превращаясь в отличные. И, конечно, как они потом реализуются.

«Инструменты работы» в данном случае — это непродолжительные по времени, но насыщенные сессии (встречи) всех участников работы или ключевого большинства, где происходит генерация и тестирование различных идей. Эти же встречи служат для выравнивания понимания и фокусировки: все участники встречи на выходе понимают, что они делают, зачем, и почему это важно для клиента. А демократичный формат воркшопа, в отличие от скучных презентаций, гарантирует большее включение и мотивацию всех участников.

Примеры подобных инструментов — Lean Canvas, Impact Mapping, User Story Mapping и другие Agile-методы описания гипотез и процессов.

Упрощение оргструктуры и процессов

Один из краеугольных камней Agile — это предельная простота. И оргструктура организации, и процессы, по которым работают люди, и правила должны быть настолько простыми, насколько это возможно. Это позволит людям сфокусироваться на своей работе, на ценности, которую они создают, а не на соблюдении регламентов и правил. Прекрасные примеры такого подхода можно найти во множестве команд, работающих по Scrum — самому популярному способу организации рабочего процесса в Agile. Фактически, все договорённости и правила команды в 10-11 человек, текущие задачи на пару недель, цели, а также стратегические планы легко могут поместиться на 2-3 листа бумаги А0. На одном листе может быть так называемый «бэклог спринта», перечень всего, что команда собирается сделать в ближайшую итерацию. Если повесить такой в помещении, где идёт работа, можно избавить себя от необходимости всё это запоминать. То же самое касается и процессов. Скажем, в Скраме место и время проведения всех встреч жестко фиксируются. Любой участник точно знает, что, например, в понедельник в 10-00 планируется ближайшая итерация, а в пятницу в 17-30 — встреча по улучшению процесса работы.

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

Примеры упрощения (и уплощения, но это тема отдельного разговора) в Agile — Scrum, Nexus, LeSS (Large-Scale Scrum, или Скрам на больших масштабах), а также сам Agile-манифест.

Работа короткими циклами

В мире Agile не принято запираться в мастерской на три года, чтобы точить там что-то интересное. Очень уж велик риск, потратить море сил и времени на то, что никому не нужно или устарело.

Чтобы подобного избежать, применяется так называемый итеративно-инкрементальный подход, когда:

  • работа ведётся небольшими фиксированными отрезками времени, например, в одну, две или четыре недели,
  • и, главное, в конце каждого отрезка времени создаётся не просто какой-то промежуточный результат, а, пусть маленький, урезанный, куцый, но работоспособный вариант продукта, которым уже можно начать пользоваться.

В качестве самого простого примера такой рабочей модели можно представить себе стандартную для всех компьютеров программу «калькулятор», которая вначале позволяет только складывать два числа, потом мы добавляем туда вычитание, умножение, деление, трансцендентные числа, тригонометрические функции, — и так далее, в порядке частоты применения. В начале функционал невелик, но мы уже можем увидеть, как калькулятор выглядит, насколько удобно им пользоваться, и представить, как развивать его дальше. И, главное, часть клиентов (скажем, школьники начальных классов) уже могут начать им пользоваться.

Ещё одно преимущество такого подхода, помимо раннего выхода на рынок и внесения изменений на ранних стадиях работы, — это возможность более точно измерять прогресс. Мы не просто «сделали 15% всей работы», что довольно абстрактно. Мы «сделали 15% функционала», который уже работает.

Все процессные подходы в Agile имеют короткие циклы, будь то упомянутые ранее Scrum, Nexus, LeSS, SAFe или XP, плюс необходимость работы такими циклами упомянута и в самом манифесте Agile.

Активное, системное использование обратной связи

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

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

Agile предлагает системное использование такого подхода везде: в создании продукта (мы выпускаем его на рынок, или показываем заказчику, или проводим испытания и используем обратную связь для его коррекции), в построении процессов (периодически мы «останавливаем» работу и подвергаем анализу сам процесс, чтобы улучшить его, избавиться от потерь и проблем), даже в построении структуры организации и «тонкой» настройки взаимоотношений в командах.

Примеры, опять-таки, есть везде: ретроспективные встречи в Scrum, Kanban, Nexus и LeSS, циклы I&A в SAFe, подход к созданию продуктов Design Thinking, циклы обратной связи в DevOps и т.д.

Повышение полномочий сотрудников

Зачем давать больше полномочий, когда можно дать бумажку с инструкцией? Есть, как минимум, три причины это делать.

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

Во-вторых, давая больше полномочий, мы даем больше ответственности, и люди вынуждены учиться принимать решения самостоятельно и, главное, нести за них ответственность. Это долго, сложно, но оно того стоит. Работа не остановится, если самоорганизованная команда столкнется с незнакомой, неизвестной ранее проблемой. Да и кто будет спорить, что на работе от зрелых и ответственных, взрослых людей больше пользы, чем от больших детей, неспособных думать самостоятельно?

В-третьих, это всё та же скорость. Если человек может сам, на своём месте, никого не спрашивая, решить какую-то проблему, это сокращает время принятия решений. Не надо больше отправлять вопрос «вверх» и ждать ответа от менеджмента. Это преимущество не так заметно, если у вас работает 3 человека, но если вас 30, или 300, или 3000… В больших организациях, построенных сугубо на иерархическом принятии решений, паралич воли может быть довольно частым явлением.

Популярные способы построения работы в Agile, особенно базирующиеся на фреймворке Scrum, предполагают систему самоорганизованных команд и поощряют лидерство на любых уровнях.

Гуманистический подход

Зачем относиться к людям по-человечески? То есть, моральная сторона дела ясна, а какую пользу это принесёт владельцу предприятия?

Ответ довольно простой. Если создание того, что вы продаёте, не требует умственного труда, а только механический действий — можете не заморачиваться. Просто платите соразмерно сделанной работе, и всё. Но как только в дело вступает мозг работников — придётся считаться с принципами мотивации умственного труда. А они говорят, что для людей важны возможность самореализации, повышения своего мастерства, принесения чего-то ценного в мир, самостоятельности в решениях и ещё ряда факторов. И человек мотивированный (не путать с человеком простимулированным!) будет вкладываться в работу сильнее, и результат будет качественнее и быстрее. Да и в целом, приятная обстановка на работе добавляет желания туда приходить и работать — с этим тоже вряд ли кто поспорит.

И, что приятно, если копнуть в тот же Скрам, то окажется, что все ключевые факторы мотивации работника умственного и/или творческого труда в него уже включены. В каждой итерации («спринте») мы ставим цель, которой хотим достичь; нам даётся возможность решать, как именно достигать цели; в конце мы смотрим, насколько мы стали лучше (или хуже) работать, чем раньше; видим людей, которые заинтересованы в продукте, и их эмоции от знакомства с ним. Особенно хорошо, если эти эмоции положительные.

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

Agile — это не конечное состояние, а образ мышления и жизни

Этот пункт о том, что применение Agile в целом — путь, а не цель. Нельзя «внедрить» Agile и расслабиться. Если вы выбираете этот путь, у вас всегда будет что-то ещё, что можно сделать лучше, какой-то ещё вызов, которому надо ответить, какая-то ещё проблема, которую надо решить, ещё одна высота, которую надо покорить… Это движение бесконечно, потому что нет идеального процесса или продукта, развитие и конкуренция не останавливаются никогда, как никогда не прекращается борьба за выживание в природе.

И если всё удалось: люди в компании понимают и разделяют ценности и принципы Agile и работают согласно им, — тогда менеджменту не придётся «тащить» на себе любые изменения или «пинать» работников, чтобы они начали что-то делать по-другому. Предприятие станет единым организмом, управление которым будет отнимать меньше сил и приносить больше удовольствия.
А там, где больше удовольствия от работы, и результат выше. Это касается не только специалистов, но и менеджмента, причём в ещё большей степени.

На этом наше обзорное знакомство с принципами Agile заканчивается. Какие цели ставятся перед Agile в России и каких реальных результатов достигают компании, переходящие на гибкие методологии, можно узнать, познакомившись с отчётом исследования ScrumTrek об использовании Agile в России от 2020 года.

Методологии разработки ПО: Agile

GeekBrains уже рассказывал о «Водопаде» (Waterfall), на очереди — Agile: познакомимся с этой схемой, по которой организуют работу многие коллективы программистов.

В феврале 2001 года семнадцать человек — крупные IT-специалисты и разработчики — собрались на горном курорте в штате Юта. Отдохнули, пообщались и составили небольшой документ — Agile-манифест.

Он стал новацией в разработке программного обеспечения и положил начало ряду практических подходов к программированию. Классической методологии «Водопад» пришлось потесниться.

Гибкость во всем

С английского agile переводится как «подвижный, быстрый, проворный». Но в русской IT-лексике за этой группой методологий закрепилось определение «гибкие». Agile-подход динамично организует программирование, постоянно адаптируя проект к новым обстоятельствам и требованиям.

Не углубляясь в детали, вспомним, как устроена разработка по методологии Waterfall:

  1. Выдвигаются требования к ПО, разрабатывается техническое задание (ТЗ).
  2. Поставленные задачи воплощаются в коде.
  3. Выполняется тестирование.
  4. Готовое ПО внедряется в работу.

Теоретически в Waterfall возможен возврат на предыдущие ступени — например, если оказывается, что ту или иную задачу невозможно выполнить по техническим причинам. В этом случае ТЗ пересматривают, но это скорее чрезвычайная ситуация. В норме конечный продукт должен идеально соответствовать требованиям, целям и задачам, которые были сформулированы до разработки.

В Agile-методологии в приоритете не исходные установки, а актуальные потребности пользователя. Постоянно вносить изменения в ТЗ, даже в самый разгар разработки, для Agile нормально. В гибкой методологии не предусмотрен предварительный генеральный план — напротив, программный продукт пишется практически экспромтом.

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

Чтобы понять, как это работает, представим коллектив разработчиков, создающих аудиоплеер. Уже написан костяк программного кода: интерфейс и базовый функционал. Программа умеет воспроизводить файлы формата MP3, WAV и OGG. Но пользователи предлагают добавить проигрывание CD-дисков и подключить горячие клавиши, чтобы быстро управлять плеером.

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

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

На этом итерация завершается — и начинается новый виток разработки.

Идеи и принципы

Гибкая методология — не единый подход к разработке, а набор идей и принципов, на которых основаны конкретные практические решения. Можно считать это особой философией, которая задает вектор, а не предписывает действия. Эти идеи и принципы были впервые сформулированы в Agile-манифесте.

Четыре центральных идеи Agile Manifesto

  • Люди и взаимодействие важнее, чем процессы и инструменты.
  • Работающее ПО важнее, чем исчерпывающая документация.
  • Сотрудничество с заказчиком важнее, чем согласование условий контракта.
  • Готовность к изменениям важнее, чем следование первоначальному плану.

12 принципов Agile

  1. Задача высшего приоритета — регулярно и как можно раньше удовлетворять потребности заказчика, предоставляя ему программное обеспечение.
  2. Учитывать, что требования могут измениться на любом этапе разработки. Если изменения быстро вносятся в проект, заказчик может получить конкурентные преимущества.
  3. Выпускать версии готовой программы как можно чаще — с промежутком от двух недель до двух месяцев.
  4. Ежедневно вместе работать над проектом — разработчикам и заказчикам.
  5. Поручить работу мотивированным профессионалам. Обеспечить поддержку и условия, довериться им — и работа будет сделана.
  6. Общаться напрямую — это самый эффективный способ взаимодействия внутри команды и вне ее.
  7. Считать главным показателем прогресса работающий продукт.
  8. Поддерживать постоянный ритм работы — касается и разработчиков, и заказчиков.
  9. Уделять пристальное внимание техническому совершенству и качеству проектирования — это повышает гибкость проекта.
  10. Минимизировать лишнюю работу.
  11. Стремиться к самоорганизующейся команде — в ней рождаются наиболее эффективные и качественные решения.
  12. Всем участникам команды — постоянно искать способы повышать эффективность работы.

Но руководствуясь только этими идеями и принципами, выстроить рабочие процессы нельзя. Поэтому принято считать, что Agile — это класс, в рамках которого существует ряд прикладных методологий.

Scrum

Вообще-то Scrum появился еще до того, как сформировался манифест Agile. Но его принципы хорошо укладываются в концепцию гибкой методологии, поэтому принято причислять его к этому семейству.

Впервые термин прозвучал в 1986 году. Японские исследователи Икуджиро Нонака и Хиротака Такеучи в статье The new New product development game сформулировали принципы, позволяющие быстрее создавать новый продукт. Среди условий такой разработки назвали самоорганизующуюся команду специалистов, их полную свободу в творчестве и работе — без ограничений со стороны топ-менеджмента. Этот подход авторы описали так:

«Это как оставить всех сотрудников на втором этаже и убрать лестницу, а потом сказать: прыгайте или делайте что угодно — решение за вами. Экстремальные условия рождают творческий подход!»

Руководство ставит перед командой задачу и, возможно, сообщает сроки, но не дает конкретных указаний — рабочая группа самостоятельно ищет решение.

Главное для Scrum-подхода — особая динамика работы, когда команда постоянно обсуждает, как сделать продукт лучше. Такой ритм авторы сравнивают с регби: игроки передают мяч друг другу, но при этом команда движется по полю как единое целое, достигая общей цели. Из регби и пришел термин «скрам» — это схватка из-за мяча.

Методика, предложенная Нонака и Такеучи, нашла применение в IT-сфере, разработке инженерных решений в машиностроении, электронике. В 90-х Scrum оформился как проработанная и цельная методология, оброс конкретными приемами, помогающими с нуля наладить работу команды. Благодаря Кену Шваберу и Джеффу Сазерленду Scrum пришел в IT и приобрел популярность среди разработчиков — некоторые даже считают эту методологию революционной.

Командный дух

В команде, работающей по принципам Scrum, нет внутренней иерархии: ни руководителей, ни подчиненных, ни указаний-приказов. Есть два особых члена группы: product owner — владелец продукта, и scrum master — скрам-мастер.

Product owner лучше всех знает, каким должен быть продукт. Зачастую это заказчик, его представитель или сотрудник, ответственный за взаимодействие с клиентом. Он должен ясно понимать, что именно требуется конечному пользователю программы. Все пожелания и предложения по функциональности и внешнему виду продукта (в Scrum они называются stories — истории) он заносит в специальный список — Product Backlog. Бэклог формируется до старта разработки и по ходу постоянно пополняется. Здесь же указывают приоритеты доработок.

На скрам-мастере лежит ответственность за сплоченную работу коллектива. Он не начальник команды, но делает все возможное, чтобы разработка шла в постоянном темпе, каждый участник был вовлечен и мотивирован, а важные детали не оставались без внимания.

Рывок! Еще рывок!

Работа над программой в Scrum, как и в Agile в целом, разделена на итерации. Здесь любят спортивную терминологию: эти отрезки разработки называют забегами или спринтами. Каждый начинается с того, что команда сообща определяет, какие именно истории из списка владельца продукта она сможет реализовать на этом спринте. Выбранные идеи переносятся в отдельный список — sprint backlog. Фиксируется цель: что конкретно команда сможет продемонстрировать пользователю в итоге. Задачи распределяют, и начинается забег.

Как и на матче регби, в скрам-разработке ситуация меняется быстро: пользователь может передумать или изменить требования, а Agile трепетно относится к его пожеланиям. Поэтому скрам-мастер собирает короткие ежедневные совещания — скрамы. Каждый участник рассказывает о своих успехах и неудачах, остальные могут предложить новые пути решения проблем. Задачи корректируются, спринт продолжается.

В конце забега результаты демонстрируют владельцу продукта. И немедленно начинают новый спринт — очередную итерацию цикла разработки.

Важно помнить, что в итоге скрам-забега пользователь получает готовую версию программы: можно запускать и работать. На ранних этапах проекта программа может быть способна только вывести сообщение «Hello, world!». Но даже самый первый спринт должен дать результат: программа уже есть и она запускается.

XP — программируем экстремально!

Речь не о Windows XP. Под этой аббревиатурой скрывается еще одна методология из класса Agile: eXtreme Programming — экстремальное программирование. Ее придумал разработчик Кент Бек, развивали Уорд Каннингем, Мартин Фаулер и другие. Это набор простых принципов и практик, которые помогают наладить эффективную работу.

Экстремальное программирование не предлагает разработчикам писать код, сидя в бассейне с пираньями, или отлаживать его, скатываясь с горы. Авторы методологии делают интенсивнее приемы обычного программирования, чтобы повысить их продуктивность.

Вспомним, как работает классический разработчик. Он тщательно продумывает, планирует, а затем пишет фрагмент программы — работающий блок или функцию. Тестирует ее, отлавливает баги, устраняет их, снова проверяет и исправляет… Потом передает завершенный код на проверку тестировщикам или коллегам-программистам. Когда накапливаются изменения, их сводят воедино и создают работающую версию программы.

В экстремальном программировании все эти принципы доведены до предела. Нет времени объяснять — нужно делать! Планируют на короткий срок. Итерации разработки максимально сжатые. Чем быстрее выйдет рабочая версия — тем лучше. Реализуется самое простое из решений, а код пишется и тестируется параллельно.

Экстремальные практики

Как и в других Agile-методологиях, в XP чем итерации короче, тем лучше. Если доработку можно выполнить за один день — нужно так и сделать. Но вряд ли пользователю захочется ежедневно обновлять версию своей рабочей программы. Максимальный срок в XP — месяц. Так что в среднем итерация длится две недели.

В начале каждого цикла разработчики устраивают общее собрание — представителя заказчика тоже приглашают. Совместно решают, какую функциональность будут реализовать. За основу берутся пользовательские истории — то есть задачи и требования — с учетом их значимости.

Важное условие в XP — реализуется самое простое из возможных рабочих решений и его исполнений, соответствующих заданным условиям. Не создается лишнего: никаких «примочек на будущее», которые могут понадобиться позже, но не нужны прямо сейчас. На последующих этапах функциональность решения можно расширить и доработать, но об этом разработчик будет думать, когда потребуется.

Есть риск: примитивное техническое решение, которое успешно работало на первых порах, может стать проблемой, когда программа начнет развиваться и потребуется более продвинутая функциональность. Это может показаться минусом технологии: XP не любит планировать на отдаленную перспективу, предпочитая оперативно перестраиваться на ходу. Но на практике редко возникают ситуации, когда работающий код надо переписать с нуля. Их смогут предвидеть опытные профессионалы, которые работают в agile-командах.

Вопросы такого порядка решает и рефакторинг — еще одна практика экстремального программирования. Суть — регулярно пересматривать и улучшать код, а цель — сделать программу быстрее и надежнее. Разработчики убирают задвоенные фрагменты кода, упрощают его, приводят к единым стандартам проекта.

Другая полезная практика — постоянная коллективная работа. XP подразумевает тесное сотрудничество и взаимопомощь. Разработку ведут в группах по десять человек, которые активно обмениваются информацией. Практикуется парное программирование: один разработчик создает модуль, второй наблюдает.

Парное программирование — одна из полезных практик XP

Может показаться, что подход расточительный: фактически получается, что программисты напишут в два раза меньше кода, чем если бы каждый работал над своим фрагментом программы. И исследования показывают, что парное программирование продвигается на 15 % медленнее, чем аналогичная разработка одним специалистом.

Но есть и преимущества. Недочеты устраняются на самом раннем этапе — фактически еще до того, как модуль будет впервые запущен. Напарник может подсказать полезный прием или предложить более простой и эргономичный способ решения задачи — то есть рефакторинг идет сразу за созданием кода. По данным исследований, при работе вдвоем ошибок становится на 60 % меньше. И сохраняется преемственность кода — не возникнет ситуация, когда «только Вася знает, как работает эта функция, а он в отпуске».

Принципиально, что код — общее достояние команды. Никто не может единолично знать модуль программы или владеть им.

Поэтому важна стандартизация кодирования, единообразное оформление: соблюдать правила именования переменных и классов, использовать одни приемы программирования.

XP требует постоянной интеграции кода, то есть регулярного и частого обмена написанными и отлаженными модулями. Части программы могут быть взаимозависимы, и чтобы исключить внутреннюю несовместимость, у всех участников проекта должен быть доступ к самым актуальным версиям модулей.

Переработку XP не поощряет: требует от программистов неукоснительно соблюдать рамки 40-часовой рабочей недели. Никаких «я только допишу эту функцию»! Если не умеете переключаться и отдыхать — скоро не сможете и продуктивно работать.

Экстремально — не значит плохо

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

Есть и подводные камни: практики XP требуют конкретных навыков и твердой самодисциплины. При парном программировании важна вовлеченность обоих разработчиков и взаимное уважение. Если один считает себя мастером, а напарника — новичком, не прислушивается к советам и не снисходит до объяснений, пользы от такого сотрудничества не будет. Напарник, который не отслеживает код, а занимается своими делами, тоже ставит крест на парном программировании. Суть практики в том, чтобы работать вместе — передавая клавиатуру, устраивая мозговые штурмы, обмениваясь мнениями.

Экстремальное программирование не предписывает, как действовать в конкретной ситуации. Если решение задачи для всех очевидно и написать код не составит труда — нет реальной необходимости в парном программировании. Если на часах 18:00, а вам осталось дописать двадцать строк кода — можно не откладывать на завтра. Методология не заменяет здравый смысл!

Никакого волшебства

Гибким методологиям приписывают невероятные достижения и чудодейственные свойства решать любые проблемы разработки. Но в действительности ничего фантастического в них нет. Это хорошие инструменты: если ими грамотно пользоваться, они могут сделать рабочие процессы быстрыми и эффективными, а еще мотивировать членов команды трудиться творчески и развиваться.

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

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

Преимущества Agile

  1. Программный продукт готов к использованию на самых ранних этапах его разработки, пусть и не с полной функциональностью.
  2. Разработчики постоянно в контакте с заказчиком и пользователем и всегда знают, что именно требуется от программы, могут оперативно реагировать на новые потребности пользователя и пожелания к продукту.
  3. Нет жестких рамок, поэтому программный продукт постоянно изменяется и улучшается, становится эффективнее и привлекательнее для пользователя.

Заказчик и пользователь в этой схеме выступают не столько как инвесторы, сколько как партнеры и идейные вдохновители. И это оправдано — не всегда программист ясно представляет, что именно хочет получить пользователь. Но и он, далекий от разработки, понятия не имеет о возможностях, которые может получить с помощью программы, какие процессы можно автоматизировать и на каком уровне. Объединив усилия и общаясь, пользователь и разработчик способны создать продукт, превосходящий аналоги по эффективности и эргономичности.

Нет заранее и подробно сформулированного технического задания — значит, разработчик может решить задачу творчески. Но не слишком — пользователь не позволит ему оторваться от реальности и наплодить ненужного кода. Каждый фрагмент программы будут обсуждать и продумывать совместно.

Темная сторона силы: недостатки Agile

Не факт, что программа когда-нибудь будет завершена.

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

Но если вы планируете долговременное сотрудничество с заказчиком и он готов платить за все время разработки — почему нет?

Пользователь требует все и сразу.

Большинство участников проекта со стороны пользователей могут на ранних этапах сформулировать множество требований к программе и будут ожидать, что все они будут реализованы в ближайших итерациях. Значительная часть требований получит наивысший приоритет — так что разработчику предстоит определять, какие задачи выполнить сейчас, а какие — отложить. А пользователи будут недовольны: они хотят все и сразу.

Работа над проектом требует не только профессионализма разработчика, но и сознательности пользователя. А спросите у программистов, часто ли им встречались адекватные, понимающие пользователи.

«Золотые пользователи»

Если в обсуждении участвуют несколько заказчиков (пользователей), их вклад в проект часто разномасштабный. Кто-то более внимателен и вносит много предложений, а другой сидит молча. Обсуждение проекта с широким охватом может и вовсе проходить на форуме.

Фактически это приведет к тому, что небольшая группа активистов будет уводить разработку по интересному лично им пути, формировать программу под себя. Мнения других пользователей уйдут в тень.

Строительство без чертежей

Еще одна проблема, на которую обращают внимание критики гибких методик — отсутствие генерального плана, концепции программы, единой структуры. Код такого программного продукта может напоминать небоскреб, который построили без чертежей и плана коммуникаций. Решения о нововведениях принимаются буквально на ходу, о долговременном планировании и речь не идет. В результате оказывается, что уже реализованные участки кода не вписываются в архитектуру, которую подразумевает новая функциональность. Их приходится дорабатывать и добавлять «костыли», а то и переделывать.

С каждой новой итерацией количество «подпорок» нарастает катастрофическими темпами, делая внутреннюю структуру программы нелогичной и малоэффективной. А тестирование на каждом этапе проводится только для вновь созданной или доработанной функциональности. Так что нельзя поручиться, что поправив код в одном месте, не сломаешь в другом.

Постоянная спешка

Ритм работы в Agile не располагает к медитации. Нововведения изобретаются на лету, реализовывать тоже надо быстро, реагировать моментально и действовать оперативно. Нет времени обдумывать все аспекты, неторопливо взвешивать за и против.

Это сказывается на качестве кода: бывает, фрагменты программы пишутся по принципу «и так сойдет», без попыток сделать их более изящными или эффективными. Разработчик осознает, что такой код годится только как временное решение, но вернуться и переписать получается редко. Работает — и хорошо.

До тех пор, пока работает…

Несмотря на критику, гибкая методология разработки успешно используется при создании программных продуктов.

Кому подойдет Agile

Методологии класса Agile хорошо себя покажут, если:

  • В вашей команде работают опытные и квалифицированные специалисты, умеющие действовать сообща и помогать друг другу.
  • У заказчика нет ясного представления, как должна выглядеть программа, но он готов участвовать в совместной работе, чтобы развивать и улучшать продукт.
  • Сфера применения продукта постоянно меняется, часто возникают новые потребности и задачи.
  • Нет конкретных сроков, к которым продукт должен быть завершен, и жестких ограничений бюджета.
  • Работоспособную программу необходимо получить как можно скорее.

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

Больше методологий богу методологий!

Мы рассмотрели Scrum и XP, но класс Agile включает и другие методологии. Есть любопытные подходы и вне Waterfall и Agile. Продолжим в следующей статье.

GeekBrains уже рассказывал о «Водопаде» (Waterfall), на очереди — Agile: познакомимся с этой схемой, по которой организуют работу многие коллективы программистов.

В феврале 2001 года семнадцать человек — крупные IT-специалисты и разработчики — собрались на горном курорте в штате Юта. Отдохнули, пообщались и составили небольшой документ — Agile-манифест.

Он стал новацией в разработке программного обеспечения и положил начало ряду практических подходов к программированию. Классической методологии «Водопад» пришлось потесниться.

Гибкость во всем

С английского agile переводится как «подвижный, быстрый, проворный». Но в русской IT-лексике за этой группой методологий закрепилось определение «гибкие». Agile-подход динамично организует программирование, постоянно адаптируя проект к новым обстоятельствам и требованиям.

Не углубляясь в детали, вспомним, как устроена разработка по методологии Waterfall:

  1. Выдвигаются требования к ПО, разрабатывается техническое задание (ТЗ).
  2. Поставленные задачи воплощаются в коде.
  3. Выполняется тестирование.
  4. Готовое ПО внедряется в работу.

Теоретически в Waterfall возможен возврат на предыдущие ступени — например, если оказывается, что ту или иную задачу невозможно выполнить по техническим причинам. В этом случае ТЗ пересматривают, но это скорее чрезвычайная ситуация. В норме конечный продукт должен идеально соответствовать требованиям, целям и задачам, которые были сформулированы до разработки.

В Agile-методологии в приоритете не исходные установки, а актуальные потребности пользователя. Постоянно вносить изменения в ТЗ, даже в самый разгар разработки, для Agile нормально. В гибкой методологии не предусмотрен предварительный генеральный план — напротив, программный продукт пишется практически экспромтом.

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

Чтобы понять, как это работает, представим коллектив разработчиков, создающих аудиоплеер. Уже написан костяк программного кода: интерфейс и базовый функционал. Программа умеет воспроизводить файлы формата MP3, WAV и OGG. Но пользователи предлагают добавить проигрывание CD-дисков и подключить горячие клавиши, чтобы быстро управлять плеером.

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

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

На этом итерация завершается — и начинается новый виток разработки.

Идеи и принципы

Гибкая методология — не единый подход к разработке, а набор идей и принципов, на которых основаны конкретные практические решения. Можно считать это особой философией, которая задает вектор, а не предписывает действия. Эти идеи и принципы были впервые сформулированы в Agile-манифесте.

Четыре центральных идеи Agile Manifesto

  • Люди и взаимодействие важнее, чем процессы и инструменты.
  • Работающее ПО важнее, чем исчерпывающая документация.
  • Сотрудничество с заказчиком важнее, чем согласование условий контракта.
  • Готовность к изменениям важнее, чем следование первоначальному плану.


12 принципов Agile

  1. Задача высшего приоритета — регулярно и как можно раньше удовлетворять потребности заказчика, предоставляя ему программное обеспечение.
  2. Учитывать, что требования могут измениться на любом этапе разработки. Если изменения быстро вносятся в проект, заказчик может получить конкурентные преимущества.
  3. Выпускать версии готовой программы как можно чаще — с промежутком от двух недель до двух месяцев.
  4. Ежедневно вместе работать над проектом — разработчикам и заказчикам.
  5. Поручить работу мотивированным профессионалам. Обеспечить поддержку и условия, довериться им — и работа будет сделана.
  6. Общаться напрямую — это самый эффективный способ взаимодействия внутри команды и вне ее.
  7. Считать главным показателем прогресса работающий продукт.
  8. Поддерживать постоянный ритм работы — касается и разработчиков, и заказчиков.
  9. Уделять пристальное внимание техническому совершенству и качеству проектирования — это повышает гибкость проекта.
  10. Минимизировать лишнюю работу.
  11. Стремиться к самоорганизующейся команде — в ней рождаются наиболее эффективные и качественные решения.
  12. Всем участникам команды — постоянно искать способы повышать эффективность работы.

Но руководствуясь только этими идеями и принципами, выстроить рабочие процессы нельзя. Поэтому принято считать, что Agile — это класс, в рамках которого существует ряд прикладных методологий.

Scrum

Вообще-то Scrum появился еще до того, как сформировался манифест Agile. Но его принципы хорошо укладываются в концепцию гибкой методологии, поэтому принято причислять его к этому семейству.

Впервые термин прозвучал в 1986 году. Японские исследователи Икуджиро Нонака и Хиротака Такеучи в статье The new New product development game сформулировали принципы, позволяющие быстрее создавать новый продукт. Среди условий такой разработки назвали самоорганизующуюся команду специалистов, их полную свободу в творчестве и работе — без ограничений со стороны топ-менеджмента. Этот подход авторы описали так:

«Это как оставить всех сотрудников на втором этаже и убрать лестницу, а потом сказать: прыгайте или делайте что угодно — решение за вами. Экстремальные условия рождают творческий подход!»

Руководство ставит перед командой задачу и, возможно, сообщает сроки, но не дает конкретных указаний — рабочая группа самостоятельно ищет решение.

Главное для Scrum-подхода — особая динамика работы, когда команда постоянно обсуждает, как сделать продукт лучше. Такой ритм авторы сравнивают с регби: игроки передают мяч друг другу, но при этом команда движется по полю как единое целое, достигая общей цели. Из регби и пришел термин «скрам» — это схватка из-за мяча.

Методика, предложенная Нонака и Такеучи, нашла применение в IT-сфере, разработке инженерных решений в машиностроении, электронике. В 90-х Scrum оформился как проработанная и цельная методология, оброс конкретными приемами, помогающими с нуля наладить работу команды. Благодаря Кену Шваберу и Джеффу Сазерленду Scrum пришел в IT и приобрел популярность среди разработчиков — некоторые даже считают эту методологию революционной.

Командный дух

В команде, работающей по принципам Scrum, нет внутренней иерархии: ни руководителей, ни подчиненных, ни указаний-приказов. Есть два особых члена группы: product owner — владелец продукта, и scrum master — скрам-мастер.

Product owner лучше всех знает, каким должен быть продукт. Зачастую это заказчик, его представитель или сотрудник, ответственный за взаимодействие с клиентом. Он должен ясно понимать, что именно требуется конечному пользователю программы. Все пожелания и предложения по функциональности и внешнему виду продукта (в Scrum они называются stories — истории) он заносит в специальный список — Product Backlog. Бэклог формируется до старта разработки и по ходу постоянно пополняется. Здесь же указывают приоритеты доработок.

На скрам-мастере лежит ответственность за сплоченную работу коллектива. Он не начальник команды, но делает все возможное, чтобы разработка шла в постоянном темпе, каждый участник был вовлечен и мотивирован, а важные детали не оставались без внимания.

Рывок! Еще рывок!

Работа над программой в Scrum, как и в Agile в целом, разделена на итерации. Здесь любят спортивную терминологию: эти отрезки разработки называют забегами или спринтами. Каждый начинается с того, что команда сообща определяет, какие именно истории из списка владельца продукта она сможет реализовать на этом спринте. Выбранные идеи переносятся в отдельный список — sprint backlog. Фиксируется цель: что конкретно команда сможет продемонстрировать пользователю в итоге. Задачи распределяют, и начинается забег.

Как и на матче регби, в скрам-разработке ситуация меняется быстро: пользователь может передумать или изменить требования, а Agile трепетно относится к его пожеланиям. Поэтому скрам-мастер собирает короткие ежедневные совещания — скрамы. Каждый участник рассказывает о своих успехах и неудачах, остальные могут предложить новые пути решения проблем. Задачи корректируются, спринт продолжается.

В конце забега результаты демонстрируют владельцу продукта. И немедленно начинают новый спринт — очередную итерацию цикла разработки.

Важно помнить, что в итоге скрам-забега пользователь получает готовую версию программы: можно запускать и работать. На ранних этапах проекта программа может быть способна только вывести сообщение «Hello, world!». Но даже самый первый спринт должен дать результат: программа уже есть и она запускается.

XP — программируем экстремально!

Речь не о Windows XP. Под этой аббревиатурой скрывается еще одна методология из класса Agile: eXtreme Programming — экстремальное программирование. Ее придумал разработчик Кент Бек, развивали Уорд Каннингем, Мартин Фаулер и другие. Это набор простых принципов и практик, которые помогают наладить эффективную работу.

Экстремальное программирование не предлагает разработчикам писать код, сидя в бассейне с пираньями, или отлаживать его, скатываясь с горы. Авторы методологии делают интенсивнее приемы обычного программирования, чтобы повысить их продуктивность.

Топ-пост этого месяца:  Верстка нестандартного блока услуг. Часть 2

Вспомним, как работает классический разработчик. Он тщательно продумывает, планирует, а затем пишет фрагмент программы — работающий блок или функцию. Тестирует ее, отлавливает баги, устраняет их, снова проверяет и исправляет… Потом передает завершенный код на проверку тестировщикам или коллегам-программистам. Когда накапливаются изменения, их сводят воедино и создают работающую версию программы.

В экстремальном программировании все эти принципы доведены до предела. Нет времени объяснять — нужно делать! Планируют на короткий срок. Итерации разработки максимально сжатые. Чем быстрее выйдет рабочая версия — тем лучше. Реализуется самое простое из решений, а код пишется и тестируется параллельно.

Экстремальные практики

Как и в других Agile-методологиях, в XP чем итерации короче, тем лучше. Если доработку можно выполнить за один день — нужно так и сделать. Но вряд ли пользователю захочется ежедневно обновлять версию своей рабочей программы. Максимальный срок в XP — месяц. Так что в среднем итерация длится две недели.

В начале каждого цикла разработчики устраивают общее собрание — представителя заказчика тоже приглашают. Совместно решают, какую функциональность будут реализовать. За основу берутся пользовательские истории — то есть задачи и требования — с учетом их значимости.

Важное условие в XP — реализуется самое простое из возможных рабочих решений и его исполнений, соответствующих заданным условиям. Не создается лишнего: никаких «примочек на будущее», которые могут понадобиться позже, но не нужны прямо сейчас. На последующих этапах функциональность решения можно расширить и доработать, но об этом разработчик будет думать, когда потребуется.

Есть риск: примитивное техническое решение, которое успешно работало на первых порах, может стать проблемой, когда программа начнет развиваться и потребуется более продвинутая функциональность. Это может показаться минусом технологии: XP не любит планировать на отдаленную перспективу, предпочитая оперативно перестраиваться на ходу. Но на практике редко возникают ситуации, когда работающий код надо переписать с нуля. Их смогут предвидеть опытные профессионалы, которые работают в agile-командах.

Вопросы такого порядка решает и рефакторинг — еще одна практика экстремального программирования. Суть — регулярно пересматривать и улучшать код, а цель — сделать программу быстрее и надежнее. Разработчики убирают задвоенные фрагменты кода, упрощают его, приводят к единым стандартам проекта.

Другая полезная практика — постоянная коллективная работа. XP подразумевает тесное сотрудничество и взаимопомощь. Разработку ведут в группах по десять человек, которые активно обмениваются информацией. Практикуется парное программирование: один разработчик создает модуль, второй наблюдает.

Парное программирование — одна из полезных практик XP

Может показаться, что подход расточительный: фактически получается, что программисты напишут в два раза меньше кода, чем если бы каждый работал над своим фрагментом программы. И исследования показывают, что парное программирование продвигается на 15 % медленнее, чем аналогичная разработка одним специалистом.

Но есть и преимущества. Недочеты устраняются на самом раннем этапе — фактически еще до того, как модуль будет впервые запущен. Напарник может подсказать полезный прием или предложить более простой и эргономичный способ решения задачи — то есть рефакторинг идет сразу за созданием кода. По данным исследований, при работе вдвоем ошибок становится на 60 % меньше. И сохраняется преемственность кода — не возникнет ситуация, когда «только Вася знает, как работает эта функция, а он в отпуске».

Принципиально, что код — общее достояние команды. Никто не может единолично знать модуль программы или владеть им.

Поэтому важна стандартизация кодирования, единообразное оформление: соблюдать правила именования переменных и классов, использовать одни приемы программирования.

XP требует постоянной интеграции кода, то есть регулярного и частого обмена написанными и отлаженными модулями. Части программы могут быть взаимозависимы, и чтобы исключить внутреннюю несовместимость, у всех участников проекта должен быть доступ к самым актуальным версиям модулей.

Переработку XP не поощряет: требует от программистов неукоснительно соблюдать рамки 40-часовой рабочей недели. Никаких «я только допишу эту функцию»! Если не умеете переключаться и отдыхать — скоро не сможете и продуктивно работать.

Экстремально — не значит плохо

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

Есть и подводные камни: практики XP требуют конкретных навыков и твердой самодисциплины. При парном программировании важна вовлеченность обоих разработчиков и взаимное уважение. Если один считает себя мастером, а напарника — новичком, не прислушивается к советам и не снисходит до объяснений, пользы от такого сотрудничества не будет. Напарник, который не отслеживает код, а занимается своими делами, тоже ставит крест на парном программировании. Суть практики в том, чтобы работать вместе — передавая клавиатуру, устраивая мозговые штурмы, обмениваясь мнениями.

Экстремальное программирование не предписывает, как действовать в конкретной ситуации. Если решение задачи для всех очевидно и написать код не составит труда — нет реальной необходимости в парном программировании. Если на часах 18:00, а вам осталось дописать двадцать строк кода — можно не откладывать на завтра. Методология не заменяет здравый смысл!

Никакого волшебства

Гибким методологиям приписывают невероятные достижения и чудодейственные свойства решать любые проблемы разработки. Но в действительности ничего фантастического в них нет. Это хорошие инструменты: если ими грамотно пользоваться, они могут сделать рабочие процессы быстрыми и эффективными, а еще мотивировать членов команды трудиться творчески и развиваться.

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

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

Преимущества Agile

  1. Программный продукт готов к использованию на самых ранних этапах его разработки, пусть и не с полной функциональностью.
  2. Разработчики постоянно в контакте с заказчиком и пользователем и всегда знают, что именно требуется от программы, могут оперативно реагировать на новые потребности пользователя и пожелания к продукту.
  3. Нет жестких рамок, поэтому программный продукт постоянно изменяется и улучшается, становится эффективнее и привлекательнее для пользователя.

Заказчик и пользователь в этой схеме выступают не столько как инвесторы, сколько как партнеры и идейные вдохновители. И это оправдано — не всегда программист ясно представляет, что именно хочет получить пользователь. Но и он, далекий от разработки, понятия не имеет о возможностях, которые может получить с помощью программы, какие процессы можно автоматизировать и на каком уровне. Объединив усилия и общаясь, пользователь и разработчик способны создать продукт, превосходящий аналоги по эффективности и эргономичности.

Нет заранее и подробно сформулированного технического задания — значит, разработчик может решить задачу творчески. Но не слишком — пользователь не позволит ему оторваться от реальности и наплодить ненужного кода. Каждый фрагмент программы будут обсуждать и продумывать совместно.

Темная сторона силы: недостатки Agile

Не факт, что программа когда-нибудь будет завершена.

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

Но если вы планируете долговременное сотрудничество с заказчиком и он готов платить за все время разработки — почему нет?

Пользователь требует все и сразу.

Большинство участников проекта со стороны пользователей могут на ранних этапах сформулировать множество требований к программе и будут ожидать, что все они будут реализованы в ближайших итерациях. Значительная часть требований получит наивысший приоритет — так что разработчику предстоит определять, какие задачи выполнить сейчас, а какие — отложить. А пользователи будут недовольны: они хотят все и сразу.

Работа над проектом требует не только профессионализма разработчика, но и сознательности пользователя. А спросите у программистов, часто ли им встречались адекватные, понимающие пользователи.

«Золотые пользователи»

Если в обсуждении участвуют несколько заказчиков (пользователей), их вклад в проект часто разномасштабный. Кто-то более внимателен и вносит много предложений, а другой сидит молча. Обсуждение проекта с широким охватом может и вовсе проходить на форуме.

Фактически это приведет к тому, что небольшая группа активистов будет уводить разработку по интересному лично им пути, формировать программу под себя. Мнения других пользователей уйдут в тень.

Строительство без чертежей

Еще одна проблема, на которую обращают внимание критики гибких методик — отсутствие генерального плана, концепции программы, единой структуры. Код такого программного продукта может напоминать небоскреб, который построили без чертежей и плана коммуникаций. Решения о нововведениях принимаются буквально на ходу, о долговременном планировании и речь не идет. В результате оказывается, что уже реализованные участки кода не вписываются в архитектуру, которую подразумевает новая функциональность. Их приходится дорабатывать и добавлять «костыли», а то и переделывать.

С каждой новой итерацией количество «подпорок» нарастает катастрофическими темпами, делая внутреннюю структуру программы нелогичной и малоэффективной. А тестирование на каждом этапе проводится только для вновь созданной или доработанной функциональности. Так что нельзя поручиться, что поправив код в одном месте, не сломаешь в другом.

Постоянная спешка

Ритм работы в Agile не располагает к медитации. Нововведения изобретаются на лету, реализовывать тоже надо быстро, реагировать моментально и действовать оперативно. Нет времени обдумывать все аспекты, неторопливо взвешивать за и против.

Это сказывается на качестве кода: бывает, фрагменты программы пишутся по принципу «и так сойдет», без попыток сделать их более изящными или эффективными. Разработчик осознает, что такой код годится только как временное решение, но вернуться и переписать получается редко. Работает — и хорошо.

До тех пор, пока работает…

Несмотря на критику, гибкая методология разработки успешно используется при создании программных продуктов.

Кому подойдет Agile

Методологии класса Agile хорошо себя покажут, если:

  • В вашей команде работают опытные и квалифицированные специалисты, умеющие действовать сообща и помогать друг другу.
  • У заказчика нет ясного представления, как должна выглядеть программа, но он готов участвовать в совместной работе, чтобы развивать и улучшать продукт.
  • Сфера применения продукта постоянно меняется, часто возникают новые потребности и задачи.
  • Нет конкретных сроков, к которым продукт должен быть завершен, и жестких ограничений бюджета.
  • Работоспособную программу необходимо получить как можно скорее.

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

Больше методологий богу методологий!

Мы рассмотрели Scrum и XP, но класс Agile включает и другие методологии. Есть любопытные подходы и вне Waterfall и Agile. Продолжим в следующей статье.

Как разработать “проект-огонь” с методологией Agile?

Если вы хотите найти оптимальный управленческий метод для создания таких проектов, Agile методология — верное решение. В этой статье я попытаюсь объяснить почему.

Что такое Agile?

Agile-методология в программной инженерии (гибкая методология разработки) — это система методов, основанных на итеративной разработке. В соответствии с этим типом разработки, решения развиваются на основе организованного взаимодействия внутри кросс-функциональных команд. Метод не предполагает каких-либо конкретных рекомендаций, все принципы в нем гибкие.

Система методов Agile обеспечивает процессы управления, которые содержат подотчетность, философию управления и лучший инженерный опыт.

Термин впервые употребили в 2001 году в США в штате Юта во время собрания 17 разработчиков, которые обсуждали свои идеи и программные подходы. Совокупность ценностей и принципов, предложенных ими, легла в основу Манифеста гибкой методологии разработки.

Что такое методология Agile в разработке программного обеспечения? 12 принципов Манифеста методологии

Как пользоваться Agile?

Цикл разработки состоит из 6 гибких этапов. Некоторые из них могут протекать параллельно. На словах распределение этапов может показаться непростым, поэтому процесс Agile-разработки визуализируют, используя, например, диаграммы Ганта.

6 этапов Agile-разработки:

  • План. После того, как определена идея, проектная группа должна спланировать основной функционал. Главная цель этого этапа заключается в грамотном разделении идеи на разные части.
  • Анализ требований. Этот этап подразумевает постоянные встречи с менеджерами и пользователями с целью выявления потребностей и задач бизнеса. Важно отмечать все детали. Например, кто будет пользоваться продуктом и для чего. Требования должны быть измеримыми и актуальными.
  • Дизайн/разработка.После определения требований, можно работать с дизайном программного обеспечения и думать о том, как продукт будет выглядеть в конечном результате.
  • Внедрение, кодирование и развитие.А также создание и начальное тестирование основных функций.
  • Тестирование. Специалисты проверяют код, чтобы убедиться, что продукт соответствует потребностям клиента. Этот этап включает в себя тестирование модулей, интеграций и систем.
  • Выпуск.После всех видов тестирования, продукт передается заказчику.

Что такое гибкая методология разработки?

Инструменты Agile сконцентрированы на гибкости и усовершенствовании. Здесь мы объединили несколько основных преимуществ методологии Agile.

Как это работает? 6 ключевых преимуществ Agile для менеджеров проектов:

  1. Приспособиться к изменениям в ходе реализации проекта с более короткими циклами планирования не составляет труда. Вы всегда можете уточнить и изменить приоритеты по отстающим вопросам. Также позволить команде вносить изменения в проект.
  2. Конечная цель может быть невидимой. Методология Agile может быть полезна для проектов с неопределенными конечными целями.
  3. Высокое качество и быстрые стандарты доставки. Из-за разбивки проекта на итерации, команды могут быть сфокусированы на разработке и тестировании.
  4. Сильное взаимодействие команды. Методология обеспечивает прямое взаимодействие. Люди могут работать вместе и совместно брать на себя ответственность.
  5. Клиенты могут работать в тесном сотрудничестве с командой. Они могут внести свой реальный вклад и оказать воздействие на продукт.
  6. Постоянное улучшение. Проекты на основе метода Agile подразумевают обратную связь от пользователей и членов команды.

5 главных недостатков метода

Гибкость методологии довольно высока, но иногда происходят некоторые заминки. Вот некоторые недостатки гибкого метода программной разработки:

  1. Процесс планирования может быть менее конкретным. Иногда бывает трудно определить конкретную дату поставки. Некоторые элементы, запланированные к реализации, могут не быть завершены в срок. Это происходит потому, что менеджеры часто вносят изменения приоритетов при решении текущих задач.
  2. Команда должна знать все детали и факты. Как правило, команды Agile-проектов небольшие, и их участники должны быть «подкованы» в разных областях.
  3. Время для развития. Успешное Agile-движение происходит тогда, когда команда полностью посвящена проекту.
  4. Команды часто забывают о документации. Лучше всего найти баланс между бумажными вопросами и личными встречами.
  5. Конечный продукт может сильно отличаться от того, что было изначально задумано. Вы можете добавлять новые итерации, поскольку метод подразумевает гибкость.

Основные обязанности менеджера Agile-проектов:

  • Поддержание всех активностей и ценностей в проектной команде.
  • Устранение помех и препятствий.
  • Проведение и модерирование всех совещаний.
  • Обсуждая путей преодоления препятствий.
  • Работа с приоритетами, усиление отстающих вопросов в рамках процессов.
  • Мотивирование. Руководители проектов должны быть основными мотиваторами для своих команд.

Сравнение гибких методологий

Вы можете попробовать разные инструменты управления проектами в рамках 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 состоят из названия, типа, темы, приоритетности, содержания и компонентов.

Сервис предлагает управленцам множество конфигурации и решений непрофильных задач, таких как управление рисками, автоматизации рекрутинга и др.

HP Agile Manager

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

GanttPRO

Сервис, основанный на использовании онлайн диаграмм Ганта, помогает создавать объемные проектные планы за короткое время и позволяет качественно руководить ими. Менеджеры могут делиться полученными графиками и экспортировать их в отчеты, бизнес-планы и презентации.

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

Basecamp

Сервис, известный аж с 2004 года, постоянно подвергается обновлениям и инновационным правкам. Разработчики Basecamp постоянно выпускают виджеты и плагины для интеграции, предоставляют доступ к API, поддерживают мобильные клиенты.

Менеджеры выбирают этот сервис для работы с Agile-проектами за простой и понятный интерфейс, возможность создавать собственные дополнения, доступность для преподавателей и студентов.

Bipulse

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

Пример работы с проектом в JIRA:

Пример работы с проектом в GanttPRO:

А вы использовали методологию Agile в своей работе?

Что вы можете сказать о результатах вашего проекта?

Получился ли тот самый “огонь”?!

Методология Agile. Матерь драконов или всех гибких методологий

История Agile начинается с публикации в 2001 году «Манифеста гибкой разработки ПО», состоящего из 12 принципов. Конечно, отдельные положения Agile-подхода появились появлялись и до этого, но только этот документ систематизировал и изложил их в достаточной для использования мере. Каждый год под манифестом подписываются новые компании, IT-специалисты и проектные менеджеры. Появляются новые методы и модификации гибкой системы разработки.

Что такое Agile Methodology (гибкая методология)?

Agile — итеративная модель разработки, в которой программное обеспечение создают инкрементально с самого начала проекта, в отличии от каскадных моделей, где код доставляется в конце рабочего цикла.

Основа гибкой методологии — разбиение проектов на маленькие рабочие кусочки, называемые пользовательскими историями. Согласно приоритетности задачи решают в рамках коротких двухнедельных циклов (итераций).

12 принципов, которые составляют Agile Methodology, можно поделить на 4 главные идеи:

  • Приоритет людей и общения над инструментами и процессами;
  • Приоритет работающего продукта над полной документацией;
  • Приоритет сотрудничества с заказчиков над утверждением контракта;
  • Приоритет готовности меняться над следованием первоначально созданному плану.

Методы присутствующие в Agile:

Scrum

Своему термину «Scrum» обязан регби, в котором это слово означает метод командной игры в виде построения трех линий каждым из соперников и попытке захватить мяч. Для успешного перехвата нужна не только хорошая физическая подготовка, но и слаженность каждого участника схватки и четкое понимание цели.

Метод успешно применяют такие компании как Microsoft, Yahoo, Siemens Healthcare, а проектный менеджер в Amazon даже описал кейс внедрения Scrum на основе полученного опыта.

Так как скрам — каркас разработки, в каждом последующем примере он может значительно отличаться от предыдущего.

Джефф Сазерленд, автор книги «Scrum. Революционный метод управления проектами» выделил 8 шагов по использованию методики:

  1. Выберите владельца продукта — он знает о цели проекта и ожидаемом результате.
  2. Соберите команду — до 10 человек с необходимыми для создания работоспособного продукта навыками.
  3. Найдите скрам-мастера — он следит за ходом проекта, помогает проектной команде бороться с трудностями.
  4. Составьте бэклог продукта — на Agile-доске расставьте приоритеты по каждому требованию к продукту. В этом большую роль играет владелец продукта, который собирает пожелания к продукту для оценки командой бэклога.
  5. Запланируйте спринты (итерации) — отрезки времени на выполнение определенного ряда задач.
  6. Организовывайте ежедневные пятнадцатиминутные «мит-апы» — задавайте по 3 вопроса каждому из команды: что делал вчера, что будет сегодня, что мешает выполнить задачу.
  7. Делайте обзоры рабочих частей продукта — с вовлечением в просмотр и обсуждение стейкхолдеров.
  8. Проводите ретроспективу — обсуждение проблемы и поиск решения после каждого спринта. Полученный план изменения внедряете на следующем спринте.
Ретроспектива в Agile

В скрам есть 4 ключевых элемента:

  • Product Backlog — список требований по проекту
  • Sprint Backlog — список требований, которые нужно выполнить в ближайший спринт
  • Sprint Goal — цель спринта
  • Sprint Burndown Chart — диаграмма, которая обновляется по мере завершения задач. По ней легко понять динамику и уровень продвижения команды в проекте.

eXtreme Programming (XP)

Разработчик методики, Кент Бек, создал метод экстремального программирования, цель которого — справиться с постоянно меняющимися требованиями к программному продукту и повысить качество разработки.

Он применим исключительно в сфере разработки ПО, и строится вокруг 4 процессов:

  1. кодирование — согласно единым в команде стандартам оформления;
  2. тестирование — тесты пишутся самими программистами до написания кода, который будут тестировать;
  3. планирование — как финального билда, так и отдельных итераций. Последнее проходит в среднем раз в две недели.
  4. слушание — как разработчиков, так и клиента, в ходе которого исчезают неясности, определяются требования и ценности.

Crystal Methodologies

Малоизвестное на отечественных просторах проектного менеджмента семейство методологий, разработанное Алистером Кокберном, одним из автором «Манифеста гибкой разработки ПО». Классификацию Кокберн предлагает проводить по цветам за критерием количества человек в команде: от 2 (Crystal Clear) до 100 (Crystal Red). Под более масштабные проекты выделены цвета Maroon, Blue и Violet.

Crystal-проекты должны соответствовать 3 основным показателям:

  1. быстрая доставка рабочего кода — развитие идеи итеративной модели разработки Agile.
  2. совершенство через рефлексию — новая версия ПО улучшается на основе данных о предыдущей.
  3. «осмотическое» взаимодействие — нововведение Алистера, метафора коммуникации и обмена информацией между разработчиками ПО в одной комнате.

Dynamic Software Development Method (DSDM)

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

Особая роль отводится участия конечного потребителя (пользователя) в процессе разработки. Помимо этого принципа, к базовым относятся:

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

DSDM делится на версии, которые обновляются по мере развития технологий, появления новых требований к разработке ПО. Последняя на сегодня — DSDM Atern, выпущенная в 2007 году, хотя предыдущая (2003 года) еще в строю.

В начале команда изучает реальность разработки приложения и область применения. Дальше работа делится на три взаимосвязанных цикла:

  1. цикл функциональной модели — создание аналитической документации и прототипов.
  2. цикл проектирования и конструирования — приведение системы в рабочее состояние.
  3. цикл реализации — развертывание системы.

Feature Driven Development (FDD)

Методология, которая появилась даже раньше, чем «Манифест гибкой разработки ПО«.

Хоть в FDD тоже применяется итерационная модель разработки, от Agile она отличается в следующем:

  • больше внимания предварительному моделированию
  • повышенная (по сравнению с Agile) важность построения отчётности и графиков
  • нацелено на корпоративную разработку.

Feature Driven Development состоит из таких цикличных этапов:

  1. Создание общей модели — видение проекта на основе предварительных данных.
  2. Разработка списка свойств — аналог product backlog в методике скрам.
  3. Планирование по свойствам — оценка сложности свойств каждым членом команды.
  4. По каждому свойству — технический дизайн и реализация — финальная стадия, по окончанию которой свойство уходит в продукт и цикл повторяется.

Lean Software Development

Lean Software Development — скорее не методология, а набор принципов бережливого производства, который направлен на повышение эффективности процесса разработки, минимизацию затрат.

В набор входят следующие 7 принципов:

  1. избавление от потерь — всё, что не прибавляет ценности продукту для конечного потребителя.
  2. постоянное обучение — непрерывное развитие команды увеличивает возможности эффективного выполнения задач.
  3. принятие решения так поздно, как только можно — приоритет не спонтанным решениям, а продуманным, разработанным на основе полученных знаний.
  4. быстрая доставка — по сути основа итеративной модели.
  5. усиление команды — один из принципов «Манифеста. » гласит, что люди и взаимодействие важнее процессов и инструментов. Проектная команда — основа успешного завершения задач.
  6. целостность и качество — нужно изначально делать качественный продукт, чтобы не тратить время и ресурсы на дальнейшее тестирование и избавление от багов.
  7. видение цельной картины — разбиение проекта на отдельные части невозможно без понимания текущего статуса разработки, целей, концепции и стратегии разрабатываемого ПО.

Разновидность методологий гибкой разработки

Agile Modeling (AM)

Agile Modeling — набор ценностей, принципов и практик для моделирования программного обеспечения.

AM используют как составляющую полноценной методики разработки ПО — например, экстремального программирования или Rapid Application Development.

Принципы Agile Modeling таковы:

  • эффективное взаимодействие между проектными стейкхолдерами
  • стремление разработать наиболее простое из возможных решений, которое подойдет всем требованиям
  • постоянное получение обратной связи
  • смелость принимать и отвечать за решения
  • понимание, что вы не знаете абсолютно всё.

Agile Unified Process (AUP)

AUP — упрощённая версия другой методологии разработки ПО — Rational Unified Process (RUP). С 2012 года её заменили на Disciplined Agile Delivery (DAD), но кое-где AUP еще встречается.

Автор методики, Скотт Амблер, выделил следующие ключевые позиции Agile Unified Process:

  • Ваша команда знает, что делает;
  • Простота превыше всего.
  • Соответствие принципам гибкой методологии разработки.
  • Сфокусированность на ценных для проекта активностях.
  • Независимость в выборе инструментов.
  • Индивидуальная настройка AUP под нужды конкретного проекта.

Agile Data Method (ADM)

ADM — набор итеративных методик гибкой разработки программного обеспечения, которые делают упор на формирование требования и решений по проекту через сотрудничество отдельных команд. Как и AUP, это не самоценная методика.

Суть Agile Data Method определяется шестью положениями:

  1. Данные — основа создания любого приложения.
  2. Проблемы с проектом — их можно обнаружить только при чётком понимании цели и концепции проекта.
  3. Рабочие группы — помимо непосредственной команды разработчиков есть enterprise groups, которые поддерживают другие рабочие группы.
  4. Уникальность — нет идеальной методики, под каждый проект нужно комбинировать инструменты с разных методологий.
  5. Работа в команде — совместная работа гораздо эффективнее, чем поодиночке.
  6. «Сладкое пятно» — поиск оптимального решения проблемы («сладкого пятна»), избегая крайностей.

Essential Unified Process (EssUP)

Разработка шведского учёного Ивара Якобсона, созданная для улучшения Rational Unified Process.

EssUP оперирует понятием практики, в которые входят:

  • сценарий использования — описание поведения системы.
  • итерационная разработка — создание рабочих кусков кода короткими циклами в несколько недель.
  • командные практики — направленные на сплочение команды и повышение её эффективности.
  • процессуальные практики — например, «Думай глобально, начинай с малого» или «Вовлекайте стейкхолдеров в бизнес-процессы».

Все практики в том или ином виде встречаются в методологиях RUP, CMMI и гибкой методике разработки.

Getting Real (GR)

Эффективная для стартапов и начинающих команд методология, которая предлагает по максимуму использовать особенности небольших проектов и компаний: мобильность, гибкость, поиск новых решений, отсутствие жёсткой запутанной иерархии и т.д. Джейсон Фрид и Давид Ханссон, основатели компании 37signals (теперь — Basecamp), определили Getting Real как систему для решения реальных задач: максимально простую, понятную и функциональную.

GR — сборная солянка из десятка инструментов гибкой разработки, которые используются для минимизации:

  • возможностей
  • опций и настроек
  • структуры компании
  • встреч
  • обещаний.

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

OpenUP (OUP)

Независимая от инструментов методология разработки ПО без жесткой структуры, которая содержит такие практики:

  • измерение скорости работы команды;
  • проведение ежедневных встреч и ретроспектив по завершению итераций;
  • концепция микрошагов и раннего тестирования с использованием чеклистов;
  • методика гибкого моделирования (AMDD).

Практики реализуются на основе четырех принципов:

  1. согласование интересов и достижение общего видения во время совместной работы
  2. непрерывное совершенствование через постоянную обратную связь
  3. фокусирование на архитектуре приложения на ранних стадиях для минимизации рисков
  4. максимизация ценности для конечного потребителя.

Agile показатели

Учитывая разнообразие инструментов, практик, методов и методологий в Agile, нужно выбрать инструмент, который поможет определить эффективность каждого из них. Таким инструментом выступают метрики.

Для большинства проектов хватит 4 направлений метрик:

  1. Производительность — сюда относятся Velocity и WIP. Первая подойдёт не для всех проектов, так как идет измеряются количество выполненных задач в итерацию, а они неравнозначны. Метрика Work-in-Progress определяет лимит задач на разных стадиях: и чем он выше, тем хуже;
  2. Прогнозирование — метрика capacity: определение количества идеальных часов, доступных в следующем спринте. Соответственно, можно понять, сколько времени есть на работу, насколько эффективно выполнение задач и как спланировать количество задач для спринта;
  3. Качество — например, индекс стабильности требований, который рассчитывается по формуле = (Общее количество оригинальных бизнес-требований + Число требований, которые поменялись к этому времени + Число добавленных требований + Число убранных требований) / (общее число оригинальных требований). С помощью метрики определяется количество времени, затраченное на переделывание задач;
  4. Ценности — в каждом случае просчитывается индивидуально, зависимо от формата проекта. Например, стартап AirBnb в качестве метрики, определяющую конечную ценность продукта для пользователей, выбрала количество загруженных фотографий высокого качества. С их увеличением пропорционально росло и количество потребителей.

К метрикам применимы те же правила, что и к другим Agile-инструментам.

Нет единственно верной или нужной вашему проекту метрики.

Их нужно постоянно пересматривать, отбрасывать устаревшие и добавлять новые по мере необходимости. Она должна быть понятна и доступна всей всей команде, не превращаться в самоцель. Метрика ради метрики — плохое решение.

Разрушители мифов: Agile

Популярность семейства гибкой методологии разработки сыграла с ним злую шутку, и даже на специализированных порталах встречаются мифы о том или ином аспекте Agile. Будем разбираться!

Миф № 1: Agile подойдет для всех проектов.

Самое упорное заблуждение. Ни один метод Agile не добавит сам по себе ценности продукту и не смотивирует команду.

Миф № 2: Agile против документации.

Гибкая методология разработки не против документации, она против документации как самоцели. А вот при выборе документации как средства коммуникации Agile действительно отдаёт приоритет живому общению.

Миф № 3: Agile и планирование несовместимы.

Опровержением этого мифа служат дневные планирования с 10-минутными стэндапами, итерационное планирование каждые две недели, спринт-встречи и т.д.

Миф № 4: Agile требует много переделывания (re-work).

В гибкой методологии разработки ПО переделывание проявляется в двух формах: переделывание требований (пользователи понимают, что им действительно нужно) и программного обеспечения (команды разработчиков находят улучшенные способы написать и спроектировать приложение). Но с этим приходится сталкиваться и в других методиках! Более того, для уменьшения негативного влияния rework и нужна итерационная модель, которая является особенностью Agile.

Плюсы и минусы использования Agile

Плюсы:

  1. вовлечение стейкхолдеров — у команды появляется больше возможностей понять желания клиента. А ранняя и частая доставка ПО усиливает доверие стейкхолдеров к проектной команде и еще глубже вовлекает в проект.
  2. ранняя и предсказуемая доставка — модель разработки через итерации (короткие промежутки от 1 до 6 недель) дает гибкость, ускоряет выпуск релиза продукта.
  3. фокусирование на бизнес-ценности — коллаборация с клиентом обеспечивает понимание командой того, как сделать продукт максимально ценным для потребителя.
  4. непрекращающееся улучшение качества — тестирование во время каждой итерации, деление финального билда на отдельные куски рабочего кода позволяют улучшать и справляться с ошибками ПО до выхода финального продукта.

Минусы:

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

  • не работает без четкого видения бизнес-целей проекта — так как Agile-команда ориентируется на стейкхолдеров, то без выработки целей и концепции продукта разработка невозможна.

Приложения

Для ведения проектов с Agile подходят далеко не все сервисы или программы для проектного менеджмента, ведь у каждого есть своя специфика.

Если ваш бизнес относится к маркетинг и рекламным, дизайнерским, seo или digital агентствам , то saas-сервис Worksection можно применить для работы всей команды целиком. Нас рекомендуют COXO Digital, Royal ® Advertising и Prozorro.

Вот пара лайфхаков, чтобы настроить Agile в Worksection:

  1. настройте метки и статусы, которые необходимы для работы именно вашей компании.
    Статусы могут быть такими: в работе, проверка, выполнено, требует доработки, критично, фича, оплатить.
    Метки часто выглядят как: верстка, тестирование, продакшен, концепт, код.
  2. создайте проект-беклог и проект-спринг.
  3. создавайте задачи и предварительные чеклисты, скетчи и прочее в беклоге.
  4. на мит-апах определяйте задачи на спринг и переносите их из беклога в спринт.
  5. используйте гостевой доступ клиентов к задачам, чтобы всегда иметь согласованные и актуальные комментарии по проекту.
  6. отмечайте ответственных в задачах, чтобы каждый коллега знал зону своей ответственности и чувствовал причастность к результату спринта.

Вердикт

С гибкой методологией разработки программного обеспечения небольшие проектные команды добиваются максимальной эффективности. Agile реализуется через другие гибкие методы: Scrum, XP, Lean и т.п.

Её невозможно реализовать с наскока, неопытной командой, за короткий отрезок времени, но внедрение Agile улучшит взаимодействие между IT и бизнесом, ускорит выход продукта на рынок, повысит ценность продукта для конечного пользователя.

Топ-7 методов управления проектами: Agile, Scrum, Kanban, PRINCE2 и другие

08 Июл 2020

«Из всех трудностей, с которыми столкнулись НАСА, отправляя человека на Луну, управление было наверно самой сложной задачей»

— Роджер Лаунис, историк НАСА

У человечества за всю историю накопился внушительный список успешно реализованных сложных проектов. От строительства Пирамид в Гизе до отправки человека на Луну, самые смелые человеческие начинания требовали слаженной работы тысяч людей. А это подразумевает сложную систему управления проектами.

И хотя лишь единицы из нас столкнутся с задачами такого масштаба, большинство читателей этого блога так или иначе сталкивается с проектным управлением. По оценкам PMI к 2020 году появятся 15 миллионов новых позиций проектных специалистов – а многим другим профессионалам зачастую приходится руководить мини-проектами, хотя бы на личном уровне.

Говоря простыми словами, Управление проектами – это управление и организация всего, что нужно для достижения цели – вовремя и в рамках бюджета, конечно же. Будь до разработка нового программного обеспечения, проведение маркетинговой компании или высадка человека на Марс – проектное управление позволяет добиться успеха.

Все проекты разные. Не существует идеальной системы управления проектами, подходящей для каждого из видов проектов. Также не существует системы, которая бы подходила каждому руководителю и была удобна для всех членов команды. Однако за время существования проектного управления было создано немало эффективных подходов, методик и стандартов, которые можно взять на вооружение. О самых популярных из них мы сегодня и поговорим.

Разработанные подходы сильно отличаются друг от друга. Они различаются по областям применения, детализированности, самодостаточности и формализации. В заголовке мы назвали их «методами» для удобства, но на самом деле в статье представлены стандарты, концепции, методы и фреймворки, которые применяются в управлении проектами. Цель данной статьи — дать наиболее широкий обзор существующих в управлении проектами подходов.

В этой статье мы рассмотрим:

  • Классический проектный менеджмент
  • Agile
  • Scrum
  • Lean
  • Kanban
  • SixSigma
  • PRINCE2

И прежде чем рассматривать конкретные методы, давайте ответим на очевидный вопрос – «А зачем вообще нужны системы и методы управления проектами?» – рассмотрим, естественно, кратко, историю управления проектами и определим базовые термины проектного управления.

Почему «управление проектами»?

Имена Нила Армстронга и Базза Олдрина навсегда войдут в историю как символы одного из величайших достижений человечества – высадке человека на Луну. Однако основной вклад в это событие внесли 400 000 сотрудников НАСА и 20 000 компаний и университетов, работавших вместе над миссией «Аполлон».

В 1961 году Джон Кеннеди поставил задачу высадить человека на спутнике Земли и вернуть его обратно – при том, что на тот момент НАСА отправляли человека в космос лишь на 15 минут. Такая амбициозная цель потребовала невероятного количества ресурсов, кооперации, инноваций и планирования.

Как говорится в книге НАСА «Managing the Moon Program», основная проблема состояла не в том, «что делать?», а в том, «как сделать столько за такой короткий срок?». По словам доктора Макса Фагета (Dr. Max Faget), главы инжиниринга в Космическом центра имени Линдона Джонсона (The Lyndon B. Johnson Space Center, JSC), тогда в НАСА не представляли, как уложить все необходимые действия в 10 лет. А потому первым шагом стало «разбить проект на управляемые этапы».

Затем важно было ускорить выполнение каждой отдельной фазы и удостовериться, что команды и компании, работающие на каждой фазе, эффективно взаимодействуют друг с другом и вовремя поставляют результаты. Эта задача была возложена на доктора Джорджа Мюллера (George E. Muller), управлявшего каждой частью проекта «Аполлон», от Белого Дома до поставщика самой мелкой детали. Чтобы контролировать проект было легче, он решил разбить проект на 5 областей: «Контроль Программы», «Системная Инженерия», «Тестирование», «Надёжность и Качество» и «Лётная эксплуатация». Схема управления программой Аполлон представлена на Рисунке 1.

Эта система из 5 этапов – названных «Этапами GEM» в честь инициалов доктора Мюллера – была разработаны «ради фокусировки на тестировании продукта, и на его разработке с учётом того, что его будут тестировать», как отмечает сам Мюллер. «Контроль Программы» определял, что нужно сделать, управлял бюджетом и требованиями, а также управлял взаимосвязями элементов программы. Область «Системная инженерия» отвечала за разработку новых устройств и узлов, «Тестирование» за то, что эти новые элементы работают, «Надёжность и Качество» проверяли разработанные элементы на соответствие требованиям и стандартам, а «Лётная эксплуатация» отвечала за то, что эти узлы будут работать во время полёта.

Многие изначально отнеслись к методу, предложенному Мюллером, со скептицизмом, но в конце концов ему удалось убедить членов программы в необходимости следования данному алгоритму. Данная система показала свою эффективность – проект был завершён успешно, и, можно даже сказать, триумфально, с опережением заявленных сроков. Это стало возможно только благодаря разбитию масштабного проекта на управляемые, повторяемые этапы, что позволило работать множеству отдельных компаний и специалистов в едином ритме. Так проектное управление доказало свою эффективность в Космической гонке.

Краткая история проектного управления

Проектное управление не было изобретено НАСА и доктором Мюллером. Египетские пирамиды и Великая Китайская стена являются продуктами проектного управления из доисторических эпох. К сожалению, документальных свидетельств того, как проходила реализация и управления этими проектами не сохранилось, и нынешнее проектное управление оторвано от знаний прошлых веков.

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

Однако, если Вы – шеф-повар, и готовите не одно блюдо, а несколько, например, салат (приготовление которого состоит из 3 этапов) и десерт (который нужно только подать), то Вам потребуется инструмент, позволяющий отслеживать временные затраты на каждый из элементов и время, когда они должны быть готовы. И тут на помощь приходит один из первых современных инструментов проектного управления: Диаграмма Гантта, представленная на Рисунке 2.

Изобретённая независимо Королем Адамеки (Korol Adamecki) и Генри Л. Ганттом (Genry L. Gantt) в начале XX в., диаграмма Гантта показывает расписание проекта основываясь на датах окончания и завершения задач. В неё вносятся задачи, их длительности и взаимосвязи, а затем высчитывается критический путь – самая длинная цепочка взаимосвязанных задач, определяющих длительность проекта. Взаимосвязи между началом и окончанием разных задач очень важны – вы же не можете подать гостям суп, пока вы его не сварили, не так ли?

Так вот, типовой проект очень похож на проект приготовления и подачи ужина, только в нём гораздо больше задач, взаимосвязей, дедлайнов и видов ресурсов. Проектам с жёсткими дедлайнами диаграмма Гантта помогает решить, когда лучше начинать те или иные задачи, чтобы сократить время реализации. А для проектов с сильными ресурсными ограничениями, диаграмма Гантта предоставляет возможность построить схему в форме событийной цепочки процессов (event-driven process chain) для планирования ресурсов.

Разным проектам нужен различный уровень контроля. Например, если вы публикуете серию статей в блоге, то, жёсткие дедлайны не так важны. Гораздо важнее чёткий процесс, в рамках которого есть возможность составить структуру каждой статьи, сделать набросок каждой из них, получить обратную связь, внести правки, закончить статью, вычитать и опубликовать. Вместо управления временем и ресурсами, вы управляете процессом.

Для таких проектов лучше подходят гибкие методы управления проектами Agile и связанные с ним подходы, такие как Lean, Kanban и другие. Есть и методы, позволяющие управлять как рабочим потоком, так и временем, и ресурсами – 6 Сигм и Scrum.

Популярные системы управления проектами

За всю историю проектного управления было создано множество различных методов управления проектами под практически любые нужды. Даже если Вы не собираетесь отправлять человека на Луну и не располагаете аналогичным количеством ресурсов, Вы всё равно найдёте подходящий для себя инструмент. Главное понять, что самое важное для Вашего проекта – дедлайны, ресурсы, соблюдение процесса, или сразу несколько факторов – а затем выбрать метод управления проектом, ориентированный на достижение этого показателя.

Прежде чем приступить к рассмотрению самых популярных методов, определим некоторые ключевые термины.

Базовые термины проектного управления

Agile: Гибкий итеративно-инкрементальный подход к управлению проектами и продуктами, ориентированный на динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля. Существует множество методов, базирующихся на идеях Agile, самые популярные из которых – Scrum и Kanban.

Критический путь: Непрерывная последовательность работ и событий от начального до конечного события, требующая наибольшего времени для её выполнения.

Событийная цепочка процессов (EPC-диаграмма): диаграмма, отображающая последовательность реализации работ проектов основываясь на доступности и загруженности ресурсов

Резерв времени: Время, на которое может быть отложено начало работы без влияния на общую продолжительность проекта. Таким образом, у работ на критическом пути резерв будет равняться нулю.

Веха (контрольная точка, milestone): Ключевое событие, обозначающее, например, конец этапа. На диаграмме Гантта обозначается задачей с нулевой длительностью.

Менеджер проекта (руководитель проекта, project manager, PM): Руководитель команды проекта, ответственный за управление проектом (планирование, реализацию и закрытие проекта).

Ресурсы: Элементы, необходимые для реализации проекта. Ресурсами являются время, оборудование, материалы, сотрудники и прочее.

Содержание проекта (Scope): Описание работ, которые необходимо выполнить, чтобы получить продукт.

Спринт (Sprint): Итерация (рабочий цикл) в Scrum, длящаяся от недели до месяца, в ходе которой создаётся рабочая версия продукта или его элемент, представляющий ценность для заказчика.

«Классическое» или «традиционное» проектное управление: Наиболее широко распространённый метод управления проектами, основанный на так называемом «водопадном» (Waterfall) или каскадном цикле, при котором задача передаётся последовательно по этапам, напоминающим поток.

Далее мы рассмотрим различные подходы к управлению проектами более подробно. Мы начнём с Классического проектного управления и Agile, а затем рассмотрим Scrum, Kanban, 6 сигм и другие.

Классическое проектное управление

Наиболее очевидный способ сделать свой проект более управляемым – это разбить процесс его исполнения на последовательные этапы. Именно на такой линейной структуре базируется традиционное проектное управление. В этом смысле оно напоминает компьютерную игру – нельзя перейти на следующий уровень не завершив предыдущий. Схема рабочего процесса приведена на Рисунке 3.

Данный подход ориентирован на проекты, в которых есть строгие ограничения по последовательности выполнения задач. Например, строительство дома – нельзя возводить стены без фундамента.

Обычно выделяют 5 этапов классического проектного управления, но можно добавлять и дополнительные этапы, если того требует проект.

5 этапов традиционного менеджмента:

Этап 1. Инициация. Руководитель проекта и команда определяют требования к проекту. На данном этапе часто проводятся совещания и «мозговые штурмы», на которых определяется что же должен представлять из себя продукт проекта.

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

Этап 3. Разработка. Данная стадия реализуется не для всех проектов — как правило она является частью фазы планирования. В фазе разработки, характерной для технологических проектов, определяется конфигурация будущего проекта и/или продукта и технические способы его достижения. Например в ИТ-проектах на данном этапе выбирается язык программирования. (В отечественной практике данная фаза обычно не выделяется, а термин «разработка» не используется — прим. пер.)

Этап 4. Реализация и тестирование. На этой фазе происходит собственно основная работа по проекту – написание кода, возведение здания и тому подобное. Следуя разработанным планам начинает создаваться содержание проекта, определённое ранее, проводится контроль по выбранным метрикам. Во второй части данной фазы происходит тестирование продукта, он проверяется на соответствие требованиям Заказчика и заинтересованных сторон. В части тестирования выявляются и исправляются недостатки продукта.

Этап 5. Мониторинг и завершение проекта. В зависимости от проекта данная фаза может состоять из простой передачи Заказчику результатов проекта или же из длительного процесса взаимодействия с клиентами по улучшению проекта и повышению их удовлетворённости, и поддержке результатов проекта. Последнее относится к проектам в области клиентского сервиса и программного обеспечения.

То, что описано выше – база, на которой строятся различные методы управления проектами. Разным проектам нужны различные фазы реализации – некоторым достаточно и трёх фаз, другим гораздо больше. Иногда используется так называемый «итеративный водопад», в котором каждый этап представляет собой некий подпроект, в ходе которого задачи реализуются по фиксированным итерациям. Но суть остаётся одна – проект разбит на этапы, которые исполняются в строго определённой последовательности.

Благодаря тому, что классический проектный менеджмент строго привязан ко времени исполнения задач, как правило, заранее определённому на этапе планирования, для реализации проектов в рамках данного подхода отлично подходят инструменты календарно-сетевого планирования. Самым распространённым инструментом календарно-сетевого планирования является уже упомянутая ранее диаграмма Гантта. Существует множество инструментов для её построения – от простых таблиц вроде Excel и Smartsheet до профессиональных программных пакетов вроде Microsoft Project и Primavera.

Сильные стороны классического проектного менеджмента

Сегодня довольно часто говорится о том, что классический водопадный подход устарел, но он и не думает сдавать позиции. Большим плюсом данного подхода является то, что он требует от Заказчика и руководства компании определить, что же они хотят получить, уже на первом этапе проекта. Раннее включение привносит определённую стабильность в работу проекта, а планирование позволяет упорядочить реализацию проекта. Кроме того, этот подход подразумевает мониторинг показателей и тестирование, что совершенно необходимо для реальных проектов различного масштаба.

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

Слабые стороны классического проектного менеджмента

Основная слабая сторона классического проектного менеджмента – нетолерантность к изменениям. Руководство компании Toyota, знаменитую созданием таких систем как Lean и Kanban, часто критикуют за то, что они применяют классический подход в разработке софта для своей компании, причём именно за недостаток гибкости.

Оплот классического подхода сейчас – строительные и инженерные проекты, в которых содержание проекта остаётся практически неизменным в течение всего проекта. Но если в Вашем проекте ресурсы и время не являются ключевыми ограничениями, а содержание проекта подвержено изменениям – возможно вам стоит присмотреться к другим системам управления проектами.

Agile

Как уже говорилось ранее – не все проекты могут быть структурированы таким образом, чтобы быть реализованными по классическому проектному подходу. Возвращаясь к нашему примеру с шеф-поваром: приготовление одного блюда идеально ложится на «водопадный» подход, а вот вовремя приготовить и подать ужин из четырёх блюд будет практически невозможно, если придётся каждый раз ждать окончания приготовления одного блюда, чтобы приступить к приготовлению другого.

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

Таким образом, инициация и верхнеуровневое планирование проводятся для всего проекта, а последующие этапы: разработка, тестирование и прочие проводятся для каждого мини-проекта отдельно. Это позволяет передавать результаты этих мини-проектов, так называемые, инкременты, быстрее, а приступая к новому подпроекту (итарации) в него можно внести изменения без больших затрат и влияния на остальные части проекта.

Несмотря на то, что Agile вошёл в моду относительно недавно, идея итеративной разработки не нова (об истории появления Agile можно прочесть здесь – прим.пер.). Своё нынешнее название семейство гибких методологий получило в 2001 с публикации Манифеста Agile (Agile Manifesto), закрепившем основные ценности и принципы гибкой разработки программного обеспечения, в основе которых – командная работа и адаптация, даже «любовь» к изменениям.

Сам по себе Agile – не метод управления проектами. Это скорее набор идей и принципов того, как нужно реализовывать проекты. Уже на основе этих принципов и лучших практик были разработаны отдельные гибкие методы или, как их иногда называют, фреймворки (frameworks): Scrum, Kanban, Crystal, и многие другие. Эти методы могут достаточно сильно отличаться друг от друга, но они следуют одним и тем же принципам.

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

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

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

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

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

В отличие от PRINCE2 и PMBOK Agile – не является ни методологией, ни стандартом. Agile — это набор принципов и ценностей. Слабая сторона состоит в том, что каждой команде придётся самостоятельно составлять свою систему управления, руководствуясь принципами Agile. Это непростой и длительный процесс, который потребует изменений всей организации, начиная процедурами и заканчивая базовыми ценностями. Это тернистый путь и не всем организациям он под силу.

Этот путь потребует от лидера изменений не только знаний и упорства, но и серьёзных административных ресурсов, а также затрат. К счастью, существуют готовые наборы практик, которые облегчают Agile-трансформацию организации. К таким наборам относятся фреймворк Scrum, метод Kanban и многие другие – Crystal, LeSS, SAFe, Nexus.

Scrum

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

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

Чтобы удостовериться в том, что проект отвечает требованиям Заказчика, которые имеют свойство изменяться со временем, перед началом каждого Спринта происходит переоценка ещё не выполненного содержания проекта и внесение в него изменений. В этом процессе участвуют все – команда проекта, Scrum Мастер (Scrum Master, лидер команды проекта) и Владелец продукта. И ответственность за этот процесс лежит на всех.

Как уже говорилось, Владелец продукта является представителем Заказчика в проекте, или олицетворяет всех клиентов будущего проекта, в случае если Заказчика нет. Для этого он должен досконально знать их потребности и образ мышления, а также разбираться в продукте и технологии его изготовления. Scrum Мастер призван помочь участникам проекта лучше понять и принять ценности, принципы и нормы практики Scrum. Он лидер и посредник между внешним миром и командой. Его задача — следить, чтобы никто не мешал команде самостоятельно и комфортно работать над поставленными задачами. Команда же отвечает за то, чтобы в конце спринта все необходимые задачи были сделаны, а поставки – выполнены.

Основная структура процессов Scrum вращается вокруг 5 основных встреч: упорядочивания беклога, планирования Спринта, ежедневных летучек, подведения итогов Спринта и ретроспективы Спринта.

  • Встреча по упорядочиванию беклога (BacklogRefinementMeeting, «BacklogGrooming»): Эта встреча аналогична фазе планирования в классическом проектном управлении, и проводится в первый день каждого Спринта. На ней рассматривается – что уже было сделано по проекту в целом, что ещё осталось сделать и принимается решение о том, что же делать дальше. Владелец продукта определяет, какие задачи на данном этапе являются наиболее приоритетными. Данный процесс определяет эффективность Спринта, ведь именно от него него зависит, какую ценность получит Заказчик по итогам спринта.
  • Планирование Спринта: После того, как Владелец продукта определил приоритеты, команда совместно решает, что же конкретно они будут делать во время грядущей итерации, как достигнуть поставленной на предыдущей встрече цели. Команды могут применять различные инструменты планирования и оценки на данном этапе, лишь бы они не противоречили принципам и логике Scrum. Планирование Спринта проводится в самом начале итерации, после Встречи по упорядочиванию продукта.
  • Ежедневные летучки: Каждый день спринта, в идеале, в одно и то же время, члены команды тратят 15 минут на то, чтобы поделиться информацией о статусе задач и состоянии проекта. На ней не происходит обсуждений проблем или принятия решений – если после встречи возникают вопросы и конфликты, Scrum Мастер и вовлечённые участники обсуждают их отдельно. Летучка же нужна для обмена информации и поддержания всех членов команды в курсе состояния проекта.
  • Подведение итогов Спринта: Цель этапа – обследование и адаптация создаваемого продукта. Команда представляет результаты деятельности всем заинтересованным лицам. Основная задача – убедиться, что продукт этапа соответствует ожиданиям участников и согласуется с целями проекта.
  • Ретроспектива Спринта: Проводится сразу после Подведения итогов спринта и до планирования следующего спринта. На нём команда выясняет, насколько чётко и слаженно проходил процесс реализации этапа. Обследованию подвергаются возникшие проблемы в работе, методологии и взаимодействии. Именно этот этап позволяет команде провести рефлексию и следующий Спринт провести эффективнее.

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

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

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

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

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

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

Scrum очень требователен к команде проекта. Она должна быть небольшой (5-9 человек) и кроссфункциональной – то есть члены команды должны обладать более чем одной компетенцией, необходимой для реализации проекта. Например разработчик ПО должен обладать познаниями в тестировании и бизнес-аналитике. Делается это для того, чтобы часть команды не «простаивала» на разных этапах проекта, а также для того, чтобы сотрудники могли помогать и подменять друг друга.

Кроме того, члены команды должны быть «командными игроками», активно брать на себя ответственность и уметь самоорганизовываться. Подобрать такую зрелую команду очень непросто!

Scrum подходит не для всех команд и организаций ещё и потому, что предлагаемый процесс может не подойти для разработки конкретного продукта – например промышленного станка или постройки здания.

Agile говорит нам, что необходимо разбивать на небольшие управляемые пакеты работ, но ничего не говорит о том, как управлять разработкой этого пакета. Scrum предлагает нам свои процессы и процедуры. Lean же, в свою очередь, добавляет к принципам Agile схему потока операций (workflow) для того, чтобы каждая из итераций выполнялась одинаково качественно.

В Lean, так же, как и в Scrum, работа разбивается на небольшие пакеты поставки, которые реализуются отдельно и независимо. Но в Lean для разработки каждого пакета поставки существует поток операций с этапами, подобными тем, которые были созданы для проекта Аполлон. Как и в классическом проектном менеджменте, это могут быть этапы планирования, разработки, производства, тестирования и поставки – или любые другие необходимые для качественной реализации проектов этапы.

Этапы Lean и их гибкость позволяют быть уверенными в том, что каждая часть проекта реализуется так, как требуется. В Lean не прописаны чёткие границы этапов, как в Scrum прописаны ограничения Спринтов. Кроме того, в отличие от классического проектного менеджмента, Lean позволяет параллельно выполнять несколько задач на разных этапах, что повышает гибкость и увеличивает скорость исполнения проектов.

Как и Agile, Lean это скорее концепция, образ мышления, нежели нечто высеченное в камне. Используя идеи Lean Вы можете самостоятельно создать систему, удовлетворяющую вашим требованиям в управлении проектами.

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

Если Вам нравятся идеи Agile, но проект требует очень ровного качества и чёткого исполнения, Lean предоставляет набор инструментов для того, чтобы удовлетворить эти требования. Lean сочетает гибкость и структурированность, как Scrum, но в немного другом ключе.

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

Не каждая часть проекта требует одинаково детальной и дотошной проработки и внимания. Но Lean предполагает именно такой подход к каждой задаче и этапу. Это основной минус применения Lean для крупных и неоднородных проектов.

А ещё, в отличие от Scrum, Lean не предлагает чёткого рабочего процесса для реализации «кусочков» проекта, что способствует растягиванию сроков проекта. Эта проблема может быть решена при помощи эффективного руководства и чётких коммуникаций ̶ главное помнить об этом.

Kanban

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

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

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

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

Ваша собственная система Kanban может быть настолько гибкой, насколько Вы сами того пожелаете – ведь во многом Kanban является визуализацией идеи Agile. Но у Kanban есть 4 столпа, на которых держится вся система:

  1. Карточки: Для каждой задачи создаётся индивидуальная карточка, в которую заносится вся необходима информация о задаче. Таким образом, вся нужная информация о задаче всегда под рукой.
  2. Ограничение на количество задач на этапе: Количество карточек на одном этапе строго регламентировано. Благодаря этому сразу становится видно, когда в потоке операций возникает «затор», который оперативно устраняется.
  3. Непрерывный поток: Задачи из беклога попадают в поток в порядке приоритета. Таким образом, работа никогда не прекращается.
  4. Постоянное улучшение («кайзен» (kaizen)): Концепция постоянного улучшения появилась в Японии в конце XX века. Её суть в постоянном анализе производственного процесса и поиске путей повышения производительности.

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

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

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

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

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

6 сигм (Six Sigma)

Компания Motorola, наряду с Toyota, также внесла вклад в развитие мирового проектного управления. Инженер этой компании Bill Smith создал концепцию 6 сигм в 1986 году. Это более структурированная версия Lean нежели Kanban, в которую добавлено больше планирования для экономии ресурсов, повышения качества, также снижения количества брака и проблем.

Конечная цель проекта – удовлетворение заказчика качеством продукта, которого можно добиться при помощи непрерывного процесса улучшения всех аспектов проекта, основанном на тщательном анализе показателей. В концепции 6 сигма уделяется отдельное внимание устранению возникающий проблем.

Для этого было предложен процесс из 5 шагов, известных как DMEDI:

  • Определение (Define): Первый этап очень похож на ранние этапы других систем проектного управления. На нём определяется содержание проекта, собирается информация о предпосылках проекта, ставятся цели.
  • Измерение (Measure): 6 сигм ориентирована на сбор и анализ количественных данных о проекте. На данном этапе происходят определяется, какие показатели будут определять успех проекта и какие данные нужно собирать и анализировать.
  • Исследование (Explore): На стадии исследования менеджер проекта решает, каким же образом команда может достичь поставленных целей и исполнить все требования в срок и в рамках бюджета. На данном этапе очень важно нестандартное мышление руководителя проектов при решении возникших проблем.
  • Разработка (Develop): На данном этапе реализуются планы и решения, принятые на предыдущих этапах. Важно понимать, что на данном этапе необходим детальный план, в котором описаны все действия, необходимые для достижения поставленных целей. Также на данном этапе измеряется прогресс проекта.
  • Контроль (Control): Ключевой этап в методологии 6 сигм. Его основная задача – долгосрочное улучшение процессов реализации проектов. Данный этап требует тщательного документирования извлечённых уроков, анализа собранных данных и применения полученных знаний как в проектах, так во всей компании в целом.

6 сигм очень похожа на Kanban, только с установленными этапами реализации задач – планированием, определением целей и тестированием качества. Вероятнее всего, встреч команды при применении 6 сигм будет значительно больше, чем при Kanban, но зато процесс реализации проектов более структурирован и команде сложнее сбиться с пути. И, как и Kanban, 6 сигм можно относительно легко адаптировать к нуждам конкретной компании или команды. Жёстким требованием является лишь тщательное измерение и контроль показателей проекта на этапах реализации – без этого невозможно постоянное долгосрочное улучшение процессов реализации проекта.

Сильные стороны 6 сигм

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

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

Слабые стороны 6 сигм

Проблема 6 сигм в том, пусть основной декларируемой целью является снижение затрат и повышение эффективности, но удовлетворение Заказчика часто вырывается на первый план. Учитывая некоторые различия в целях на разных этапах проекта, часто у команд возникает путаница в приоритетах, и избежать этого не просто.

Кроме того, основной лейтмотив 6 сигм: «Всё всегда можно сделать ещё лучше». Это может демотивировать сотрудников, не чувствующих удовлетворения от проделанной работы. Кроме того, если проект единичный и компания не планирует в будущем реализовывать подобные проекты, все затраты на анализ и извлечение уроков могут оказаться напрасными.

PRINCE2

НАСА – не единственная государственная организация, которая внесла вклад в развитие проектного управления. Британское Правительство давно оценило эффективность проектного управления, и в 1989 году была создана британская методология PRINCE2. Название произошло от акронима «PRojects IN Controlled Environments version 2», что переводится как «Проекты в контролируемой среде версия 2». В отличие от гибких методов, PRINCE2 не использует итеративный подход к проекту. Если сравнивать PRINCE2 другими продуктами, то его можно сравнить с гибридом классического подхода к проектному управлению и концентрации на качестве из 6 сигм.

Методология PRINCE2 в отличие от, например, свода знаний PMBOK не содержит:

  • Специализированных аспектов управления проектом, например, отраслевых;
  • Конкретных практик и инструментов управления проектами, таких как диаграмма Гантта, WBS и т.п.

PRINCE2 концентрируется на управленческих сторонах проекта, выраженных в 7 принципах, 7 процессах и 7 темах проекта.

  • 7 принципов определяют общие правила управления проектами по PRINCE2, определяют базу методологии;
  • 7 процессов определяют шаги продвижения по проектному циклу;
  • 7 тем – аспекты, по которым проводится контроль для достижения успеха проекта.

Кроме того, PRINCE2 рекомендует адаптировать методологию под каждую конкретную организацию.

В начале проекта PRINCE2 предлагает нам определить 3 основных аспекта проекта:

  • Бизнес-аспект (Принесёт ли этот проект выгоду?)
  • Потребительский аспект (Какой нужен продукт, что мы будем делать?)
  • Ресурсный аспект (Достаточно ли у нас всего, чтобы достичь цели?)

В PRINCE2 более чётко определённая структура команды проекта, чем у большинства подходов к проектному управлению. Это связано с тем, что PRINCE2 ориентирован на масштабные государственные проекты и крупные организации.

Согласно PRINCE2 у каждого члена команды есть своя чёткая роль в каждом из 7 процессов:

  • Начало проекта (Startingupaproject):В ходе данного процесса назначается менеджер проекта и определяются общие требования к характеристикам продукта. Менеджер проекта, чья основная задача – внимание к деталям, отчитывается перед Управляющим комитетом проекта, который отвечает за общее руководство проектом. Именно Управляющий комитет следит за тем, чтобы проект не сбился с курса, и он же полностью отвечает за успех проекта.
  • Инициация проекта (Initiationaproject):В ходе данного процесса менеджер проекта составляет «Документацию по инициации проекта», в которой содержится план проекта по стадиям. Стадии могут длиться разное количество времени, но, как и в классическом подходе, они следуют строго друг за другом.
  • Руководство проектом (Directingaproject): Данный процесс предоставляет возможность Управляющему комитету нести общую ответственность за успех проекта, не погружаясь в детали, которые находятся в границах полномочий менеджера проекта.
  • Контроль стадии (Controllingastage):При реализации проекта, даже в идеальных условиях, будут вноситься определённые изменения. Процесс «Контроль стадии» реализует один из принципов PRINCE2 – принцип управления по исключениям. В обязанности менеджера проекта входит отслеживать в ходе выполнения стадии отклонения от плановых параметров проекта по срокам, содержанию, бюджету и др. Если эти отклонения превышают данные руководителю проекта Управляющим комитетом полномочия (в терминологии PRINCE2 – допуски), менеджер проекта обязан проинформировать Управляющий комитет и предложить пути выхода из ситуации.
  • Управление созданием продукта (ManagingProductDelivery):Процесс управления созданием продукта представляет собой взаимодействие менеджера проекта и менеджера команды по созданию одного из продуктов проекта. В обязанности менеджера проекта в данном процессе входит делегирование полномочий по созданию продукта менеджеру команды и приемка созданного продукта.
  • Управление границами стадии (Managingastageboundary): В ходе данного процесса менеджер проекта предоставляет Управляющему комитету всю необходимую информацию для оценки результатов пройденной стадии и принятия решения о переходе на следующую стадию.
  • Завершение проекта (Closingaproject):Одно из отличий PRINCE2 в том, что процесс завершения проекта не выделяется в отдельный этап или стадию, как в классическом подходе, а выполняется в рамках финальной стадии создания продукта. Цель процесса – подтвердить, что продукт проекта принят, или проект больше не может принести ничего полезного.

PRINCE2 может быть адаптирован для проектов любого масштаба и любой предметной области. Методология предлагает конкретные рекомендации по изменению жизненного цикла проекта, ролевой модели и набора обязательных документов в соответствии с потребностями проекта.

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

  • Адаптируемость к особенностям организации;
  • Наличие чёткого описания ролей и распределения ответственности;
  • Акцент на продуктах проекта;
  • Определённые уровни управления;
  • Фокус на экономической целесообразности;
  • Последовательность проектной работы;
  • Акцент на фиксации опыта и постоянном совершенствовании.

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

  • Отсутствие отраслевых практик;
  • Отсутствие конкретных инструментов для работы в проекте.

Лучшая система управления проектами … для Вас!

Управление проектами – это наука, но наука не самая точная. В данной области нет незыблемых основ и универсальных решений. Если вам удастся найти метод, идеально подходящий вашему проекту – считайте, что вам крупно повезло, ведь большинству менее удачливых руководителей приходится прикладывать усилия для создания и настройки собственных систем управления проектами. Эти системы могут быть составлены из элементов существующих систем или даже созданы совершенно с нуля, как в случае с миссией «Аполлон». Главное используйте что-нибудь, что даст вам хоть какую-то структуру и позволит не забыть о том, что главное для вашего проекта.

Как получить международный сертификат по Agile

Для тех, кто хочет получить систематизированное понимание Agile, разобраться с преимуществами и недостатками гибкого подхода к проектам и продуктам, найти области наилучшего применения Agile и получить международный сертификат ICAgile Certified Professional — наш тренинг «ICAgile Certified Professional»

Agile-методология в России: 4-х летний опыт управленца

Однажды в Россию на завод по сбору автомобилей знаменитой корпорации Тойота приехал топ-менеджер.

Его поездка носила обучающий характер. Он должен был научить руководящий состав основам бережливого производства, созданию эффективной команды и, конечно же, правильной сборке современных, крутых автомобилей.

В основе всего лежала agile методология. Но то что он увидел на совещании повергло его в шок…

Планерка происходила следующим образом. Генеральный директор слушал доклад руководителей департаментов, делал себе пометки.

Когда дело дошло до обсуждения планов будущего развития и устранения проблем, директор предложил начальникам департаментов высказать свои идеи.

Начался гул, обсуждения, препирательства. Руководитель по маркетингу начал спорить с руководителем по продажам.

Так прошло минут 15. И тут директор с криком “Демократия кончилась, теперь снова диктатура!” начал раздавать распоряжения, который подчиненные стали усердно записывать в свои ежедневники.

Гость из Японии от увиденного смог вымолвить всего одну фразу: “Но это же не agile управление проектами.

Ведь у нас на заводе любой рабочий может остановить конвейер во время работы и внести свои корректировки в его работу.

Я уж не говорю про идеи на планерках…”. На что генеральный ответил: “Да, это не принципы аджайл! В России такие гибкие методы не работают!”.

Ну не работают они…

Скорей всего у Вас тоже в голове сейчас крутится вопрос: “Что же это за загадочная такая фраза?”.

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

Виноваты программисты

Знаете как раньше разрабатывался любой программный продукт? Целиком. Конечно и сейчас так создают, но не продвинутые компании.

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

  1. Идея;
  2. Техническое задание;
  3. Создание дизайна;
  4. Программирование;
  5. Тестирование;
  6. Запуск итоговой версии.

Однако в этих 6-ти шагах существовали значительные пробелы. Все трудности возникали из-за жесткой последовательности данной структуры и невозможности внедрения новых идей на каком-либо из этапов.

В результате при создании дизайна или программировании, новые идеи просто приходилось игнорировать.

Иначе нужно было бы переделывать все техническое задание заново, что существенно удлиняло сроки работы, либо значительно повышало стоимость процесса.

И тогда программисты начали изменять подход к работе: начали проводить мини-тестирования для получения обратной связи на каждом этапе, чтобы внести правки сразу, даже в еще неготовый продукт.

А также стали запрашивать обратную связь от заказчика еще до сдачи ему финального продукта.

Эксперименты показали отличные результаты и были признаны крайне удачными (качество продуктов стало гораздо лучше, заказчики оставались довольны, а программисты стали укладываться раньше сроков).


Такой подход к работе стал называться “гибким” за то, что на любом этапе работ в создание продукта можно было внести изменения для получения идеального решения.

Чтобы привести все подходы по управлению проектами (а к тому моменту их накопилось уже более десятка) к единому знаменателю, вся команда основателей (17 человек), которые разработали и внедрили различные “гибкие методы”, собрались вместе.

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

Именно это собрание в горной деревушке Сноубёрд в феврале 2001 года и считается зарождением методологии agile (кто-то даже называет это философией).

Поскольку в большинстве своем эти люди были программисты, то результатом собрания был выпуск “Манифеста гибкой методологии разработки программного обеспечения” (по английски Agile Manifesto) и принципов Аджайла.

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

Коротко и по делу

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

  1. Люди и взаимодействие важнее процессов и инструментов;
  2. Работающий продукт важнее исчерпывающей документации;
  3. Сотрудничество с заказчиком важнее согласования условий контракта;
  4. Готовность к изменениям важнее следования первоначальному плану.

Принципы, упоминающиеся в манифесте Agile. Просто прочтите, поймёте чуть дальше.

  • Удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения;
  • Частая поставка рабочего программного обеспечения (каждый месяц или неделю, или ещё чаще);
  • И много еще подобных.

“Что за чушь я только что прочитал? Ни слова не понял!”. Думаю у Вас такие сейчас мысли.

Скажу честно, что такое Agile как методология (а также что написано в манифесте) я сам понял далеко не сразу, книги и статьи давали поверхностное описание, пока я не увидел всё это на практике.

Поэтому я сэкономлю Вам огромное количество времени и расскажу коротко и по делу.

Agile – это название методологии, в которой крупный проект разделяется на несколько мелких частей, каждой из которых присваивается свой срок завершения.

Данный подход очень сильно напоминает мне декомпозицию, за исключением одного. В декомпозиции не учитывается вовлеченность всей команды.

На примере всё ясно

Чтобы Вам было проще всё понять, на примере хлебозавода я покажу разницу.

Для этого я сначала расскажу о заводе, у которого нет методологии, а потом о заводе, который внедрил этот метод управления. Переходим к примеру.

Обычный хлебзавод в России

Генеральный директор дает задание технологу разработать новый вид хлеба. В лучшем случае технолог пойдет в отдел маркетинга, чтобы они провели исследования.

Но, как правило, такие идеи возникают не от желания потребителей, основанных на маркетинговых исследованиях, а на желании самого директора.

После исследований технолог разработает хлеб на свой вкус и приносит его директору.

Он пробует новый продукт и решает – наградить технолога словами “Молодец. Держи бублик” или сказать “Нет. Переделывай”.

После утверждения пекарям выдают технологические карты для запуска продукта в производство. Далее продавцам для реализации – испеченный хлеб.

Это обычный подход в России, работники просто получают указания, а оценку производит один (иногда несколько) человек.

Agile-хлебзавод в России

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

К созданию продукта привлекут не только технолога и маркетинг, но и продавцов, логистов, поваров/кондитеров и … даже реальных покупателей.

В данной команде будет полностью отсутствовать иерархия (кроме генерального директора) и результатом работы будет не награждение конкретного сотрудника, а получение нового сорта хлеба, который будет раскупаться покупателями.

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

ВНЕДРЯТЬ ИЛИ ПОСЛАТЬ

Если говорить кратко, то главный плюс в том, что такой подход помогает компании быстро перестроиться и создать конкурентный продукт, который нужен и нравится покупателям.

Что в результате хорошо скажется на продажах, сэкономит массу времени и отведёт от ошибок.

Однако, при прочтении первой половины статьи можно сделать вывод, что agile методология подходит только для айти-компаний.

Но это в корне не верно. В России эту методологию активно использует:

  • Банк “Альфа-банк”;
  • Сеть пиццерий “Додо пицца”;
  • Бухгалтерский сервис “Кнопка”.

И если с “Альфа-банком” все понятно, большая компания, у них есть ресурсы и люди для внедрения инноваций в свою систему.

То с “Додо пицца” и “Кнопка” всё намного интереснее, ведь компании небольшие. И по моему мнению именно одним из факторов их успеха стал этот подход.

В результате внедрения аgile Вы можете получить массу плюсов (о минусах позже), которые помогут Вам стать компанией-лидером на рынке. И вот одни из этих привилегий:

  1. Благодаря применению “гибких” подходов возрастает качество получаемых результатов;
  2. Результаты получаются гораздо быстрее и эффективнее за счет чего экономится время и затраты;
  3. Компания лучше адаптирована к изменениям (даже непредвиденным) и конкуренции;
  4. Создание проектов происходит более планируемо и контролируемо;
  5. Компания может создавать продукты, которые будут ждать и покупать их потребители.

Внутренняя работа

Единственный вопрос, на который я долго искал ответ, как же тогда происходит работа в agile-компании.

Понятно, что каждый сотрудник работает на результат, внося свои предложения. Но как это все выглядит изнутри? По книжкам этого не понять.

Вернемся к нашему любимому хлебозаводу. И к их старой задаче – выпустить новый сорт хлеба. Для реализации задачи у них была следующая последовательность:

  1. Вводные данные. Директор рассказывает какой сорт хлеба он в идеале видит, а также рассказывает калькуляцию по нему, которая экономически выгодна предприятию.
  2. Обсуждение идеи. Команда, состоящая из технолога, поваров, логистов, маркетологов и продавцов начинает обсуждение данного проекта.

Повара, технологи и логисты предлагают выгодные продукты, маркетологи говорят о конкурентах, а продавцы рассказывают какие пожелания обычно высказывают покупатели.

  • Тестирование. Все идеи и знания суммируются в тестовый рецепт. Данный рецепт выпекается небольшой пробной партией для получения по нему обратной связи на закрытой дегустации среди обычных покупателей (. ).
  • Сбор обратной связи. Покупатели едят хлеб и высказывают свои пожелания. На основании этого в тестовый рецепт вносятся изменения и доработки. Финал.
  • Эти этапы могут продолжается снова и снова, пока не получается совершенный сорт хлеба, которым будут довольны все: маркетологи, повара, логисты, технологи, продавцы, покупатели и, конечно, сам директор завода.

    Да, теперь все отлично

    Хочу себе

    Возможно после прочтения статьи у Вас появилось желание (особенно если Вы занимаетесь производством) внедрить гибкие методологии управления проектами в свой бизнес.

    И Вы думаете, что agile это то, что Вам так нужно. Ведь так можно создать что-то новое, поистине инновационный продукт.

    Тогда сразу предупрежу Вас и отвечу на несколько вопросов, которые у Вас есть.

    Это топ-5 вопросов, которые задают себе все собственники, когда видят эту методологию.

    Подходит малому бизнесу? Если Вы не выпускаете постоянно новые продукты или не реализуете постоянно новые проекты, а работаете на “старом”, то с большей долей вероятности НЕТ.

    Легко ли внедрить? Отвечу вопросом на вопрос: А легко выучить иностранный язык? Философию нельзя быстро внедрить в компанию. Ее нужно внедрять пошагово и в течение довольно долгого времени.

    Бизнес процессы в компании изменятся? Да, полностью и кардинально. Изменятся отделы и люди в них, планерки поменяют свой привычный характер, должностные обязанности станут совершенно другими.

    Как станут работать люди? Совершенно по-другому. Если они раньше работали только над одной задачей, то теперь им придется работать и принимать участие в целом процессе, вплоть до нескольких проектов.

    А это означает исключительно работу в команде и более широкий кругозор.

    Кто должен быть начальником? Прозвучит непривычно, но в agile-компаниях нет начальников.

    Это прежде всего кураторы-помощники, которые организовывают людей в совместные команды для более эффективной работы.

    Не ответил на Ваш вопрос?! На этот случай есть внизу комментарии, напишите его там и я совершенно бесплатно дам Вам рекомендацию. Нам важно, чтобы Вы были на 100% довольны.

    Подводные камни

    Как и у любого инструмента улучшения работы бизнеса, есть подводные камни. И они на первый взгляд не так заметны.

    Их осознают компании только после внедрения. Поэтому заранее “Пожалуйста” за то, что спас Вас от потери денег и времени.

    Аджайл – не инструмент

    Аджайл это даже не методология, хотя я часто называл её так в тексте. Это философия, по которой соглашается жить компания.

    А для внедрения философии в жизнь нужны правила, шаблоны и инструменты. Они называются фреймворками.

    Сюда включается Канбан или Скрам (инструменты управления). О каждом инструменте в дальнейшем мы конечно же напишем статьи, но Вы должны понять, что аджайл это прежде всего философия, принятая в компании.

    Команда

    Для большинства людей в нашей стране (я сейчас говорю про привычный российский бизнес) работа в команде будет непривычна.

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

    И именно команда будет оценивать вклад каждого конкретного специалиста в проект. А это очень сложно, если у Вас не топовые спецы своего дела.

    Чужой нос

    Личного пространства в компании больше нет. Из серии – я к тебе не лезу и ты ко мне не лезь. Этого больше нет.

    Если будет происходить работа в команде, то продавцы хлеба могут задавать вопросы почему он добавил в сорт ту или иную добавку, ведь покупатели ее не любят.

    Это и плохо (непривычно), и хорошо, так как зачастую свой взгляд замыливается.

    Оплата

    Самое интересное. В аджайл не принято платить людям фиксированную зарплату, так как успех компании зависит от степени участия каждого конкретного сотрудника.

    Оклад если и есть, это больше из серии, чтобы человек не умер с голоду. Всё остальное по результату.

    Текучка

    Она будет, причем существенная. В нашем обществе не принято работать в команде и получать деньги за конкретные результаты (хотя в последнее время ситуация меняется).

    Поэтому Вам придется постараться, чтобы найти специалистов, которые разделят философию, внедренную в Вашей компании.

    Коротко о главном

    Для кого все таки подойдут методы управления проектами agile? Для больших компаний или для маленьких? На самом деле и для тех, и для других.

    Большие компании от них “молодеют”, становятся более подвижными и менее бюрократичными, небольшим же компаниям они дают мощный рывок.

    Ведь Вы перестаете работать по-старинке, а Ваши сотрудники перестают думать (и работать) как большинство Ваших конкурентов.

    Так же аджайл требует персонала, который будет вовлечён. И даже при условии, что в работе будут задействованы все, при больших проектах на выходе Вы всё равно получите экономию времени и повышение качества продукта.

    Но повторюсь, при условии, что Вы постоянно реализуете новые продукты или проекты.

    Казалось бы, актуальность на лицо. Я же предлагаю Вам пойти другим путем. Не рубить с плеча.

    Начать внедрять принципы аджайл как делаем это мы, постепенно. Начать подключать разных специалистов к реализации разных проектов. И на своём опыте говорим, эффективность у нас заметно выросла.

    Спасибо!

    Наш менеджер свяжется с Вами в ближайшее время!

    Что-то пошло не так

    Попробуйте повторить попытку

    «На данный момент мы делаем ребрендинг сайта и он станет активным в ближайшее время.

    Но Вам же нужно увеличение продаж уже сейчас?! Поэтому заполните форму справа и мы свяжемся с Вами для презентация услуги.»

    1. Общие положения

    1.1. Политика в отношении обработки персональных данных (далее — Политика) направлена на защиту прав и свобод физических лиц, персональные данные которых обрабатывает ИП Жестков Н. В. (далее — Оператор).
    1.2. Политика разработана в соответствии с п. 2 ч. 1 ст. 18.1 Федерального закона от 27 июля 2006 г. № 152-ФЗ «О персональных данных» (далее — ФЗ О персональных данных»).
    1.3. Политика содержит сведения, подлежащие раскрытию в соответствии с ч. 1 ст. 14 ФЗ «Оперсональных данных», и является общедоступным документом.

    2. Сведения об операторе

    2.1. Оператор ведет свою деятельность по адресу 664009, г. Иркутск, ул. Ядринцева, 1/9, 70.
    2.2. Руководитель Жестков Никита Владимирович (телефон +7 (964) 111-8758) назначен ответственным за организацию обработки персональных данных.
    2.3. База данных информации, содержащей персональные данные граждан РоссийскойФедерации, находится по адресу: mailigen.ru, in-scale.bitrix24.ru, mail.yandex.ru, in-scale.ru, vk.com, facebook.com, manychat.com.

    3. Сведения об обработке персональных данных

    3.1. Оператор обрабатывает персональные данные на законной и справедливой основе для выполнения возложенных законодательством функций, полномочий и обязанностей, осуществления прав и законных интересов Оператора, работников Оператора и третьих лиц.
    3.2. Оператор получает персональные данные непосредственно у субъектов персональных данных.
    3.3. Оператор обрабатывает персональные данные автоматизированным и не автоматизированным способами, с использованием средств вычислительной техники и без использования таких средств.
    3.4. Действия по обработке персональных данных включают сбор, запись, систематизацию,накопление, хранение, уточнение (обновление, изменение), извлечение, использование,передачу (распространение, предоставление, доступ), обезличивание, блокирование,удаление и уничтожение.
    3.5. Базы данных информации, содержащей персональные данные граждан РоссийскойФедерации, находятся на территории Российской Федерации.

    4. Обработка персональных данных клиентов

    4.1. Оператор обрабатывает персональные данные клиентов в рамках правоотношений сОператором, урегулированных частью второй Гражданского Кодекса Российской Федерацииот 26 января 1996 г. № 14-ФЗ, (далее — клиентов).
    4.2. Оператор обрабатывает персональные данные клиентов в целях соблюдения норм законодательства РФ, а также с целью:
    — заключать и выполнять обязательства по договорам с клиентами;
    — осуществлять виды деятельности, предусмотренные учредительными документами ИПЖестков Н. В.;
    — информировать о новых продуктах, специальных акциях и предложениях;
    — информировать о новых статьях, видео и мероприятиях;
    — выявлять потребность в продуктах;
    — определять уровень удовлетворённости работы.
    4.3. Оператор обрабатывает персональные данные клиентов с их согласия,предоставляемого на срок действия заключенных с ними договоров. В случаях,предусмотренных ФЗ «О персональных данных», согласие предоставляется в письменном виде. В иных случаях согласие считается полученным при заключении договора или при совершении конклюдентных действий.
    4.4. Оператор обрабатывает персональные данные клиентов в течение сроков действия заключенных с ними договоров. Оператор может обрабатывать персональные данные клиентов после окончания сроков действия заключенных с ними договоров в течение срока,установленного п. 5 ч. 3 ст. 24 части первой НК РФ, ч. 1 ст. 29 ФЗ «О бухгалтерском учёте» и иными нормативными правовыми актами.
    4.5. Оператор обрабатывает следующие персональные данные клиентов:
    — Фамилия, имя, отчество;
    — Тип, серия и номер документа, удостоверяющего личность;
    — Дата выдачи документа, удостоверяющего личность, и информация о выдавшем его органе;
    — Год рождения;
    — Месяц рождения;
    — Дата рождения;
    — Место рождения;
    — Адрес;
    — Номер контактного телефона;
    — Адрес электронной почты;
    — Идентификационный номер налогоплательщика;
    — Номер страхового свидетельства государственного пенсионного страхования;
    — Должность;
    — Фотография.
    4.6. Для достижения целей обработки персональных данных и с согласия клиентов Оператор предоставляет персональные данные или поручает их обработку следующим лицам:
    — менеджер по продажам
    — руководитель проекта
    — менеджер проекта
    — маркетолог

    5. Сведения об обеспечении безопасности персональных данных

    5.1. Оператор назначает ответственного за организацию обработки персональных данных для выполнения обязанностей, предусмотренных ФЗ «О персональных данных» и принятыми в соответствии с ним нормативными правовыми актами.
    5.2. Оператор применяет комплекс правовых, организационных и технических мер по обеспечению безопасности персональных данных для обеспечения конфиденциальности персональных данных и их защиты от неправомерных действий:
    — обеспечивает неограниченный доступ к Политике, копия которой размещена по адресу нахождения Оператора, а также может быть размещена на сайте Оператора (при его наличии);
    — во исполнение Политики утверждает и приводит в действие документ «Положение об обработке персональных данных» (далее — Положение) и иные локальные акты;
    — производит ознакомление работников с положениями законодательства о персональных данных, а также с Политикой и Положением;
    — осуществляет допуск работников к персональным данным, обрабатываемым в информационной системе Оператора, а также к их материальным носителям только для выполнения трудовых обязанностей;
    — устанавливает правила доступа к персональным данным, обрабатываемым в информационной системе Оператора, а также обеспечивает регистрацию и учёт всех действий с ними;
    — производит оценку вреда, который может быть причинен субъектам персональных данных в случае нарушения ФЗ «О персональных данных»;
    — производит определение угроз безопасности персональных данных при их обработке в информационной системе Оператора;
    — применяет организационные и технические меры и использует средства защиты информации, необходимые для достижения установленного уровня защищенностиперсональных данных;
    — осуществляет обнаружение фактов несанкционированного доступа к персональным данным и принимает меры по реагированию, включая восстановление персональныхданных, модифицированных или уничтоженных вследствие несанкционированного доступак ним;
    — производит оценку эффективности принимаемых мер по обеспечению безопасностиперсональных данных до ввода в эксплуатацию информационной системы Оператора;
    — осуществляет внутренний контроль соответствия обработки персональных данных ФЗ «Оперсональных данных», принятым в соответствии с ним нормативным правовым актам,требованиям к защите персональных данных, Политике, Положению и иным локальнымактам, включающий контроль за принимаемыми мерами по обеспечению безопасностиперсональных данных и их уровня защищенности при обработке в информационнойсистеме Оператора.

    6. Права субъектов персональных данных

    6.1. Субъект персональных данных имеет право:
    — на получение персональных данных, относящихся к данному субъекту, и информации,касающейся их обработки;
    — на уточнение, блокирование или уничтожение его персональных данных в случае, еслиони являются неполными, устаревшими, неточными, незаконно полученными или неявляются необходимыми для заявленной цели обработки;
    — на отзыв данного им согласия на обработку персональных данных;
    — на защиту своих прав и законных интересов, в том числе на возмещение убытков икомпенсацию морального вреда в судебном порядке;
    — на обжалование действий или бездействия Оператора в уполномоченный орган позащите прав субъектов персональных данных или в судебном порядке.
    6.2. Для реализации своих прав и законных интересов субъекты персональных данныхимеют право обратиться к Оператору либо направить запрос лично или с помощьюпредставителя. Запрос должен содержать сведения, указанные в ч. 3 ст. 14 ФЗ «Оперсональных данных».

    УТВЕРЖДАЮ
    Н. В. Жестков
    29.06.2020

    Уважаемый пользователь. Любая информация, размещенная на сайте in-scale.ru, предназначена только для свободного изучения пользователями сайта. Администрация сайта прилагает все усилия для того, чтобы предоставить на этом сайте достоверную и полезную информацию, которая отвечает на вопросы пользователей сайта, но в то же время не исключает возникновения ошибок.

    Ни при каких обстоятельствах Администрация Сайта in-scale.ru не несет ответственности за какой-либо прямой, непрямой, особый или иной косвенный ущерб в результате использования информации на этом сайте или на любом другом сайте, на который имеется гиперссылка с нашего cайта, возникновение зависимости, снижения продуктивности, увольнения или прерывания трудовой активности, а равно и отчисления из учебных учреждений, за любую упущенную выгоду, приостановку хозяйственной деятельности, потерю программ или данных в Ваших информационных системах или иным образом, возникшие в связи с доступом, использованием или невозможностью использования Сайта, Содержимого или какого-либо связанного интернет-сайта, или неработоспособностью, ошибкой, упущением, перебоем, дефектом, простоем в работе или задержкой в передаче, компьютерным вирусом или системным сбоем, даже если администрация будет явно поставлена в известность о возможности такого ущерба.

    Вся информация предоставляется в исходном виде, без гарантий полноты или своевременности, и без иных, явно выраженных или подразумеваемых гарантий. Доступ к in-scale.ru, а также использование его содержимого осуществляется исключительно по вашему усмотрению и на ваш риск.

    Сайт in-scale.ru — это проект, работающий без заключения каких-либо договорённостей или договоров между вами, пользователями данного сайта, администрацией, владельцами серверов, на которых он размещён, либо кем-то ещё, любым образом связанными с этим или родственными ему проектами, которые (договора) могут стать предметом прямых претензий.

    Некоторые ссылки на in-scale.ru ведут к ресурсам, расположенным на сторонних сайтах. Данные ссылки размещены для удобства пользователей и не означают, что Администрация одобряет содержание других сайтов. Кроме этого, Администрация in-scale.ru не несет никакой ответственности за доступность этих ресурсов и за их контент. Это заявление относится ко всем ссылкам, представленным на in-scale.ru, и материалам всех веб-сайтов, доступных через баннеры и ссылки на веб-сайте по адресу in-scale.ru

    В обязанности Администрации не входит контроль легальности передаваемой информации (любой, включая, но не ограничиваясь, информацией, передаваемой между пользователями, внутренней пересылки в виде различных ссылок, текстов или архивов), определение прав собственности или законности передачи, приема или использования этой информации.

    In-scale.ru не гарантирует возможность приобретения или использования тех или иных товаров или услуг по ценам и/или на условиях, указываемых в рекламных блоках (текстах, баннерах).

    Вы соглашаетесь с тем, что in-scale.ru не несет никакой ответственности за возможные последствия (включая любой ущерб), возникшие в результате каких-либо отношений с рекламодателями и продуктами с in-scale.ru

    Администрация сайта in-scale.ru вправе отказать в доступе к сайту любому Пользователю, или группе Пользователей без объяснения причин своих действий и предварительного уведомления.

    Администрация вправе изменять либо удалять ссылки на информацию, графические, звуковые и прочие данные, размещенные Пользователями на in-scale.ru, без предварительного уведомления и объяснения причин своих действий.

    Любые торговые марки, знаки и названия товаров, служб и организаций, права на дизайн, авторские и смежные права, которые упоминаются, используются или цитируются на страницах in-scale.ru, принадлежат их законным владельцам и их использование здесь не дает вам право на любое другое использование. Если не указано иное, страницы in-scale.ru никак не связаны с правообладателями, и никто, кроме правообладателя, не может распоряжаться правами на использование материалов, защищенных авторским правом. Вы несете ответственность за использование этих и подобных материалов.

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

    Бездействие со стороны Администрации в случае нарушения Пользователем либо группой Пользователей пользовательского соглашения не лишает Администрации права предпринять соответствующие действия в защиту интересов in-scale.ru позднее.

    Все права на материалы, находящиеся на in-scale.ru, охраняются в соответствии с законодательством ЕС и РФ, в том числе, об авторском праве и смежных правах.

    Если в соответствии с действующими законами какие-либо условия будут признаны недействительными, остальные условия остаются в полной силе.

    Все высказывания и примеры на сайте in-scale.ru по поводу увеличения, получения доходов, прибылей или/и результатов, уже размещенные или которые будут размещены на ресурсе, — всего лишь предположения по поводу предстоящих или текущих заработков, доходов, результатов поэтому не являются гарантией их получения. Если предположительное Вы считаете гарантированными, то также берете на себя все риски по их неполучению.

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

    Все вопросы, размещенные на данном сайте и связанные с получением доходов и прибылей, не могут приравниваться к средним величинам.

    Не существует также гарантий, что чей-либо опыт, касающийся предпринимательской деятельности, заработков, доходов или/и результат, можно использовать как указание к действию, которое может дать желаемые финансовые результаты.

    Вся наша продукция и услуги созданы с образовательной и ознакомительной целями.

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

    Администрация in-scale.ru в любое время вправе внести изменения в Правила, которые вступают в силу немедленно. Продолжение пользования сайтом после внесения изменений означает ваше автоматическое согласие на соблюдение новых правил.

    Данный документ гласит о том, что вы даете свое согласие на то, что ИП “Жестков Н.В.”, команда ресурса in-scale и сам сайт in-scale.ru не несёт ответственность за ошибочно принятые Вами решения по поводу доходов, прибылей, способов ведения бизнеса, продукции тренинг-центра, предоставляемых услуг или других материалов, что размещаются на данном сайте: текстовой, аудио и видео информации.

    Заполняя форму подписки на сайте in-scale.ru, Вы соглашаетесь с политикой конфиденциальности проекта, а также с другими положениями:

    1. Подписчик дает бессрочное согласие на обработку всех персональных данных, предоставленных на домене in-scale.ru

    2. Подписчик не возражает против получения e-mail, смс уведомлений информационного и рекламного характера о предстоящих акциях, изменениях на проекте, иных событиях с домена in-scale.ru или от сообществ vk.com/in_scale, facebook.com/inscalerus

    3. Подписчик может отписаться от информационной рассылки проекта In-scale в любое время по своему желанию при помощи специальной гиперссылки, а также обратившись в службу поддержки по адресу info@in-scale.ru и попросив удалить его контакты адрес из нашей подписной базы.

    После получения администрацией сайта in-scale.ru такой просьбы, e-mail адрес или аккаунт в социальных сетях будет удален из базы в течение 72 часов, кроме выходных и праздничных дней.

    ИП “Жестков Н.В” гарантирует полный возврат средств за приобретенный цифровой продукт по первому требованию клиента.

    Срок гарантийного периода для всех цифровых продуктов составляет 7 календарных дней с момента оплаты.

    Для того, чтобы запросить возврат денежных средств за определенный продукт обратитесь на info@in-scale.ru . Все заявки рассматриваются в течении 72 часов, кроме выходных и праздничных дней.

    Возврат денежных средств осуществляется путём перевода необходимой суммы на один из электронных кошельков (WebMoney, Яндекс.Деньги), либо на карту VISA/MASTERCARD в пределах России. Длительность транзакции – от 1 до 5-х банковских дней после отправки денег.

    Agile методология: принципы и правила применения

    Система работы завода «Тойота» уже стала классической и успешной менеджмент-моделью. У каждого работника предприятия была возможность в любое время остановить конвейер в целях устранения дефекта, неполадки или внесения своего рационализаторского предложения. Именно на таком подходе основана философия Agile. Изначально Agile методология около 10-15 лет назад была методом разработки программного обеспечения в малочисленных командах. В данный момент Agile методология – это новая культура управления крупными предприятиями. Сегодня любой прогрессивный менеджер знает, что представляет собой Agile.

    Продукты и сервисы создаются, как правило, по единой классической схеме. Особенно это относится к IT-индустрии. Такую схему называют каскадной, или итеративной методологией разработки, а в английском языке – waterfall development («водопад»). По какой причине схема носит такое название? Все дело в том, что, если вы уже утвердили план программного продукта, то не можете приостановить его или внести коррективы до реализации. Совершенно иной принцип имеет Agile методология. Waterfall – понятие, которое к ней неприменимо. Это качественно новый подход к созданию продукции. Основу методологии составляет простая мысль – у каждого участника есть возможность внесения полезных предложений по оптимизации процесса, остановки конвейера с целью переосмыслить задачи и общее дело.

    Agile методология имеет основу, наделенную рядом характеристик. Среди них:

    Лучшая статья месяца

    Товары, которые выпускает Procter & Gamble, потребители знают как отдельные марки. Всего компания продает более 300 наименований товаров, рекламу которых мы ежедневно видим по телевизору. Один из секретов коммерческого успеха в том, что Procter & Gamble обладает уникальной корпоративной культурой.

    В нашей статье мы отобрали 7 принципов Procter & Gamble, которые изучают в бизнес-школах по всему миру.

    • Быстрая реакция на изменения.
    • Самостоятельная организация процесса производства.
    • Предсказуемость.
    • Наличие непрерывной и постоянной обратной связи.
    • Разграничение рисков.

    На многих предприятиях при разработке продуктов специалисты, решающие важные для производства задачи, распределены по разным подразделениям, нередко находящимся в конфликте друг с другом. Особенно часто это касается сотрудников эксплуатационного отдела, разработчиков и тестировщиков. Если продукцию не удается реализовать должным образом и получить от этого доход, конфликтующие стороны винят друг друга. Вместе с тем виноваты в таких ситуациях обычно все.

    Agile методология – подход, предполагающий присутствие всех, кто разрабатывает программный продукт. При этом каждый специалист выполняет свою работу. Agile методология дает возможность увидеть, что всех участников процесса объединяет одна цель – создание качественной продукции для своего потребителя.

    Когда применяется Agile методология, меняется вся бизнес-культура компании. Программы МBА содержат полноценный курс об оргструктуре предприятия, при изучении которого можно встретить термин «эквилибриум», когда в начинающих фирмах и стартапах все сотрудники и участники решают общие задачи. Практика показывает, что именно на таких предприятиях коллективы более сплочены, работают с высокой отдачей и эффективностью. Если речь идет о выводе в рыночное пространство новых идей и увеличении эффективности, Agile методология – оптимальный инструмент.

    Конечно, некоторые компании не нуждаются в Agile методологии. Речь идет, к примеру, о государственных ведомствах, так как основа их деятельности – законодательные нормы. Взаимодействие с государством невозможно, если правила игры регулярно изменяются.

    То есть организационная инфраструктура может быть представлена в двух вариантах, кардинально отличающихся друг от друга. Первый – строгая бюрократическая компания, соблюдающая ряд формальностей. Такой вариант имеет право на существование и отлично работает в определенных условиях. Вторая разновидность – начинающие стартапы, объединяющие людей с одной точкой зрения и единой целью, которые создают что-то принципиально новое. Agile методология, безусловно, более близка эмоциональному коллективу, работающему над производством качественного продукта. При возникновении проблем на любом из этапов решают их в рамках Agile методологии все специалисты предприятия или участники стартапа.

    ТОП-5 самых нужных статей для коммерсанта:

    Основные принципы Agile методологии

    Существует Agile-манифест, где сказано об основных принципах методологии:

    1. Самое главное – регулярно и заблаговременно поставлять ценный продукт, удовлетворяя тем самым потребности заказчика. В соответствии с данным принципом Agile методологии создатели продукта обязаны не только реализовать требования, обозначенные в проектных документах, но и как можно раньше давать потребителю знать, что это будет за товар, с какими особенностями и характеристиками. Если продукция не удовлетворяет заказчика, необходимо срочно корректировать ее с учетом замечаний. Поскольку, выводя в рыночную среду новый продукт, есть большой риск ошибиться, логично использовать технические требования к созданию минимально жизнеспособного продукта minimum viable product (MVP), основная задача которого – проверить, насколько ключевые качества востребованы среди покупателей, и оценить уровень спроса.
    2. Требования изменить можно, и это будет воспринято положительно, если речь идет о повышении конкурентных качеств товара. Обычно их меняют по окончании завершающего этапа разработки. Данный принцип Agile методологии на сегодняшний день очень важен, ведь продукция высокотехнологичных сфер в кратчайшие сроки становится устаревшей и уступает место новой. Сформировать ряд требований к продукту можно уже в финале его создания. Обычно это бывает вызвано изменениями на рынке или в среде конкурентов. Отметим, реализация данного принципа невозможна, если мы говорим о каскадной управленческой модели, или же она реальна, но обойдется спонсору в круглую сумму. Но чем больше будет происходить слияние технологий, тем более актуальной станет подготовка очередной версии продукта для опережения конкурентов.
    3. Команда и заказчик должны непрерывно взаимодействовать на всех этапах создания товара. Данное правило носит примерно тот же характер, что и пожелания клиента. Это самое главное. Если нет постоянного взаимодействия, достичь поставленных целей сложно.
    4. Agile методология гласит, что реализацией проектов должны заниматься исключительно мотивированные профессионалы. Позаботьтесь о создании должных условий и доверьтесь специалистам. В этом случае вероятность качественной реализации проекта очень высока. Современная наука говорит о том, что интеллектуальную работу сложно стимулировать финансовыми поощрениями. А потому сотрудничать следует только с теми специалистами, для которых главной мотивацией является непосредственно проект. Все, что им нужно, – это получить возможность работать в приемлемых условиях и заручиться доверием заказчика.
    5. Лучший способ коммуникации – личный контакт. Желательно, чтобы все задействованные в проекте лица располагались на совместной территории. Пусть это будет одно здание. В идеале там же должен находиться и сам заказчик.
    6. Проект прогрессирует, если продукт работает. Заказчика интересует готовый товар с теми или иными характеристиками. Еще один успешно выполненный этап процесса ему ни о чем не говорит. Заказчик должен видеть, что продукт развивается, а главное, работает и отвечает заявленным требованиям. Если его форма и наполнение приближаются к желаемой модели, значит, разработчики действуют эффективно.
    7. Спонсорам, заказчику и разработчикам необходимо заботиться об обеспечении постоянного темпа деятельности. Если все участники процесса оперируют в устойчивом ритме, то перестают волноваться из-за вероятности аврала или срыва сроков.
    8. Следует обращать внимание и на техническое совершенство и качество проектирования. Agile методология гласит, что разработка проекта должна быть гибкой, без ущерба качеству продукта и упрощения его характеристик. Отметим, к этому нередко прибегают, чтобы ускорить процесс создания проекта и оптимизировать его.
    9. Не стоит забывать о принципе простоты. Применяя его, вы сводите вероятность выполнять лишние действия к минимуму. Суть не в том, чтобы упрощать характеристики продукта, а в том, чтобы избавляться от ненужных операций и не включать в проект нечто ненужное для его использования по назначению.
    10. Самоорганизующиеся команды всегда генерируют лучшие идеи архитектурного, технического и иного плана. В этом уверены авторы Agile-манифеста. А потому все участники команды должны разрабатывать требования и принимать решения сообща. Если у членов коллектива общие интересы и единые цели, самоорганизация становится более эффективной.
    11. Внешние условия постоянно меняются. В связи с этим следует постоянно анализировать и адаптироваться к обстановке, искать методы улучшения эффективности деятельности. Agile методология ориентирована именно на гибкость разработчиков. Это то, к чему нужно стремиться.

    Перспективы Agile методологии в России

    Agile методология обладает рядом достоинств, основное из которых – гибкость и способность адаптироваться, подстраиваться под любую обстановку и организационный процесс. Agile методология – оптимальный вариант для проектов, конец которых «открыт». Это может быть создание компьютерной игры, операционной системы или интернет-сервиса. При этом из-за гибкости в конечном итоге можно потерять фокус и снизить предсказуемость.

    Крайне важно отличать ошибки при использовании гибкого подхода от недочетов Agile методологии. Перед реализацией преимуществ методологии пройдет определенное время. Оно нужно, чтобы адаптировать подход к сложившейся в определенном бизнесе ситуации, и в течение этого периода не исключено допущение множества ошибок. Но факт остается фактом: Agile методология становится одной из популярнейших парадигм как в России, так и во всем мире.

    • 7 принципов управления компанией, которые изучают во всех бизнес-школах

    Гибкие методологии: Agile, Lean, Scrum и другие

    В Agile Manifesto определены особые принципы. На их основе сформирована гибкая методология разработки Agile.

    • Agile Modeling (AM). Здесь применяются процедуры по моделированию (в том числе проверка кодом модели) и документированию в ходе создания ПО. Меньше внимания уделяется процедурам по проектированию и строительству диаграмм на UМL. Не сказано о таких областях, как разработка, тестирование, управление проектом, развертывание и сопровождение.
    • Agile Unified Process (AUP) является унифицированной версией методологии RUP (IBM Rational Unified Process), которую сформировал Скотт Амблер. АUP определяет модель разработки ПО в рамках приложений для бизнеса.
    • Agile Data Method (ADM) — это итеративные методики гибкого создания ПО в комплексе, которые делают акцент на разработку решений и требований. Разные кросс-функциональные команды сотрудничают между собой.
    • Dynamic Systems Development Method (DSDM) – инкрементный и итеративный метод, основа которого – быстрая разработка приложений (Rapid Application Development – RAD). Акцент делают на то, чтобы максимально привлечь конечного потребителя к созданию продукции.
    • Essential Unified Process (EssUP). Автор подхода – Ивар Якобсон. Подход наделен методами итеративного создания ПО. Акцент делается на архитектуру продукции и наработанные практики команды, заимствованные из RUP, CMMI и Agile Development. Суть идеи состоит в использовании лишь тех методов и техник, которые применяются в конкретном случае. Именно их выбор является основой определения целевого процесса. Данный подход отличается от RUP с взаимосвязанными методами и практиками. Здесь же есть гибкость и возможность вычленения необходимых элементов из всего, что доступно.
    • Extreme Programming (XP), или экстремальное программирование. Суть метода – в использовании уже имеющихся лучших техник в сфере создания ПО и усовершенствовании их. Данный подход и обычная практика отличаются друг от друга, в частности тем, что в последнем случае программист проводит последовательную проверку написанного своим коллегой кода. Экстремальное программирование предполагает параллельную проверку, что способствует более быстрому выпуску продукции, но вместе с тем увеличивает и риски.
    • Feature-Driven Development (FDD). В рамках использования метода есть главный запрет, заключающийся в том, что реализация каждой функции должна осуществляться в течение двух недель и не более. В идеале ее разработка производится за один раз. Если это невозможно, функцию разбивают на несколько и реализовывают плавно.
    • Getting Real (GR) — при использовании метода не прибегают к процедурам функциональных спецификаций, используемых для web-приложений. Разработку начинают с обратной стороны, то есть сначала задумываются о дизайне и интерфейсе, а потом – о функциональном наполнении.
    • OpenUP (OUP) — в основу разработки подхода положен RUР. Метод определяет итеративно-инкрементальный способ создания ПО. В рамках подхода сказано о жизненном цикле разработки (фазах запуска, уточнения, разработки и передачи заказчику). Метод реализуют в несколько этапов, проверяя определенные контрольные точки, что способствует повышению эффективности контроля и мониторинга воплощения проекта в жизнь. Все решения, касающиеся проекта, принимаются вовремя.
    • Lean Software Development. Основа подхода – концепция бережливого управления производственной компанией (lean production, lean manufacturing).
    • Scrum является одним из наиболее востребованных методов гибкого создания ПО и определяет правила по управлению процессом производства с использованием известных способов. Акцент в данном случае делают на вовлечении заказчика в разработку (когда завершается очередной этап, возможна смена или уточнение требований к создаваемой продукции). Это позволяет выявить недочеты и откорректировать продукт.

    Методология Agile Scrum – одна из популярных технологий

    Практически самая распространенная методика Agile – это Scrum («скрам»). Название пришло из регби. В настоящее время так называется самая структурированная гибкая методология разработки Agile. «Скрам» в спортивной сфере является интенсивным командным действием, направленным на достижение цели – получение мяча для последующей атаки противника.

    Период действия «скрам» небольшой. Участие в этой фазе регби принимают лучшие спортсмены с отличной подготовкой, так как она достаточно травматична. Если подготовленные и сильные игроки отсутствуют, «скрам» попросту не проводят. Методика Scrum в России становится все более распространенной. Остановимся на ней подробнее.

    Основу «скрам» составляют спринты. Так называют кратковременные фиксированные действия для создания и предоставления потребителю работающего продукта с новыми характеристиками. Его возможности при этом превышают те, что были ранее. Срок «спринта» фиксирован, и именно от него зависит предсказуемость и гибкость процесса создания. Если срок короткий, показания гибкости и предсказуемости становятся выше, но при этом относительная цена каждой итерации, а также временные затраты на организацию и встречи с заказчиком и членами команды также увеличиваются.

    Важный элемент методологии – бэклог продукта (backlog). Это перечень требований к конечному результату. Требования здесь четко структурированы по уровню важности. Именно из перечня берут задачи для последующих спринтов. В список можно вносить коррективы и дополнения по ходу уточнения характеристик и реализации продукции.

    Существует этап планирования, на котором определяют новые функциональные качества создаваемого продукта для следующего спринта. После решения задачи составляют бэклог спринта (Sprint Backlog). Он остается неизменным на всем его протяжении.

    В методологии также определены структурированные роли в проекте:

    • Scrum Master является посредником между командой и клиентом.
    • Product Owner представляет заказчика, формирует, приоритезирует Product Backlog и принимает промежуточные итоги работы.
    • Team – команда проекта, где отсутствуют отдельные роли. Это самоорганизующаяся система, в которую входят кросс-функциональные мотивированные профессионалы.

    Финансистам методология дает ряд преимуществ, а именно:

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

    Основная проблема в данном случае – вопрос юридического оформления такого вида деятельности и взаимодействия с внешней командой разработчиков.

    Зачем вам нужна Agile методология управления

    • Система позволяет хорошо себя чувствовать в кризисный период и в неопределенных ситуациях, получать доход, защищать свой бизнес, грамотно применять имеющиеся ресурсы и возможности.
    • Agile методологии отдают предпочтение как крупные предприятия, занимающиеся внедрением гибких управленческих методов, так и небольшие компании. Для последних Agile методология – лучший вариант. Речь здесь идет о заведениях общепита, стоматологических клиниках и кабинетах, автосалонах; кроме того, Agile методология позволяет «тюнинговать» бизнес-процессы по таким направлениям, как организация внешнеэкономической деятельности, построение систем продаж и кризис-менеджмент.
    • Применяется Agile методология в менеджменте, маркетинге, финансовой отрасли, управлении персоналом. Благодаря ей можно достичь сверхбыстрой реализации проектов и отличного результата.
    • Agile методология – в первую очередь это гибкое мышление и только потом инструменты. Чтобы успешно пользоваться ею, следует внести определенные изменения в менталитет, культуру работы с проектами на предприятии.
    • В Agile есть множество методов. Самые популярные сегодня – Scrum и Kanban.
    • Agile методология способствует выведению вашего бизнеса на новый уровень с учетом существующих возможностей, ресурсов и практических навыков сотрудников.
    • Agile методология подойдет любому предприятию, ориентированному на получение большего дохода и усиление влияния в рыночной среде.
    • Agile методология обеспечивает поиск и введение новых технологий, связанных с прорывом, развитием внутренней предпринимательской деятельности, креативности подхода и мышления в крупных организациях.

    Все вышеперечисленное – лишь начало. Многие эксперты бизнес-сферы и руководители крупных предприятий уверены: Agile методология – будущее современной экономической отрасли.

    Внедрение Agile методологии для повышения эффективности персонала

    Мы видоизменили наше офисное пространство, чтобы перейти к управлению по Agile методологии:

    Этап 1. Организация рабочих мест.

    В течение месяца мы изучали рабочие места персонала, определили отделы, где для ведения эффективной деятельности требуется полная тишина (это, к примеру, бухгалтерия), обратили внимание на департаменты, в которых работают специалисты, постоянно находящиеся в отъезде и проводящие в офисе не больше 3 часов в день. Мы получили график, где значились количество работников и специфика их трудовых обязанностей. С учетом полученных сведений мы приступили к реконструкции офиса.

    Для сотрудников, деятельность которых предполагает постоянное нахождение на работе, оборудовали постоянные места. Мобильному персоналу предоставили временное пространство на территории open-space. Туда можно прийти, занять понравившееся место и включить удаленный доступ. Уделили внимание и неформальным зонам: помещениям для отдыха, переговоров, рабочим кафе.

    Мы постарались организовать пространство в офисе так, чтобы у сотрудников появилась возможность в любой момент изменить расположение:

    • если нужно, побыть в одиночестве;
    • объединиться в мини-группы;
    • провести совещание между отделами в любом составе.

    На количество подобных зон в рамках проекта влияло то, к какой доле бизнеса относится процесс.

    Этап 2. Адаптация работников.

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

    Этап 3. Введение необычных решений.

    Мы внедрили ряд фишек: организовали кинотеатр на территории общей зоны, где во время работы идет демонстрация презентаций, а по вечерам – фильмы, а также стену с изображением дерева, на котором написаны ценности фирмы.

    Новый офис необычен, но комфортен. Мы оснастили его разноуровневой мебелью: барными стульями, креслами-мешками, диванами из кожи и ткани, столами из стекла. Agile-управление характеризуют такие детали, как:

    • современные инженерные решения;
    • IT-инфраструктура;
    • комфортабельная мебель;
    • поверхности для записей идей в процессе переговоров и пр.

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

    Результат. Несколько месяцев пребывания в улучшенном офисе показали: работа стала командной, а коммуникация между специалистами разных отделов улучшилась. Удалось сэкономить на аренде. В среднем на человека в офисе масштабной организации приходится 12-40 м 2 . Ранее у нас было 10 м 2 , и этот показатель удалось сократить до 6 м 2 , эффективно распределив рабочие места. Срок окупаемости проекта составил 1,5 года.

    Все помещения для переговоров мы оснастили Wi-Fi и конференц-связью. Так мы избавились от необходимости брать в аренду конференц-залы, чтобы проводить в них внешние встречи. Комфортные условия привлекают сотрудников, благодаря чему они проводят на работе больше времени и выполняют обязанности эффективнее.

    • Организация бизнес-конференций: пошаговый план мероприятия

    Какие проблемы могут возникнуть, когда используется Agile методология

    Проблема 1. Привычка к роли.

    Специалисты в проектной команде сначала с небольшой охотой переходят на выполнение непривычных для них работ, даже осознавая, что так будет лучше. К примеру, аналитикам часто не нравится тестирование системы, хотя кто, если не они, знают все об особенностях ее функционирования? Такого рода проблемы заметить в команде несложно и решить их обычно не составляет особого труда.

    Проблема 2. Привычка к документации.

    Сначала разработчики ждут требований от заказчика – документации по проекту с разъяснением всех вопросов. Такой метод передачи сведений – не самый эффективный, а потому разработчикам лучше привыкнуть к прямой коммуникации с клиентом. Спустя время, после общения с заказчиком разработчикам станет проще вникать в тонкости бизнеса и решать очевидные вопросы. Даже при допущении ими ошибки клиент быстро заметит ее в конце итерации, и недочет можно будет вовремя устранить.

    Проблема 3. Новая команда.

    Менеджер проекта рискует столкнуться с трудностями работы с новым коллективом. Участники еще не могут как следует общаться друг с другом, между ними нет контакта, они стесняются попросить помощи и боятся критиковать кого-либо за неверное решение. На менеджера проекта ложится ответственность. Он обязан помочь участникам команды в установке неформальных отношений, наличие которых подразумевает Agile методология. Возможно, полезно будет организовать совместный поход в ресторан, мероприятие по тимбилдингу или спортивное соревнование.

    Проблема 4. Проблемы с общением.

    Задача менеджера проекта на начальном этапе – проведение митингов с участниками команды для достижения продуктивной и эффективной деятельности.

    Проблема 5. Давление по срокам.

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

    Проблема 6. Креативность.

    Задачи в проекте бывают как интересными, так и не очень. Разработчики зачастую испытывают удовольствие от принятия решений, которые вредят проекту, но интересных технически. Здесь стоит вспоминать о принципах КISS (keep it simple, stupid) и YAGNI (you ain’t gonna need it). Пусть основной характеристикой проектных решений будет простота. Не следует выполнять то, что не особенно нужно в данный момент.

    Что следует сделать, чтобы команда принимала простые решения? Иногда полезно позволить специалистам допустить однократную ошибку, чтобы потом тщательно проанализировать ее и дать разработчикам понять, что нужно, а чего не стоит делать. Почти любой проект так или иначе дополняется исследовательскими задачами (новыми технологиями и инженерными областями знаний). Вот здесь и нужно пробовать и экспериментировать.

    Проблема 7. Оценка времени.

    Определяя время на решение задачи, специалисты учитывают исключительно написание кода. А вместе с тем в задачу входят еще как минимум создание дизайна и тестирование. На самом старте проекта разработчики думают, что закончат проект раньше, чем это возможно. По окончании процесса специалисты отмечают промахи и делают выводы на перспективу. Время идет, и команда учится правильно оценивать ситуацию. Обычно уже через 3-4 итерации уровень точности и производительности работы улучшается.

    Проблема 8. Проблема с менеджментом.

    В ожиданиях менеджмента – наличие определенного функционала к указанному времени. Но Agile методология не гарантирует выполнения планов на 100 %. Логично лишь ждать, что будут решены приоритетные задачи. Полезным является согласование с менеджментом планов на уровне релизов. Высокий уровень плана релизов дает возможность руководителю в довольно больших временных рамках варьировать объем разработки даже отдельных характеристик системы. К примеру, задача создания подсистемы поиска может включать учет морфологии. Возможна и экономия на данном этапе.

    Проблема 9. Проблемы некомандного поведения.

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

    Вариантов здесь несколько. Не исключено, что человек просто пребывал в чрезмерно увлеченном состоянии, которое вскоре должно пройти. Но нередко встречаются и те, кто просто не может быть частью команды в силу своего характера.

    Agile методология без ошибок

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

    Требуется точное осознание того, какой результат нас интересует, какими сроками и бюджетом мы располагаем. Нечеткие цели и красивые формулировки, к примеру, «Стать номером один в своей сфере» или «Начать работать более эффективно» не подходят. Пусть задачи будут выражены в цифрах. Например: «Достичь в 2020 году оборота в 3 млрд. долларов», «Сократить время создания продукта до 3 месяцев» и т.д.

    Ошибка 2. Неверный диагноз.

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

    Ошибка 3. Введение Agile только на отдельном участке бизнес-процессов.

    Это логическое продолжение второй ошибки, описанной выше. Причина ее допущения такая же: отсутствие понимания проблемы и того, где она скрывается. Меняться должны все отрасли предприятия: производственная и маркетинговая части, бухгалтерия и продажи. В противном случае, ничего не получится. Если изменения ввести только в маркетинг и не дождаться желаемого эффекта, у вас закрепится прочное мнение о том, что Agile методология неэффективна.

    Ошибка 4. Занижение важности вовлечения всех сотрудников компании.

    Вы обязательно должны быть союзниками с вашими коллегами. Если этого не будет, лучше поберечь ресурсы, время, и ничего не начинать. Agile методология предполагает инициативность, мобилизацию и ответственность всех, кто принимает участие в процессе, хотя бы менеджеров предприятия. Если эти люди – сильные и авторитетные руководители, способные достичь хорошей дисциплины при решении задач и введении новых правил в работе, то все получится. По статистике, 85 % предприятий не располагают сильными управленцами с достаточной профподготовкой.

    Ошибка 5. Иллюзия, что все возможно только благодаря человеческим усилиям.

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

    Ошибка 6. Нежелание менять кадры.

    Практически 90 % успеха зависит от коллектива предприятия. Следует уделять непрерывное внимание развитию, обучению и правильной мотивации сотрудников. Множество специалистов не готовы вести деятельность по Agile методологии, им не интересны новые знания и возможности, освоение бизнес-процессов. Порядка 25-30 % персонала предприятия не желают выкладываться на все сто и стремиться к высокому заработку. Таким сотрудникам лучше сказать: «Прощай». Слабые звенья бывает достаточно сложно выявить, а потому HR-менеджеры зачастую не занимаются этим.

    Ошибка 7. Потеря заинтересованности и участия топ-менеджеров.

    Обычно на внедрение проекта уходит 8-16 месяцев. В 70 % ситуаций уже по прошествии трех месяцев заинтересованность участников понижается. Как следствие, члены команды просто не хотят входить в состав проекта. Если дела обстоят именно так, решить поставленную задачу вы, конечно, не сможете.

    Agile методология: примеры неудачного применения

    Agile методология привлекает многих профессионалов, и к сегодняшнему дню ее попытались внедрить ряд известных во всем мире компаний. Но практически никому не удалось достичь желаемого результата.

    Пример: в 2015 году на фондовой бирже в Нью-Йорке проводились торги, которые пришлось остановить на целых 4 часа. Сначала это объяснили кибератакой. Но, как выяснилось позже, проблема заключалась в баге в процессе очередного обновления. Конечно, 4 часа простоя центра мировой торговли принесли миллиардные убытки.

    И этот пример – не единственный. Брокерам проще: потеряли, а потом заработали в два раза больше. Сложнее дела обстоят у авиакомпаний. Приблизительно такая же ситуация произошла с авиаперевозчиком «Дельта» после простого обновления программного обеспечения. Диспетчерская система перестала получать данные, что привело к вынужденной отмене рейсов. Компания не только потерпела убытки, но и поплатилась репутацией.

    Наиболее громкий провал использования Agile методологии связан с запуском системы медстрахования Obama Care в США. Смысл программы состоял в следующем: определенным категориям американских граждан предоставляли бесплатные полисы страхования. Для получения такого права человеку следовало заполнить анкету на сайте и дождаться решения определенных служб. Конечно, миллионы людей бросились заполнять анкеты. Но проблема заключалась в том, что анкету им удавалось заполнить, а отправить ее – нет, возникал какой-то сбой сервера. Система Obama Care прекратила свое действие приблизительно через 6 месяцев после старта. Чтобы наладить работу, заинтересованные лица привлекли специалиста извне, который оценил ситуацию. Консультант проделал огромный путь, начав с конца – «продакшна», собрал части вместе и сумел достичь корректного функционирования системы.

    Пример успешного внедрения Agile-управления

    Фирма, включая все подразделения, переходила на работу по Agile методологии на протяжении 1,5 лет. Ранее в HR-отделе состояли: специалист по кадрам, менеджер по обучению и рекрутер. Руководство подразделений, выбирая новый персонал или проводя обучение, заполняло заявки в огромном количестве. Теперь каждый отдел предприятия имеет свой HR. В группах разработчиков, ведущих деятельность по Scrum методологии, это место отведено Scrum-мастеру. Продукция здесь – это кадровый сервис, а участники коллектива – внутренние потребители.

    Новая манера управления по Agile методологии хорошо прижилась в области подбора сотрудников. Заказчик может планировать свою деятельность, учитывая выход кандидата в точно указанное время. В течение 9 спринтов длительностью в 2 недели нам удалось сократить количество просроченных вакансий в 2 раза. Простая вакансия (к примеру, литейщика) теперь закрывается за 20 дней, средняя (сервисного инженера) – 32 дня, редкого специалиста (инженера-технолога по литью пластика) – за 51 день. Завершив первый спринт, рекрутерам стало ясно: для руководства отделов главное – не быстрота поиска, а прозрачные сроки закрытия вакансий и период времени, который они могут потратить на выбор сотрудника с последующим обучением. В настоящий момент менеджер рассказывает заказчику о сроках и стадии поиска соискателя. В обязанности рекрутеров также входит «прокачка» технических компетенций, необходимых для того, чтобы эффективно подбирать производственные вакансии, к примеру, обучение чтению чертежей.

    Приведем пример: руководство отдела не осознает, в каком сотруднике нуждается, или этот вопрос решают специалисты сразу нескольких подразделений. Допустим, компании необходим кладовщик, который будет работать на складе инструментария. Заказывают вакансию в данном случае департамент производства и служба логистики. В обязанности рекрутера входит учет требований данных отделов к соискателю. Производственники нуждаются в техническом специалисте, который прекрасно знает современный металлорежущий инструмент. Логисты хотят видеть любого профессионала с опытом работы и знающего в совершенстве, что такое складская логистика. Заказчики еще не определились и не вывели общий знаменатель, но рекрутер уже ищет кандидата, рассматривая соискателей. После выбора лучшего, на его взгляд, претендента, он ведет диалог со всеми заказчиками. Если не удается прийти к соглашению после собеседования, рекрутер вносит изменения в текст вакансии.

    В данный момент отделы приходят к мнению, что в целевую группу должны входить технические мастера, отлично знающие инструмент. Рекрутер вновь занимается поиском, выбирает подходящих соискателей и встречается с ними. Это продолжается вплоть до закрытия вакансии.

    • Бизнес-модель: виды, примеры, постороение

    Agile методология управления проектами: 6 правил эффективности

    Правило 1. Поработайте над планом проекта и дайте ответы на следующие вопросы: выполнение каких задач первостепенно, наличие каких ресурсов для этого требуется, какие сроки отведены на достижение результата?

    У долгосрочных планов точность достаточно низкая, поэтому составьте план в трех плоскостях:

    • план в долгосрочной перспективе с указанием всех задач, необходимых к выполнению и крупным планированием сроков реализации ключевых вех;
    • помесячные планы целей, взяв за основу общий план (их выполнение не должно быть ниже 90%);
    • определите в рамках месяца максимально детализированные цели, четко описав результаты их достижения.

    Правило 2. Привлекайте к реализации проекта коллектив, сообщайте об этом сотрудникам. Все специалисты должны понимать и разделять цели организации, знать, что нужно делать для решения поставленных задач, даже если эти работники не выполняют их в рамках проекта.

    Правило 3. Время от времени встречайтесь с командой по внедрению. Периодичность встреч – 1-2 раза ежемесячно. Это требуется для определения решения задач и проблем, своевременной корректировки плана при возникновении сложностей с внедрением. Вместе с тем регулировать острые конфликтные ситуации не следует в ходе встречи, которая по плану намечена через неделю. Разрешение должно быть четким и оперативным.

    Правило 4. Не стоит прекращать проект, если видите, что он не дает положительного эффекта. Проблемы, как правило, возникают из-за недовольства коллектива, членам которого приходится выходить из комфортной зоны и настраиваться на творческий лад. Запомните, что первые результаты обычно измеряют после прохождения 80 % всего пути.

    Правило 5. Говорите неэффективным сотрудникам «До свидания», если видите, что Agile методология им не близка.

    Правило 6. Не настраивайтесь на идеальное решение задач с первого раза. Порядка 95 % эффективных инструментов и идей удалось достичь после множества повторов и внесения корректировок по прошествии нескольких итераций.

    Какие книги про Agile методологию рекомендуется прочесть

    1. Эндрю Стеллман, Дженнифер Грин «Постигая Agile».

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

    В книге раскрывается суть наиболее востребованных Agile методологий: Scrum, XP (экстремального программирования), Lean (бережливого программирования) и Kanban (Канбан); рассказывается, как использовать их, чтобы создавать качественные программы и достигать поставленных целей. В пособии говорится, как Agile методология помогает менять мышление участников проекта, сплачивать их и вместе стремиться к улучшениям. Цель издания – рассказать о методах Agile, ценностях и принципах, благодаря которым команды могут полностью менять стратегию работы над проектами и подходить к ней иначе. Пособие заинтересует и проектных менеджеров, и руководителей, и просто тех, кто увлекается гибкой методологией разработки Agile.

    2. Борис Вольфсон «Гибкое управление проектами и продуктами».

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

    3. Джефф Сазерленд «Scrum. Революционный метод управления проектами».

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

    Scrum существует вот уже 20 лет, и за это время методикой успешно воспользовались не только разработчики ПО, но и производители авто, фармацевты, ФБР и простые люди, планирующие свое время и возможности.

    Благодаря прочтению книги вы иначе посмотрите на управление проектами и поймете, как решать задачи, казавшиеся ранее недостижимыми. Не имеет значения, что в ваших планах: открытие стартапа, изменение образовательной системы, внедрение новых технологий или более эффективный командный менеджмент. Благодаря Scrum вы повысите свою производительность в разы. Пособие прекрасно подойдет менеджерам проектов, руководителям и IT-специалистам.

    4. Роман Пихлер «Управление продуктом в Scrum».

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

    5. Кеннет С. Рубин «Основы Scrum».

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

    Информация об экспертах

    Андрей Кочешков, главный аналитик ОАО «Издательство «Просвещение». «Просвещение» — советское, а позже российское специализированное издательство учебной и педагогической литературы.

    Мария Онучина, директор департамента управления объектами компании Becar Asset Management Group, Москва. ООО «Бекар-Эксплуатация» (Becar Asset Management Group). Сфера деятельности: системное решение проблем управления объектами (property management), проектами (project management) и инвестициями (брокеридж, оценка). Численность персонала: 5000. Территория: фронт-офисы – в Москве и Санкт-Петербурге; три представительства и 55 обособленных подразделений – в разных городах России.

    Сергей Бучик, генеральный директор NPM Group, Новосибирск. ООО «НПМ» (NPM Group). Сфера деятельности: производство оборудования для индустрии напитков; разработка IT-решений для интеграции с оборудованием, мобильных приложений. Численность персонала: более 300. Доля рынка: 95% оборудования по розливу пива и газированных напитков в России. Количество патентов на собственную продукцию: свыше 80.

    Ключевые принципы внедрения Agile-методологии

    Ключевые принципы внедрения Agile-методологии

    Методология Agile появилась для управления проектами в области информационных технологий. Сегодня же, некогда прикладная область выросла в инновационный подход управления всем предприятием. Подход еще полностью не сформировался и отдает некой сыростью, однако уже сейчас он несет в себе идеи, которые полностью отражают современные реалии бизнеса.

    Ключевой принцип, на котором основана вся методология, – гибкость.

    Насколько agile-методология важна для предприятия

    Способность за короткий промежуток времени подстраиваться под происходящие изменения является основным преимуществом в борьбе за рынок среди конкурентов. Ключевой фактор здесь – максимальная скорость принятия решений и их воплощение на практике. Поэтому, чем больше дано подразделениям власти в принятии решений, тем меньше времени уходит на согласование и бюрократические проволочки, что значительно повышает скорость реализации отдельных проектов. Важно создать такую структуру, в которой центр принятия решений будет играть наименьшую роль, независимо от того, один ли это человек или совет директоров.

    К тому же, когда часть задач перекладывается с членов центра принятия решений на плечи других сотрудников, у первых появляется больше времени на разработку грамотной архитектуры предприятия.

    Принципы, которые были заложены в фундамент гибкой методологии, легко перекладываются на систему управления, которая строится на методе agile. Среди них необходимо отметить:

    • Всем подразделениям на предприятии дается возможность самостоятельно принимать важные для достижения цели решения;
    • Главный упор в деятельности предприятия делается на конечный результат, а не на процесс, с помощью которого данный результат был достигнут;
    • Результат контролируется на каждом из этапов;
    • На предприятии идет постоянный процесс упрощения системы коммуникаций между отдельными произведениями;
    • При разработке структуры управления необходимо опираться на квалификацию и опыт специалиста, а не на его статус.

    Ключевые правила при использовании методологии Agile

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

    1. Каждый этап работы должен давать результат (путь и не конечный), который удовлетворяет интересам всех заинтересованных лиц;
    2. Ни кто из участников, задействованных в реализации проекта, не может отменить любые из ранее обговоренных договоренностей. Организатор собрания должен обязательно присутствовать на нем и не перекладывать решения важных проблем на плечи других собравшихся. Двойной стандарт – первый шаг к разрушению самоуправляемой структуры;
    3. Крайне важно, чтобы учитывались интересы любого лица, задействованного в реализации проекта. Если кто-то пытается навязать свое решение всей команде, то это может стать причиной понижения активности всего коллектива;
    4. Для agile-методологии важны успешные, хоть и маленькие проекты. Не стоит бояться небольших, но понятных для всех участников цели, даже если такая цель заключается в ежедневном совещании.

    QA evolution

    Agile

    Гибкая методология разработки (англ. Agile software development, agile-методы) — серия подходов к разработке программного обеспечения, ориентированных на использование интерактивной разработки , динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп , состоящих из специалистов различного профиля. Существует несколько методик, относящихся к классу гибких методологий разработки, в частности экстремальное программирование, DSDM, Scrum, FDD.

    Большинство гибких методологий нацелены на минимизацию рисков путём сведения разработки к серии коротких циклов, называемых итерациями , которые обычно длятся две-три недели. Каждая итерация сама по себе выглядит как программный проект в миниатюре и включает все задачи, необходимые для выдачи мини-прироста по функциональности: планирование, анализ требований, проектирование, программирование, тестирование и документирование. Хотя отдельная итерация, как правило, недостаточна для выпуска новой версии продукта, подразумевается, что гибкий программный проект готов к выпуску в конце каждой итерации. По окончании каждой итерации команда выполняет переоценку приоритетов разработки.

    Методы Agile

    Методы Agile — это такие гибкие методологии, как Lean Development («Бережливая разработка ПО»), Scrum и др. Они были разработаны еще в начале 2000-х как альтернатива малоэффективным традиционным IT методам.

    Практически все аgile-команды сконцентрированы в одном офисе (bullpen). Офис включает product owner – заказчика, который и определяет требования к продукту. В качестве заказчика может выступать бизнес-аналитик, менеджер проекта или клиент. Кроме того, в офис могут входить и дизайнеры интерфейса, тестировщики, технические писатели. То есть методы Agile направлены в первую очередь на непосредственное общение.

    Основной метрикой agile-методов является рабочий продукт. Отдавая предпочтение непосредственному общению, agile-методы уменьшают объём письменной документации по сравнению с другими методами

    — люди и взаимодействие важнее процессов и инструментов;

    — работающий продукт важнее исчерпывающей документации;

    — сотрудничество с заказчиком важнее согласования условий контракта;

    — готовность к изменениям важнее следования первоначальному плану.

    Принципы Agile:

    1.удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения;

    2.приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособность полученного продукта);

    3.частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще);

    4.тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;

    5.проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;

    6.рекомендуемый метод передачи информации — личный разговор (лицом к лицу);

    7.работающее программное обеспечение — лучший измеритель прогресса;

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

    9.постоянное внимание улучшению технического мастерства и удобному дизайну;

    10.простота — искусство не делать лишней работы;

    11.лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды;

    12.постоянная адаптация к изменяющимся обстоятельствам.

    Главные преимущества Agile:

    Качество web-продукта

    Вовлечение заказчика в процесс каждой итерации дает возможность корректировать процесс, что неизменно повышает качество.

    Высокая скорость разработки

    Итерация длится не более 3-х недель, к концу этого срока обязательно есть результат.

    Минимизация рисков

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

    Заказчик всегда имеет возможность наблюдать за ходом разработки, корректировать фунуциональность проекта, тестировать или запускать его, даже может остановить его в любой момент.

    Топ-пост этого месяца:  40+ идей для видео на YouTube - список оригинальных идей от IM
    Добавить комментарий