Что убивает процесс разработки?
Иногда в рабочем процессе появляются случаи, которые снижают производительность и качество труда.
Можно выделить пять групп подобных случаев в коллективе. Если вовремя отследить появление такой ситуации, продуктивность команды значительно возрастёт.
Прежде чем перейти к самому описанию подобных ситуаций, нужно предупредить читателя. Дело в том, что эти ситуации происходят настолько часто, что люди считают их нормальными. Это не так. Именно они на корню и безмолвно убивают любую совместную деятельность.
Если вы заметили хотя бы одну ситуацию из списка, представленного ниже, будьте уверены, — именно она является причиной неудачных решений и отменённых проектов.
Итак, пять рабочих ситуаций, которых лучше бы не возникало:
-
Недопонимания/споры среди членов команды. Продуктивность падает на 12%, качество — на 15%.
-
Недопонимания/споры в среде менеджеров. Продуктивность падает на 13,5%, качество — на 18,5%.
-
Неадекватное общение с акционерами/инвесторами. Продуктивность падает на 13,5%, качество — на 18,5%.
-
Увольнения/сокращения ключевых сотрудников. Продуктивность падает на 15,7%, качество — на 21,7%.
-
Слишком плотный график работы. Продуктивность падает на 16%, качество — на 22,5%.
Процентные значения основаны на исследовании Capers Jones&Associates «Оценка существующих методов и практик в разработке ПО», в ходе которого было проанализировано около 18 000 проектов разработки.
Начнём с самых опасных для производительности условий.
Слишком плотный график работы
Он случается, если:
-
дедлайны спускаются сверху
-
используются официальные методы оценки, но управленческий состав не обращает на них внимания.
-
используются неофициальные методы оценки.
Чем грозит слишком плотный график работы?
-
слабо сформированными требованиями и слишком широкой областью задач
-
построением неоптимальной архитектуры
-
написанием некачественного кода
-
низким уровнем контроля над кодом и тестированием
-
низким количеством проведённых инспекций кода
Всё это уже звучит как Марш смерти и практически гарантирует провал проекта. Излишне плотный график работы и жизнь в режиме постоянного дедлайна ведёт к разногласиям между менеджерами, участниками команды и повышает риск ухода людей из организации.
Разногласия между людьми
Разработка ПО — это командная деятельность, в процессе которой мы трансформируем наши нематериальные активы (мысли и идеи) в материальные (код). В этом случае нельзя игнорировать такие понятия, как командный дух и взаимодействие. Из спортивных команд чемпионами становятся только те, кто хорошо играют вместе.
Это не значит, что нужно любить каждого члена команды и соглашаться со всеми принятыми решениями. Однако, нужно понимать, что команда в контексте трудовой деятельности гораздо важнее каждого отдельно взятого индивидуума, поэтому нужно учиться работать вместе, невзирая на личностные различия.
Команда работает хорошо только тогда, когда они решают общую проблему, а не проблемы друг друга.
Разногласия среди менеджеров возникают обычно в связи с распределением ресурсов, постановкой целей и составлением требований. Гораздо важнее прийти к общему решению, чем спорить просто ради спора. Неумение прийти к консенсусу убивает проект и выставляет всех менеджером не в лучшем свете.
Разногласия между членами команды возникают по причине разных взглядов на требования, дизайн и приоритетность задач. Для команды точно так же важно прийти к согласию, а не вести бесплодные споры.
Неадекватное общение с акционерами/инвесторами
Под неадекватной связью с акционерами/инвесторами обычно понимается:
-
получение недостаточной информации о бизнес-целях
-
разработка ПО непрозрачным образом.
Если у вас не имеется достаточной информации о целях, которые ставит перед собой бизнес, вряд ли вы уловите правильные требования. Если вы не рассказываете ясно и чётко о том, в какой стадии производится разработка и как она происходит, скорее всего, топ-менеджмент будет уплотнять вам рабочий график.
Потеря ключевых сотрудников
Все вышеперечисленные ситуации (постоянные дедлайны, разногласия, недостаточное общение с акционерами) чаще всего приводят к:
-
уходу ключевых сотрудников из организации
-
сокращению ключевых сотрудников
Потеря ключевого персонала по причине текучки кадров или реорганизации компании — не криминал и не редкость, это нормальное явление для любой компании. Что здесь важно — это условия, при которых люди покидают компанию. Из плохо организованных компаний уходят самые компетентные люди, потому что они с лёгкостью найдут работу в другой организации.
Когда компания испытывает финансовые затруднения от не вовремя сданных проектов, она зачастую сокращает именно ключевой персонал как наиболее затратный. На самом деле сокращение ключевого персонала снижает шансы вернуться в прежнюю колею. Гораздо логичней выявить наименее эффективных сотрудников и позволить им уйти.
Потеря ключевого персонала самым драматическим образом сказывается на продуктивности и моральном настрое команды, и, как следствие, — на качестве продукта.
В качестве итога
Любая из вышеперечисленных ситуаций приведёт к срыву сроков проекта и к написанию кривого кода. Более того, все эти ситуации вытекают одна из другой, превращаясь в снежную лавину неприятностей. Если вы работаете в компании, в которой, как вам кажется, вы постоянно сталкиваетесь с такими ситуациями, возможно, стоит всерьёз рассмотреть возможность увольнения.
И, конечно, никакой тимлид не позволит таким ситуациям возникнуть внутри своей команды.
Перевод: Люся Ширшова. По материалам AcceleratedDevelopment.
Читайте также:
4 вещи, которые я понял слишком поздно. Откровения разработчика