Дисклеймер: пока сам Shape up в боевых условиях не довелось попробовать, но на бумаге оно решает многие проблемы, которые меня бесят в организации процессов разработки.

Некоторое время назад я мониторил забугорный рынок труда, на предмет удвоить а то и утроить свою ЗП на тот момент. В итоге я эту затею забросил через какое-то время, зато по ходу обогатился знаниями. В частности я наткнулся на компанию Process street, в блоге которой был описана методология Shape up. Там был описан очень заманчивый крючок для меня как для разработчика, так называемый 2х недельный cooldown(кулдаун) после 6 недельного цикла. "В эти 2 недели наши разработчики занимаются на проекте всем чем захотят!" Прям так и было написано, возможно без восклицательного знака. 

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

  1. Декларируем 20-30% обязательных внутренних работ в рамках спринта

  2. Планируемся с включением этого процента внутренних работ в спринт

  3. Ой что-то мы не успеваем сделать всё в рамках спринта, надо бы перепланировать мы

  4. Ну мы же не будем выкидывать фичи, которые мы пообещали уже?

  5. Выкидывает какую-то часть внутренних работ, если не все

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

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

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

Главные отличия

  1. Жёсткие ограничения по времени при гибкости размеров проекта

  2. "Почти готово" по завершении цикла равняется "Не готово совсем" и по дефолту ничего не доделывается

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

  4. Нет централизованного бэклога. Проекты текущего цикла были сформированы в ходе прошлого цикла и на них была сделана ставка в ходе прошлого кулдауна, то есть за 2 недели перед текущим циклом

Основные шаги и инструментарий

Шаг 1. Shaping и Writing Pitches

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

  • четко сформулированной проблеме, которую собираются решать

  • четко описано, что предлагается сделать в качестве решения

  • четко описано, что НЕ ЯВЛЯЕТСЯ частью предлагаемого решения и делаться не будет

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

Для грамотного формирования идеи очень важны две концепции - “Scope Hammer” и “Аппетит”. 

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

На этом месте я, пока не разобрался детально, малость завис. А как же любые фичи, которые очевидно не поместятся в 6-недельные ограничения? Я поначалу даже думал, что там в basecamp’е кодят какие-то боги, которые что угодно могут сделать за 6 недель. Но как оказалось всё несколько тривиальнее и там тоже занимаются ровно таким же поеданием слонов по частям что и везде. 

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

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

Что же делать, если больше денег достать не получится? Очевидно надо задействовать Scope Hammer! Креветки взять поменьше, рис попроще, от половины приправ отказаться, возможно. В итоге получится не такой изысканный деликатес как задумывалось, но 4 человека будут сыты. Самое главное - выполнить взятые на себя обязательства. 

Возвращаясь в мир разработки ПО Scope Hammer’ом нужно работать постоянно и на всех этапах, чтобы отделять must-have фичи от nice-to-have фич

Оформленные идеи называются pitch’и и выставляются на всеобщее обозрение с двумя целями - для сбора фидбеков и конструктивной критики, чтобы успеть доработать до начала фазы ставок и чтобы те кто будут впоследствии делать ставки смогли ознакомиться

Шаг 2. Ставки

На этом шаге решается что будет делаться а что нет. Решают топы.  Что создает рабочую атмосферу очень ценного времени для каждого из участников. В basecamp это CEO, CTO продуктовый стратег (он же автор книги) и главный дизайнер.

Основные причины, по которым могут не взять проект в работу такие:

  • проблема, которую решает проект недостаточно значима в их глазах

  • предлагаемое в целом не нравится

  • предлагаемое решение не нравится в совокупности с заявленным аппетитом

  • идея сыровата или даны недостаточно убедительные ответы на возникшую критику

Шаг 3. Разработка

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

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

По концепции Fixed time - Variable Scope, если ты не доделав must-have функционал берёшься за nice-to-have и не успеваешь - проблема очевидна и ты её не повторишь. Если ты не смог отказаться от каких-то nice-to-have фич и из-за этого зафакапил сроки - то же самое. Если не успели даже только must-have фичи запилить - это факап на стадии шейпинга.

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

(Если что я не играл, но как-то раз наткнулся на стрим Майкера с Дримхака где БратОК затащил топ-1 и моя жизнь никогда не была прежней после этого)

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

Discovered Tasks

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

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

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

Пожалуйста, помогите собрать статистику

Спойлер с пояснением

Допустим тебе надо собрать пакет документов для путешествия в страну “икс”. У тебя нет никакой предварительной информации по этому вопросу. Ты у подножия горы. 

  • Сколько займёт сбор пакета документов? 

  • ХЗ! 

  • Успеешь за неделю?

  •  ХЗ! 

  • А за две? 

  • ХЗ! 

  • А если очень срочно  понадобится ускориться сможешь закончить в течение 2х дней? 

  • Да не знаю я, отвяжись уже!!!

  •  Окей, а когда будешь знать, когда сможешь закончить? 

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

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

  • Сколько займёт сбор пакета документов? 

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

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

  • Сколько займёт сбор пакета документов? 

  • От 5 до 10 рабочих дней, остальные я пока письмо жду изи соберу.

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

Подытоживание

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

Pros

  • Меньше ритуалов и planning overhead’а 

  • Ответственность за результат, воспитанная реальным риском зафакапить сроки и ничего не выпустить по итогам 6 недель работы

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

Cons

  • Какая-то новая непроверенная хрень, где программистам не то что разрешается е***нить 2 недели каждые 2 месяца, а их напрямую обязывают это делать 

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

P.S. Я по этой теме делал доклад в нашей небольшой и уютной компании и там возникла пара разумных моментов:

  1. Людям, которые работают по принципу заказчик сказал, что можно ничего не делать, значит буду ничего не делать две недели, такое не подходит. Они определённо есть возможно даже в большом количестве, но это не 100%. Basecamp - компания продуктовая, и Shape up сделан с учётом особенностей продуктовой разработки.

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

Комментарии (6)


  1. v1000
    07.10.2022 12:58

    Название «Shape up» какое-то странное с точки зрения маркетинга. Не взлетит.


  1. ABHuman
    07.10.2022 13:30
    +2

    Главные отличия

    4. Нет централизованного бэклога и проекты текущего цикла, были сформированы в ходе прошлого цикла и на них была сделана ставка в ходе прошлого кулдауна, то есть за 2 недели перед текущим циклом

    А можно по-русски? Возможно, что что-то надо сделать с первой запятой.

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


    1. SeeeRgo Автор
      07.10.2022 13:56
      -2

      Поправил, вроде понятнее должно было стать. Спасибо, не заметил при вычитке. Бэклог и кулдаун понятны в 2022 году должны быть по моему мнению.

      На том турнире БратОК сам говорил, что повезло, что вообще с зергами не пришлось по сетке столкнуться. Но он тогда реально поступью Терминатора прошёлся по тоссам и терранам. Чем произвёл на меня неизгладимое впечатление


      1. ABHuman
        07.10.2022 14:46
        +2

        Бэклог и кулдаун понятны в 2022 году должны быть по моему мнению.

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

        Удачи в написании следующих статей и отслеживании новинок проджект-менеджмента.


        1. SeeeRgo Автор
          07.10.2022 15:38
          -3

          Удачи в написании следующих статей и отслеживании новинок проджект-менеджмента.

          Спасибо

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

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


          1. ABHuman
            07.10.2022 16:09
            +1

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