В книге Accelerate - The Science of Lean Software and DevOps авторы приводят результаты исследований на тему того, какие факторы отличают успешные с точки зрения ИТ организации от всех остальных. Результатом этих исследований стали 4 ключевые метрики (возможно, их уже три, change failure rate признали нерелевантной):
- Cycle time (Change lead time) - Время на разработку, тестирование и доставку кода отдельной фичи (измеряется от первого коммита до деплоя на прод).
- Deployment frequency - количество деплоев за определенный промежуток времени.
- Change Failure Rate - процент деплоев, приведших к сбою на проде.
- Mean Time to Recovery - среднее время восстановления после сбоя на проде.
Вторая метрика - Deployment frequency - это аппроксимация размера партии:
The second metric to consider is batch size. Reducing batch size is another central element of the Lean paradigm — indeed, it was one of the keys to the success of the Toyota production system. Reducing batch sizes reduces cycle times and variability in flow, accelerates feedback, reduces risk and overhead, improves efficiency, increases motivation and urgency, and reduces costs and schedule growth.
However, in software, batch size is hard to measure and communicate across contexts as there is no visible inventory. Therefore, we settled on deployment frequency as a proxy for batch size since it is easy to measure and typically has low variability.
Источник: Measure Software Delivery Performance with Four Key Metrics
У меня есть ощущение, что стремление повысить Deployment Frequency может стать одним из ведущих факторов определения Оптимальный размер истории в разработке ПО.
Полезные ссылки:
- Сводная статья по метрикам + два доклада и их расшифровка.
- Measure Engineering Efficiency & Developer Experience with Haystack Metrics - разбор ключевых метрик, их средних значений и т.п.
- Drilling into cycle time - более подробно о расчете времени цикла.
- State of DevOps Reports