Дайте проекту голос
(В оригинале - Let Your Project Speak for Itself)
Возможно, ваш проект использует систему контроля версий. Возможно, что у вас даже есть сервер интеграции, на котором постоянно работают автоматические тесты. Если это так, то это супер.
Вы можете добавить утилиты статического анализа кода в ваш процесс интеграции и собирать метрики. Метрики предоставляют обратную связь о различных аспектах вашего кода и его эволюции во времени. Как только вы начнете использовать метрики, вы определите границу, за которую не будете хотеть зайти. Например, вы решите не снижать процент покрытия тестами ниже 15%. Непрерывная интеграция позволит вам отслеживать подобные цифры, но вам все еще придется регулярно их проверять. А теперь представьте, что вы можете это делегировать непосредственно проекту, так, чтобы сам проект сообщал о нарушении установленных лимитов.
Вам нужно дать вашему проекту голос. Это может быть е-мейл или мессенджер, информирующий разработчиков о последнем результате измерений или о нарушении лимитов. Но еще более эффективным решением будет использование экстремальной обратной связи (ЭОС).
Идея ЭОС – в управлении каким-либо реальным физическим устройством: лампой, фонтанчиком, игрушечным роботом или даже запускателем ракеты, основанном на результате автоматического анализа. Как только ваши лимиты будут нарушены, устройство сработает. Например, загорится лампочка. Не заметить подобное срабатывание будет очень сложно.
В зависимости от типа ЭОС вы можете услышать сигнал о том, что сборка повреждена, увидеть «красный свет» или даже почувствовать запах плохого кода. Устройства могут дублироваться в различных локациях, если у вас распределенная команда. Вы можете, например, разместить светофор на столе менеджера проекта, который будет показывать текущий статус проекта – вашему ПМ это должно понравиться.
Позвольте вашей креативности выбрать подходящее устройство. Если вы еще не полностью забыли детство, используйте радиоуправляемые игрушки. Если хотите выглядеть более солидно, найдите настольную лампу соответствующего дизайна. Поищите варианты в Интернете. Все, что включается в розетку или имеет дистанционное управление, может использоваться в качестве ЭОС.
ЭОС работает как голосовой аппарат вашего проекта. С ним проект начинает взаимодействовать с разработчиками, одобряя или критикуя их согласно выбранным правилам. Вы даже можете использовать синтезатор речи и пару динамиков, и проект на самом деле обретет свой голос.
Автор оригинала - Daniel Lindner