Scrum в деталях

Термин «scrum» применительно к методам управления проектами был предложен Хиротакой Такеши и Икуджиро Нанакой в 1986 году, а затем доработан Джеффом Сазерлендом и Марком Швебером. Согласно философии Scrum, наиболее эффективно над решением задач трудятся маленькие команды. Фото: Pexels.com (CC0).
Термин «scrum» применительно к методам управления проектами был предложен Хиротакой Такеши и Икуджиро Нанакой в 1986 году, а затем доработан Джеффом Сазерлендом и Марком Швебером. Согласно философии Scrum, наиболее эффективно над решением задач трудятся маленькие команды. Фото: Pexels.com (CC0).

Scrum – одна из самых попу­ляр­ных на сего­дня мето­до­ло­гий так назы­ва­е­мой гиб­кой (agile) раз­ра­бот­ки про­дук­тов. Тер­мин scrum («схват­ка» на англ.) заим­ство­ван из рег­би. Он опи­сы­ва­ет при­ем, когда груп­па игро­ков из обе­их команд обра­зу­ет смыч­ку над мячом. Пона­ча­лу мето­ди­ка при­ме­ня­лась для созда­ния и под­держ­ки имен­но про­грамм­но­го обес­пе­че­ния. Сей­час она все актив­ней исполь­зу­ет­ся в самых раз­ных сфе­рах.

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

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

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

В 2001 году на гор­но­лыж­ном курор­те Сно­уберд в аме­ри­кан­ском шта­те Юта 17 нова­то­ров в обла­сти управ­ле­ния тех­но­ло­ги­че­ски­ми про­ек­та­ми под­пи­са­ли «Мани­фест мето­до­ло­гии гиб­кой раз­ра­бот­ки». Он изла­гал основ­ные прин­ци­пы ново­го под­хо­да к про­ект­ной дея­тель­но­сти в мире IT.

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

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

Линей­ка гиб­ких мето­до­ло­гий раз­ра­бот­ки посто­ян­но рас­ши­ря­ет­ся. Сей­час к ним, поми­мо Scrum, отно­сят­ся, напри­мер, Kanban, Crystal, Lean Software Development, экс­тре­маль­ное про­грам­ми­ро­ва­ние, DSDM (Dynamic Systems Development Method), FDD (Feature Driven Developement) и дру­гие, менее извест­ные. Hewlett Packard в этом году про­вел онлайн-иссле­до­ва­ние, в кото­ром были опро­ше­ны пред­ста­ви­те­ли 601 it-ком­па­нии. Лишь два про­цен­та из них заяви­ли, что по-преж­не­му поль­зу­ют­ся толь­ко кас­кад­ным мето­дом в про­ект­ной рабо­те. 91 про­цент исполь­зу­ет либо толь­ко гиб­кую раз­ра­бот­ку, либо гибрид­ные мето­ды. 51 про­цент опро­шен­ных отме­ти­ли, что их ком­па­нии отда­ют пред­по­чте­ние гиб­ким мето­до­ло­ги­ям.

Что такое «scrum»

Тер­мин «scrum» при­ме­ни­тель­но к мето­дам управ­ле­ния про­ек­та­ми был пред­ло­жен Хиро­та­кой Таке­ши и Икуд­жи­ро Нана­кой в 1986 году, а затем дора­бо­тан Джеф­фом Сазер­лен­дом и Мар­ком Шве­бе­ром. Соглас­но фило­со­фии Scrum, наи­бо­лее эффек­тив­но над реше­ни­ем задач тру­дят­ся малень­кие коман­ды.

Чем груп­па ста­но­вит­ся боль­ше, тем менее она пло­до­твор­на. Опти­маль­ной счи­та­ет­ся ячей­ка из 7 чело­век (от 5 до 9). Она долж­на быть мно­го­функ­ци­о­наль­ной, то есть спо­соб­ной рабо­тать авто­ном­но. Еще одна отли­чи­тель­ная осо­бен­ность мето­да – груп­по­вая ответ­ствен­ность. Упор дела­ет­ся не на инди­ви­ду­аль­ных пока­за­те­лях, а на каче­стве рабо­ты всей коман­ды.

Люди

Scrum-коман­ды состо­ят из вла­дель­ца про­дук­та – чело­ве­ка, осу­ществ­ля­ю­ще­го связь с заказ­чи­ком, scrum-мене­дже­ра, чья мис­сия – сле­дить за соот­вет­стви­ем про­ек­та тре­бо­ва­ни­ям мето­до­ло­гии, а так­же коман­ды раз­ра­бот­чи­ков. Мене­джер про­ек­та как тако­вой отсут­ству­ет. Его функ­ции частич­но делят меж­ду собой scrum-мене­джер и вла­де­лец про­дук­та. Но на пер­вый план выхо­дят само­ор­га­ни­за­ция и ком­му­ни­ка­ции внут­ри коман­ды раз­ра­бот­чи­ков. За ними же оста­ет­ся послед­нее сло­во, когда дело каса­ет­ся объ­е­мов и содер­жа­ния рабо­ты в задан­ный про­ме­жу­ток вре­ме­ни.

Спринты и истории

В осно­ве мето­до­ло­гии так­же лежит бес­пре­рыв­ное дроб­ле­ние тре­бо­ва­ний к конеч­но­му про­дук­ту на изо­ли­ро­ван­ные зада­чи, а так­же раз­бив­ка про­цес­са рабо­ты на сжа­тые отрез­ки вре­ме­ни – сприн­ты. Этим он отли­ча­ет­ся от того же кас­кад­но­го мето­да, кото­рый преду­смат­ри­ва­ет пла­ни­ро­ва­ние про­ек­та на меся­цы впе­ред. Каж­дый спринт, по пра­ви­лам scrum, длит­ся око­ло 2–4, мак­си­мум 6 недель. Обя­за­тель­ное тре­бо­ва­ние: резуль­та­том сприн­та дол­жен быть ося­за­е­мый, рабо­чий про­дукт, кото­рый мож­но про­те­сти­ро­вать, пока­зать кли­ен­ту, поста­вить на пол­ку.

