Дмитрий Грибов, Трава и грибы как средства управления...

Post on 07-Jan-2017

540 Views

Category:

Business

10 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Трава и грибы как средства управления разработкойДмитрий ГрибовЛитРес

Игровое управление разработкой

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

1. Эволюция грибовалюты

хроники изобретения колеса

Непатентованный agileНачали с команды из двух человекЭволюционно развивали методику разработкиСами собой применились паттерны гибкой разработки и холакратииОперационно работа выглядиткак «рынок тикетов»

Рынок – скользкая тропинка

Конкуренция может привестик враждебности в командеКонверсия не-денег в деньги – почва для злоупотреблений~5 лет на экспериментыи проработку баланса

Грибобаксы для заказчикаИгровая валюта как инструмент коммуникации с внутренним заказчикомУбойная простотаи удобствоКратно снижены транзакционные издержки на согласование задач

А у вас грибы есть?

Очень надо,

срочно!

Горизонтальная открытость

ProИнициативаОперативность

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

ProПоследовательностьВнятные приоритеты

ContraЗамедленная реакцияВысокие транзакционные издержки

Вертикальвласти

Эффективность для заказчика

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

Грибобаксы для исполнителя

Вводили поэтапно, вдумчиво1. Абстрактно, на «посмотреть и поиграться»2. С конвертацией в премии3. Вместо одной валюты – три4. С прямой конвертацией в зарплату для всех5. Калибровка длилась больше года

2. Грибы, трава и люди

4 года испытаний12 месяцев боевой работы

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

Команда, работающая с травой

23 человека, считая удаленщиков

11 perl-кодеров5 frontend-кодеров4 тестера3 менеджера

~9 человек без травыМобильная разработка

Где рынок не пригодился?Специфичные задачи, которые может делать только один человекРабота не бьётся на короткие(от получаса до недели) подзадачиНедоступны ясные критерии успешного выполнения задач(тут ничто не поможет, впрочем)

Самодельный таск-трекерНа каждом этапе работы над проектом есть только один ответственный, задача которого «сбыть» тикетНа каждом этапе у ответственного есть только два варианта: «ok» либо «fail»Поддерживает магию рынка и игровые валютыСтандартные коммуникации автоматизированыи отнимают минимум времениНикаких таймлайнов, либо сделано – либо нет

Тикеты, всюду тикетыЛюбая работа оформляется как тикетУ каждого тикета есть цена за выполнение в ресурсахОплаченный тикет попадает на «рынок», исполнитель может его взять, выбрав из многихВ тикете обычно пять ролей: заказчик, менеджер, исполнитель, вычитывающий, тестировщикЗа закрытый тикет исполнитили получают деньги

Жизненный цикл тикета1. Не оплачен (согласование требований)2. Ждет исполнителя (рынок, бро)3. В работе4. Вычитка (алсо известно как «code

review»)5. Тестирование6. Сдача заказчику7. Выдержка8. Закрыт (теперь, если что не так, – GoTo 1)

Тикет, взывающий к работе

Стоимостьдля заказчикаЦенадля исполнителя каждой роли

Гриб всему голова, но как без травы?

Три ресурса, три независимых финансовых контура:

Грибы – perl-кодингТрава – верстка, JSДерево – тестирование

Объем каждого ресурса в системе зависитот числа рабочих рук. Наняли перловиков – добавили грибов в систему.

Внутренние заказчикиКаждый потенциальный заказчик ежедневно получает на свой счет «игровые ресурсы»

Баг-мастер получает грибы, траву, и деревоМаркетингу даём больше травыБэкэнд-мастеру трава почти не нужнаUX-у чистой травы

Заказчик: платит за всёВначале тикет всегда оплачивает заказчик (подтверждая, что согласен с ТЗ)Тикет в конце всегда принимает заказчик (подтверждая, что результатом он удовлетворен)С заказчика списываем ресурсы при оплатеИсполнителю деньги начисляем при закрытии тикетаЗаказчики на «свои грибы» гуляют как хотят

Исполнитель: тикет = контракт

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

Дизлайк цены (трудоемкость занижена)Дизлайк ТЗ (требования непонятны)Лайк (я занят, но тикет правильный)

Все механики адаптированы для интровертов

Свободный рынок тикетовМножество поставщиков задач (конкуренция заказчиков)Множество потенциальных исполнителей (конкуренция исполнителей)Денежная масса по каждому ресурсу балансирует спроси предложение

3. Крупные проектына розничном рынке

Стратегические задачиОсобый случай тикета это проект

Задача, требующая 2+ рабочих дняЗадача, требующая обширных знаний о строении системы, аналитики и проч.

В проекте исполнитель – это рукпроект, менеджерМенеджер декомпозирует проект на дочерние тикеты, выступая по ним заказчиком

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

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

4. Сдельная оплатасамая простая часть истории

Час расплатыВ конце месяца смотрим, у кого на сколько грибов и травы назакрывалось тикетовНебольшие бонусы/штрафы за скоростьи качество – система считает сама, алгоритм открытПересчитываем по курсу и платим (попутно избавляясь от неэффективных)

Прозрачная схема мотивации

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

5. Почему это работает?

Игра с точки зрения групповой динамики

Невидимая рука рынка решает

Все понимают, как работает рынокУ каждой роли есть антагонистРепутация важна для каждого игрокаДает оперативную обратную связь: положительную и отрицательнуюНе уходит в отпуск, не болеет и не увольняется за неделю до закрытия проектаМотивирует всех применять идеальныедля продуктивности команды стратегии

Рынок поддержит заказчика, который…Думает о приоритетах,

отбрасывает второстепенноеКорректно ставит задачиОптимизирует требованияс учетом трудоемкости

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

Рынок накажет заказчика, который…

Рынок поддержит менеджера, который…

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

Пишет тикеты без картинокс трудоемкостью две неделиПереоценивает или недооценивает трудоемкостьДелает что-то ненужное

Рынок накажет менеджера, который…

Рынок поддержит разраба, который…Пишет код, который

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

Пишет код, который тестировать больно и страшноБерет тикеты с непонятнымТЗ по непонятным ему подсистемамРаботает медленно

Рынок накажет разраба, который…

Управление без управленцев

Большинство решений делегируется «вниз» (в том числе у заказчика)Вместе с полномочиями делегируется ответственностьБазовые вопросы мотивации и оценки сотрудников решаются автоматическиПроблемные и узкие места выявляются на ранней стадии благодаря прозрачности

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

top related