Ускорение4X: история появления

Краткая история появления методики #Ускорение4X

Читатели публикаций про #Ускорение4X убедили меня, что я не прав, сразу пересказывая методику, и ничего не поведав об истории ее возникновения. Исправляюсь.

Нам удалось ускорить разработку в команде в 4 раза в течение 5 месяцев, с перерывами. Потом нам удалось несколько систематизировать наш путь, и применить не только в разработке. Развивать методику мы продолжаем и поныне (правда, нас стало меньше).

История эта случилась несколько лет назад, в ИТ-отделе не очень большого производственного предприятия. Нас там было пятеро, включая меня, программировали мы на 1С. Скептикам сразу скажу, что язык и среда программирования роли не играют — сейчас я ровно тот же опыт повторяю на javascript.

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

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

Классический скрам

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

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

В первую же неделю скрама, на волне энтузиазма, мы сделали 7 баллов. Во вторую — 10. В третью — 13.

Вау! — думали мы! В два раза быстрее! Гениально! Спасибо, скрам!
 

Привыкание

Но, потом скорость начала падать. Энтузиазм прошел, стикеры вешать стало лень, но мы держались. Понимали, что это нормально — устать и опустить руки. Надо просто привыкнуть.

Взяли себя в руки, перетерпели, заставляя себя, и — привыкли. Это перестало быть проблемой.

Правда, скорость больше не росла — 13 баллов третьей недели так и остались максимумом. В среднем у нас получалось сделать около 8 баллов, иногда чуть больше, иногда чуть меньше.

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

Итого, весь этот первый этап продлился 3 месяца.
 

Перерыв

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

Я в это время занимался стратегическим развитием предприятия, с применение самых разных методик, в том числе скрама. И как-то так получилось, что попалась мне на глаза распродажа книг от МИФа, и там был скрам — та самая красная книга Джеффа Сазерленда.

Прочтение книги, после трехмесячного использования скрама по инструкциям интернета, было настоящим озарением. То, что написано в инструкциях, в том числе scrum guide — банальная пошлость по сравнению со смыслом книги и, соответственно, самого скрама.

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

Терпеть было невозможно, и я вернулся к парням и скраму.
 

Второй этап

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

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

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

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

За два месяца мы вышли на устойчивую скорость 17.3 балла, что в 4.11 раза больше первой цифры, которая была до скрама. Оттуда и пошло #Ускорение4X.
 

Новая компания

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

Я попал в другую компанию, где разрабатывают и внедряют решения на javascript. Там я и продолжил свои исследования эффективности.

Там тоже встречается 1С, поэтому моя эффективность не упала до нуля. Но там пришлось разбираться в javascript, а еще решать задачи управления внешними проектами, менеджмента и маркетинга — отличное поле для экспериментов.

Что в итоге (промежуточном)? Сейчас, на момент публикации, моя средняя скорость составляет 20 баллов — это уже растянутое ускорение в 5 раз. Для меня очевидно, что я могу прибавить еще минимум вдвое, когда наконец проникнусь js до нормального состояния.

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

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

Основные практики

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

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

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

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

Мы ранее предполагали, что расчет сроков можно автоматизировать, и даже сделали это — у нас была очень крутая система планирования, одновременно по ASAP и ALAP, с учетом всего, чего только можно. Ее мы не выкинули, а оставили — для планирования производства, закупок и кассовых разрывов.

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

Цель каждого была учтена, и появилась итоговая цель — «работать на будущего работодателя», или проще говоря — на свой опыт. На то, что останется с тобой после увольнения.

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

Очень быстро мы поняли влияние абстрактных решений на ускорение. Если работали в 1С, знаете, что там с абстрактными решениями полная задница, и чем дальше, тем хуже — спасибо вендору. Абстрактные решения снимали с нас целые пласты задач, экономя массу времени. За 2 месяца мы создали примерно 10 абстрактных решений (до этого — 20 за три года).

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

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

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

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

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

Так в нашей практике появился адвокат дьявола — swap позиций для случаев, когда двое спорят и не могут договориться.

Так у нас появился Чингисхан — когда ты одно за другим забраковываешь предложения, чтобы на 5-6 итерации получить идеальное решение. А 5-6 итерация — это минут через 15-20.

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

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

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

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

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

Резюме

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

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

