Проблемы в зеркале больше, чем они кажутся PDF Печать E-mail

(В оригинале Warning, problems in mirror may be larger than they appear)

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

Причины этого таковы:

  • То, что казалось тривиальным вначале, потом становилось критическим, часто после того, как было уже слишком поздно для исправления. Эксперимент с лягушкой в медленно нагревающейся воде хорошо иллюстрирует эту ситуацию.
  • Люди часто встречают сопротивление, когда остальная часть команды не разделяет их опыта или знаний. Преодоление этого сопротивления требует достаточно смелости, уверенности в себе и убедительности. И часто случается, что даже высокооплачиваемые опытные консультанты, специально нанятые для предотвращения подобных ситуаций, не могут это сопротивление преодолеть.
  • Большинство программистов – оптимисты. Болезненный опыт может умерить оптимизм, но до его приобретения присутствует склонность к оптимизму. Пессимисты в команде часто не пользуются популярностью, даже если они оказываются правы. Мало кто будет рисковать репутацией и идти против большинства без очень серьезной для этого причины. При том, что проблемы часто дают о себе знать как «Мне это не нравится, но я пока не могу объяснить почему», и с такой аргументацией редко удается выиграть спор.
  • Каждый разработчик смотрит на проект под разным углом, фокусируясь на зонах своей ответственности, а не на целях проекта в общем.
  • У всех нас есть «слепые пятна», ситуации, которые нам сложно распознать или принять.


И несколько возможных стратегий по предотвращению причин:

  • Создайте систему управления рисками. Один из вариантов – делать трекинг рисков так же, как вы делаете трекинг ошибок. Каждый участник команды может определить риск, и каждый риск отслеживается до момента, пока он перестает быть риском. Риски приоритизируются и анализируются в момент изменения статуса или в момент поступления новой информации. Это может помочь убрать эмоции из обсуждений и облегчит запоминание вещей, про которые не стоит забывать.
  • Если вам приходится идти против большинства, постарайтесь найти способ облегчить остальным понимание вашей точки зрения. Поощряйте нахождение ценных моментов в противоположных мнениях в вашей команде и ищите способ нейтрального их обсуждения.
  • «Плохой запах» распознать гораздо легче. Если у вас нет фактов, попробуйте найти тесты, которые бы их предоставили.
  • Постоянно тестируйте ваше понимание по сравнению с пониманием команды и заказчика. Отсортированный список задач может в чем-то помочь, но не может заменить полноценного диалога с заказчиком и беспристрастности.
  • «Слепые пятна» сложно распознаются по определению. Люди, которые всегда скажут вам всю правду, даже если она будет нелегкой, являются самым ценным для вас ресурсом.


Автор оригинала - Dave Quick