Инструкция по управлению сложностью

We use cookies. Read the Privacy and Cookie Policy

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

У каждой проблемы есть много решений

Кубик Рубика можно собрать несколькими способами. Не существует единственного верного способа управлять бизнесом. Не существует единой оптимальной стратегии, позволяющей всегда выигрывать в настольной игре «Риск». И нет единого оптимального метода управления проектами. По-человечески понятно, что нам бы хотелось, чтобы только предлагаемые нами решения оказывались эффективными. Но следует все же допускать, что и решения, предложенные другими, могут также быть эффективными.

Выбор решения зависит от контекста

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

Изменяющиеся контексты диктуют изменяющиеся решения

Когда изменяется среда обитания, изменяются и населяющие ее биологические виды. Лучшие стратегии продвижения аккаунта в социальных сетях в этом году отличаются от прошлогодних. (Подпишитесь на меня в Twitter, и мы вместе понаблюдаем, какие стратегии будут применяться в следующем году.) Стоит измениться контексту, как приходится изменять и способы управления соответствующими проектами.

Любое странное решение где-то будет лучшим

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

Выбранное решение в свою очередь влияет на контекст

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

Простота требует понимания сложности

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

Невозможно заранее предсказать, какое решение окажется лучшим

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

Предлагаемая ниже инструкция по управлению сложными проектами (рис. 16.3) не призвана опровергнуть никакие из существующих ценностей, принципов, ориентиров и практик (она также не противоречит никаким манифестам). Напротив, в ней подчеркивается, что все методологии полезны, если рассматривать их в соответствующем им контексте. При разработке ПО мы должны обсуждать не то, кто из нас прав, а кто нет. Единственное, что нас должно интересовать, – какой из методов эффективен в конкретной ситуации. Мы не должны слишком увлекаться противопоставлением пользовательских историй вариантам использования, гибких технологий – методам CMMI, Scrum – канбану или гибких технологий – бережливым. Вопрос лишь в том, когда и какой метод уместно использовать. Просто спор о том, кто прав, а кто нет, только служит росту популярности, а не пониманию.

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

Аристотель

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

Все модели неверны, но некоторые из них полезны [Box, Draper 1969].

Я осознаю, что в моей книге «неверно» все, но очень надеюсь, что она тем не менее будет вам полезна.