21 Comments

  1. Timur.V

    Ускорение 4X — у вас было увеличение прибыли собственного бизнеса или по найму?

    Reply
  2. 1c-intelligence

    (1) причем тут увеличение прибыли? Если статья об ускорении разработки.

    Reply
  3. yogaga

    В статье ничего нового, что печально. Но новые статьи будут, что радует.

    Reply
  4. 1c-intelligence

    (3)

    Но новые статьи будут, что радует

    почему так думаете?

    Reply
  5. yogaga

    Так в этой статье вы не прощаетесь — а уход по-английски не в вашем стиле 🙂

    Reply
  6. profiprog1c

    Вот меня всегда удивляет стиль написания этого автора. Он в упор путает причину со следствием. Он в упор продолжает не понимать,что такое эффективность в бизнесе. Следуя логике статьи автора у них с командой «первопроходцев скрамников» эффективность была 4 бала, а стала 17. Главное, ведь балы считали сами участники «скрамного кружка по интересам», а не внешние люди, которые были бы не заинтересованы в х4 на бумаге ускорении. Далее, эффективность команды «любителей скрама» настолько возросла, что мало того, что они стали получать больше балов (которые сами себе и начисляли), так они еще используя свое рабочее время умудрились написать 20 абстрактных инструментов для себя. Как по мне, вот это и есть реальный показатель загруженности в рабочее время, команды скрама и их х4 ускорение. Сама же статья написана в духе «воспоминаний», как будто автор действительно изобрел что-то полезное и сделал что-то действительно нужное, а с высоты прожитых лет, вспоминает это. А на самом деле, х4 ускорение существует только в нескольких статьях автора на бумаге и в его воспоминаниях. Стиль статьи очень напоминает, так называемые «истории успеха» любителей гербалайфа и прочих прямых продаж. Может автору стоит и податься в сегмент прямых продаж, там такие «истории успеха» очень ценятся.

    Reply
  7. 1c-intelligence

    (6) как связана статья с эффективностью бизнеса?

    Reply
  8. profiprog1c

    (7) Вот именно, что никак. Никому не нужно мифическое х4 ускорение, которое ни к чему не приводит. Поймите одно, что когда команда разработчиков что-то пишет, об их эффективности должен судить кто-то внешний, который является незаинтересованным человеком. У вас же все ваше х4 ускорение основано на оценке своих действий самим же собой. С таким успехом можно и до х16 ускориться.

    Reply
  9. 1c-intelligence

    (8) а если никак не связано, зачем вы пытаетесь связать?

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

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

    Понятно одно: с высокой вероятностью, элемент «ИТ-отдел» и его связи имеют ненулевой весовой коэффициент. Но какой он — не известно (если это не франч, например).

    Итого, имеем:

    1. Влияние ИТ на бизнес есть;

    2. Его размер, даже сравнительный — не известен.

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

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

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

    Материал в статье относится ко второй группе.

    Reply
  10. 1c-intelligence

    (10) о, а давайте местами меняться?

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

    Reply
  11. pm74

    (0) Иван приветствую. Когда про метадату напишете ?

    Reply
  12. 1c-intelligence

    (13) так я и не надувался, чтобы сдуваться. Не будете местами меняться?

    Reply
  13. 1c-intelligence

    (12) что именно интересно узнать про метадату?

    Reply
  14. pm74

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

    Reply
  15. pm74

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

    Reply
  16. leemuar

    (17) hello world на metadata выложен же в сеть, еще и библиотеки все есть на гитхабе. (https://github.com/oknosoft/metadata-devtraining)

    Вы их пробовали?

    Reply
  17. unpete

    (16)

    запрос для коучдб в стиле 1с

    В общем случае — нет. Вы можете написать map/reduce индекс, результат можно забрать прямо из индекса или пропустить через некую proxy-службу, которая выполнит постобработку. Выборки данных в NoSQL могут быть очень эффективными — обслуживать тысячи параллельных запросов, расходуя минимум памяти и процессорного времени При этом, couchdb не предназначена для работы с произвольными фильтрами, особенно, по сгруппированным данным (having) — для этого мы используем другие инструменты.

    Reply
  18. unpete

    (17)

    вынести во внешнюю среду связанную с 1с

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

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

    Reply
  19. СергейК

    (8)

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

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

    У Вас есть реальный опыт такого? Как Вы это себе представляете?

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

    Reply
  20. Michael0507

    Почитал про покер планирования — там ли срок в днях, либо сложность в баллах. Как я понимаю у вас средняя сложность баллов в день? Можно поподробнее рассказать, как рассчитывали эти баллы?

    Reply
  21. Michael0507

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *