Дмитрий!
См. также:
Как измерять качество кода
Самый надёжный способ измерить инженерную культуру — изучить кодовую базу. Посмотреть метрики качества, сложность архитектурных построений, количество уровней абстракции, связанность кода и другие программистские штуки. Чтобы не погружаться в дебри, я опишу пару показателей, которые позволяют измерить уровень культуры извне.
См. также:
Как измерять качество кода
Для начала узнайте, как часто на продакшне встречаются критичные баги. Если программисты постоянно ломают приложение, значит что‑то мешает им ответственно относиться к своей работе. Это может быть плохая кодовая база, либо плохо выстроенное взаимодействие с бизнесом — в таких командах часто ограничивают время, нужное на тестирование.
Хороший индикатор инженерной культуры — когда в команде очень мало тестировщиков. Это означает, что программисты самостоятельно проверяют свою работу. При отсутствии автотестов или сложной кодовой базе это было бы весьма обременительно.
Если есть доступ к исходникам, посмотрите — насколько детальны сообщения коммитов? Я люблю проверять сообщения, с которыми исправляют баги. Если исправления описывают подробно, к примеру «Fixed a bug when non‑confirmed user attempted to log in», это говорит, что программист скорее всего никуда не торопился — у него за спиной не стоял злобный менеджер, а баг чинился в спокойной обстановке. Когда чинят срочные и важные баги на проде, пишут что‑то вроде «fix» или «added __init__.py».
Загляните в пулл‑реквесты: насколько внимательно программисты проверяют код друг‑друга? В командах, где ценят инженерную культуру, код‑ревью достаточно жёсткий — у новичков в одном пулл‑реквесте может быть десяток комментариев. Если комментариев мало, или в них обсуждают стиль кода а не способы решения проблем — культура скорее всего низкая.
P. S. Это был совет об управлении разработкой. Хотите больше знать о планировании спринтов, управлении продуктом или о настройке инфраструктуры? Присылайте вопросы.