Хотя адаптация часто упоминается в качестве ключевого компонента Agile-методологий, не следует забывать о роли исследования и прогнозирования. Наша задача не только решать текущие проблемы. Мы также должны пробовать решения, которые, как мы думаем, могут стать важными в ближайшем будущем (в следующем релизе и вскоре после него).
Мы готовы к неопределенности и контролируем ее путем итераций, прогнозирования и адаптации (Декларация взаимозависимости).
Но разве сама идея прогнозирования не противоречит философии Agile?
Прогнозирование можно сравнить с алкоголем. Оно полезно для здоровья только в малых дозах. Оно точно так же вызывает привыкание, и большинство людей слишком полагается на свою способность предвидеть.
При разработке программных продуктов с помощью Agile-методов мы не отказываемся от прогнозирования вовсе. Но мы стремимся использовать его по минимуму, пока вред от него не начал перевешивать полезность.
В моем предыдущем маленьком стартапе нам приходилось прибегать как к адаптации и исследованию, так и к прогнозированию. Откровенно говоря, мы вместе с командой прошли столько двойных циклов обучения, что иногда у меня голова шла кругом. Но время от времени у всех нас возникал вопрос: «Действительно ли нам удается усовершенствовать продукт? Или мы просто еле-еле успеваем не отстать от остального мира?»
Несмотря на все наши попытки внести улучшения, иногда усилия оказываются бесплодными. Разработчики никогда не бывают до конца довольны инструментами, которые они применяют. Пользователи никогда не бывают полностью удовлетворены программными продуктами, которые мы для них создаем. А члены команд никогда не бывают на 100 % довольны процессами, применяемыми в проектах. Почему? Ответ можно найти в детской книжке, впервые опубликованной в XIX столетии.
Успех – способность отсрочить неудачи на будущее. Ученые выяснили, что, поскольку вероятность вымирания в конкретной экосистеме случайна, способность биологических видов к выживанию не улучшается с течением геологического времени. Похоже на то, что повысить потенциальные шансы вида на выживание не будет целью эволюции, а изменения возникают только тогда, когда это действительно необходимо. Многие виды, такие как крокодилы, панды, акулы, осетры и крабы-мечехвосты, часто называют живыми ископаемыми, потому что они практически не изменились за миллионы лет. По-видимому, из-за того, что окружающая их среда серьезно не менялась. А если среда не меняется, то и организмы не меняются.
Но если уж в биологическом виде происходят изменения, то обычно на это есть причины более серьезные, чем изменение погоды. Кроме того, виды неразрывно связаны друг с другом, и им необходимо адаптироваться к взаимным изменениям. Например, для борьбы с насекомыми поверхность листьев растений может стать более прочной, также может появиться способность производить отпугивающие насекомых вещества. В то же время насекомые обзаводятся более прочными челюстями и химической устойчивостью к вырабатываемым растениями репеллентам. Биологические виды изменяются, чтобы остаться в игре. Это эволюционная гонка вооружений получила выразительное название Гонка Черной Королевы – оно взято из книги Льюиса Кэрролла «Алиса в Зазеркалье», где Черная Королева говорит Алисе (рис. 14.3):
Нужно бежать изо всех сил, чтобы остаться на том же самом месте.
Гонка Черной Королевы – эволюционная гипотеза, предполагающая, что сложные системы нуждаются в постоянных улучшениях, чтобы просто поддерживать свое существование в условиях, когда рядом коэволюционируют другие системы. По мнению некоторых ученых, Гонка Черной Королевы, или принцип коэволюции видов, это еще более важный драйвер эволюции, чем любые изменения внешней среды.
Гонка Черной Королевы объясняет, почему пользователи никогда не бывают полностью удовлетворены программным обеспечением. В конце концов, даже если в программные продукты с каждым новым релизом добавляются новые функциональные возможности, у пользователей параллельно появляются новые потребности. Это очень похоже на шестой закон Лемана: чтобы удовлетворенность пользователей не снижалась на протяжении жизненного цикла системы, ее функциональные возможности должны постоянно расширяться. Этот феномен также отражен в модели качества Кано, которая говорит, что те новые функциональные возможности продукта, которые поначалу потребители воспринимают с восхищением, достаточно быстро становятся частью стандартного набора функций.
Читать дальше
Конец ознакомительного отрывка
Купить книгу