How to Improve Developer Productivity • Jez Humble • YOW! 2020
Хорошее выступление Jez Humble на конференции Yow, в котором он рассказывал кратко про продуктивность разработки. Jez является соавтором книги "Accelerate" и это выступление выглядит как краткое саммари влиятельной книги, про которую я рассказывал раньше в постах 1, 2, 3. Выступление начинается с плохих метрик продуктивности:
- lines of code - когда-то это была популярная мера, но теперь все понимают, что лучше меньше, да лучше
- velocity - это относительный показатель уровня команды, который нельзя использовать для сравнения команд между собой, а также им легко манипулировать при желании
- utilization - если гнаться за утилизацией, то мы сталкиваемся с законом Литтла и попадаем в ситуацию, когда очередная задача может примерно бесконечность находиться в очереди Дальше Jez переходит к рассказу, а на что же надо обращать внимание и мы получаем, что продуктивность это
- team metric - результаты приносят команды, а не люди
- system-level outcomes - стоит смотреть на системные результаты, а не локальные
- outcomes, not output - надо максимизировать результаты, а не количество сделанных задач Дальше на сцене появляются DORA метрики, разбитые по двум категориям — Software delivery performance tempo — сюда входит delivery lead time и deployment frequency — Software stability — сюда входит mean time to recover и change fail rate И Jez разбирает их в деталях. Ну и напоследок Jez говорит про культуру и вспоминает
- исследования Веструма, про которые я уже писал. Там была речь про три типа культур: патологическую (pathological), бюрократическую (bureaucratic), производительную (generative)
- исследования Aristotle, которое проводил Google для своих команд. Главным вопросом было "What makes a team effective at Google?". Топ-1 фактором оказалось Psychological safety. Я уже рассказывал про это исследование.
#Management #Engineering #Software #SoftwareDevelopment #SRE #Devops #Leadership #Processes #PlatformEngineering