Недавно у меня были интересные разговоры о метриках разработки программного обеспечения, в частности о том, как их можно использовать в достаточно большой организации, чтобы помочь командам разработчиков работать лучше. Я знаю, что были проблемы с стеком переполнения, о том, какие показатели хороши в использовании - например этот, но мой вопрос больше о том, какие показатели полезны , к которым заинтересованные стороны и , на каком уровне агрегации.
В качестве примера, я считаю, что покрытие кода является полезной метрикой следующими способами (и, возможно, другими):
- Для собственного внутреннего использования команды в сочетании с другими измерениями.
- Для облегчения/включения/наставничества команды, где это может быть поучительным при рассмотрении по команде основы как тренд (например, если команда A и B имеют покрытие в этом месяце 75 и 50, я буду больше озабочен командой A чем B, если в предыдущем месяце они было 80 и 40).
- Для высшего руководства когда они представлены как агрегированные статистика по нескольким командам или целый отдел.
Но я не считаю полезным, чтобы высшее руководство рассматривало это по отдельности, поскольку это поощряет искусные попытки поднять охват испытаниями, которые просто выполняют, а не тестируют, код.
Я участвую в организации с несколькими уровнями в своей иерархии управления, но там, где подавляющее большинство менеджеров технически настроены и способны (многие из них все еще загрязняют свои руки). Некоторые из групп разработчиков возглавляют путь к гибким методам развития, но другие отстают, и теперь у них есть серьезный мандат, чтобы это было так, как работает организация. Паре мы начинаем программу, чтобы поощрять это. В такой организации, какие показатели, по вашему мнению, полезны, кому, почему и на каком уровне агрегации?
Я не хочу, чтобы люди чувствовали, что их производительность оценивается на основе показателя, который они могут искусственно влиять; в то же время высшее руководство собирается хотеть каких-то доказательств того, что прогресс идет. Какие рекомендации или оговорки вы можете предоставить на основе опыта в ваших собственных организациях?
ИЗМЕНИТЬ
Мы определенно хотим использовать показатели как инструмент для улучшения организации, а не как инструмент для индивидуального измерения производительности.