Перед нача­лом про­ек­та вла­де­лец про­дук­та вме­сте с кли­ен­том состав­ля­ет спи­сок тре­бо­ва­ний к про­ек­ту, кото­рые затем пред­ва­ри­тель­но оце­ни­ва­ют­ся в чело­ве­ко-часах и рас­став­ля­ют­ся по сте­пе­ни важ­но­сти. В таком виде тре­бо­ва­ния зано­сят­ся в жур­нал (или бэк­лог) поже­ла­ний про­ек­та. Самые при­о­ри­тет­ные сопро­вож­да­ют­ся так назы­ва­е­мы­ми «поль­зо­ва­тель­ски­ми исто­ри­я­ми» – чет­ки­ми зада­ча­ми, необ­хо­ди­мы­ми для реа­ли­за­ции тре­бо­ва­ния. Бэк­лог не ста­ти­чен: по ходу про­ек­та зада­чи в нем могут появ­лять­ся, исче­зать и кор­рек­ти­ро­вать­ся, к ним добав­ля­ют­ся новые поль­зо­ва­тель­ские исто­рии. Так про­ект про­яв­ля­ет гиб­кость и под­стра­и­ва­ет­ся под измен­чи­вость усло­вий.

Ивенты

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

  • что я сде­лал в рам­ках сприн­та с момен­та про­шлой встре­чи;
  • что соби­ра­юсь сде­лать до сле­ду­ю­щей встре­чи;
  • какие суще­ству­ют пре­пят­ствия для выпол­не­ния мною зада­чи.

Устра­не­ние труд­но­стей – пря­мая зада­ча scrum-мене­дже­ра, кото­рый отве­ча­ет за бое­вой дух, настрой, сосре­до­то­чен­ность коман­ды на зада­чах и соот­вет­ствии рабо­че­го про­цес­са прин­ци­пам мето­до­ло­гии. Еще два клю­че­вых меро­при­я­тия в соот­вет­ствии с прин­ци­па­ми scrum: обзор ито­гов сприн­та и ретро­спек­тив­ное сове­ща­ние.

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

Достоинства Scrum

Автор жур­на­ла Forbes Стив Ден­нинг назы­ва­ет Scrum одним из вели­чай­ших откры­тий в сфе­ре управ­ле­ния в целом, не толь­ко в мире IT. Он так сум­ми­ру­ет досто­ин­ства мето­до­ло­гии:

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

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

Недостатки Scrum

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

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

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

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

Напри­мер, Scrum часто стал­ки­ва­ет­ся со слож­но­стя­ми при внед­ре­нии в ком­па­ни­ях с жест­кой систе­мой иерар­хии, когда на непод­го­тов­лен­ных управ­лен­цев раз­ных зве­ньев воз­ла­га­ют­ся непри­выч­ные функ­ции лиде­ра-слу­жи­те­ля, каким высту­па­ет scrum-мене­джер. Для выяв­ле­ния несо­вер­шен­ства внед­ре­ния scrum был раз­ра­бо­тан тест ScrumButt. Он поз­во­ля­ет уста­но­вить, не вер­ну­лась ли коман­да к кас­кад­но­му при­е­му в сво­ей рабо­те.

Где применяется scrum

Scrum исполь­зу­ют такие тех­но­ло­ги­че­ские гиган­ты, как Intel, Microsoft, Amazon. На сво­ем сай­те один из созда­те­лей мето­ди­ки Джефф Сазер­ленд в каче­стве кли­ен­тов упо­ми­на­ет Google, Bosch, JPMorgan Chase, Lufthansa и Toyota. Актив­но поль­зу­ет­ся Scrum ком­па­ния Salesforce.

Scrum при­ме­ня­ет Wikispeed. Ком­па­ния рабо­та­ет на волон­тер­ских нача­лах и зани­ма­ет­ся про­из­вод­ством авто­мо­би­ля на осно­ве модуль­но­го прин­ци­па и с откры­тым дизай­ном. Сре­ди дру­гих про­ек­тов ком­па­нии – MicroHouse – тех­но­ло­ги­че­ское реше­ние, направ­лен­ное на борь­бу с без­дом­но­стью. Его основ­ные харак­те­ри­сти­ки: спаль­ное место и сани­тар­ное про­стран­ство сто­и­мо­стью менее 100 дол­ла­ров. Осно­ва­тель ком­па­нии Джо Джа­стис явля­ет­ся экс­пер­том по scrum и одним из авто­ров мето­до­ло­гии eXtreme Manufacturing – мето­ди­ки гиб­кой раз­ра­бот­ки в про­мыш­лен­но­сти, кото­рая соче­та­ет мето­ды Scrum и Kanban.

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

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

Аме­ри­кан­ский писа­тель Брюс Фей­лер заяв­ля­ет, что при­ме­ня­ет мето­ды гиб­кой мето­до­ло­гии управ­ле­ния в соб­ствен­ной семье, в част­но­сти, устра­и­ва­ет утрен­ние корот­кие встре­чи с зада­ча­ми на день. Это поз­во­ля­ет его детям самим пла­ни­ро­вать свои цели, оце­ни­вать свою рабо­ту и учить­ся на сво­их ошиб­ках. Раз­ра­бот­чик Майк Кон делит­ся опы­том пла­ни­ро­ва­ния жиз­ни с исполь­зо­ва­ни­ем при­е­мов scrum, в том чис­ле сприн­тов на каж­дую неде­лю.