четверг, 27 июня 2013 г.

Что на работе мешает создать лучший код: попытка измерить продуктивность.

Помеха №3: Попытка измерить продуктивность

Всегда найдется управленческая команда, которая будет руководствоваться принципом "нельзя управлять тем, что нельзя измерить". Они начинают считать количество коммитов в репозитории, строк кода или исправлений. Для них, считать - значит измерять, а выполнять измерения, наверняка, полезно.

Однако, программисты - это игроки, их работа превращается в большую видеоигру с таблицей лидеров. Вместо того, чтобы усовершенствовать код, они концентрируются на написании строк кода, исправлении ошибок, коммитах в репозиторий или других показателях, которые берутся в счет.

Если за исправление ошибок предполагается вознаграждение, параллельно с ними неожиданно резко возрастает и число отчетов о незначительных ошибках.

Один получает баллы за отчет, другой - за исправление. Если подсчитывают количество строк, программист, который раньше мог решить проблему, написав 10 строк кода, теперь убежден, что 5 тыс. строк обеспечат большую гибкость или совместимость с функцией. Он приведет любые причины, только чтобы добавить эти 5 тыс. строк.

Измерение продуктивности, напротив, может ухудшить состояние кодовой базы, поскольку приводит к созданию длинных файлов, наполненных широкофункциональным, чрезмерно сложным кодом.

Не существует конкретного решения данной проблемы. Необходимо отслеживать ошибки, организовать рабочий процесс и координировать разработку ПО.

Аккуратность измерить невозможно.

Помеха №4: Ведущие разработчики

Что касается программистов, хуже босса может быть только один сотрудник: тот, который создал последнюю итерацию кода, но больше не работает над проектом.

Подобно тому, как каждый подрядчик будет пренебрежительно отзываться о навыках последнего плотника, так и программист обвинит предшественников в ужасном, непростительном и глупом поведении.  

Возможно, так оно и есть, но ситуация редко является столь плачевной, как ее описал программист. Во всяком случае, причиной проблемы служит не отсутствие навыков. Ведь существуют различные стили и со временем они меняются. У предыдущего поколения не была доступа к библиотекам, доступных сегодня нам. Они не могли читать новейшие книги о передовых методах.

Подобное отношение к труду предыдущих программистов часто тормозит проект. Смесь гордости и эгоизма может заставить программистов отказаться от вполне приемлемого кода, чтобы переделать его "по всем нормам". 


Комментариев нет:

Отправить комментарий