При написании этой книги меня поддерживала надежда, что и вы многому научитесь на моих ошибках и ошибках тех, кто совершал их до меня. За последние десять лет я понял, что при разработке программного обеспечения оптимальные результаты дают именно Agile-методологии (см. главу 2 «Гибкие методологии разработки ПО»). Я также убедился, что серьезнейшее препятствие на пути принятия Agile-методологий во всем мире – это традиционный менеджмент. Я исхожу из представления, что вы либо руководитель, либо просто интересуетесь менеджментом. Возможно, вы разработчик, технический директор, глава проектной группы или тестировщик. На данный момент это не имеет особого значения. Важно то, что вы хотите больше узнать о менеджменте – о так называемых Agile-методологиях менеджмента и разработки. Обещаю, что вы действительно узнаете много нового. Задача этой книги – научить вас хорошо разбираться в
На
Но я забегаю вперед. Как будет показано далее, люди предпочитают
Причинно-следственные связи
Представлением о том, что обычно все происходит в соответствии с нашими планами (как казалось и мне, когда я был миллионером на бумаге), мы обязаны своей врожденной склонности к детерминизму. Он утверждает, что «будущие события неизбежно вытекают из предыдущих в соответствии с законами природы». Детерминизм говорит нам, что причиной любого события является другое событие, произошедшее ранее. С логической точки зрения это значит, что если нам известно все о текущем состоянии дел и мы знаем все варианты перехода из одного состояния в другое, то мы должны быть способны предсказывать будущие события, рассчитав их на основе предшествующих событий и законов природы. Если вам кинуть мяч, вы можете поймать его, поскольку в состоянии определить его траекторию. Вы вполне способны оценить, сколько у вас останется денег до конца месяца после того, как вы хорошенько погуляете с друзьями; или как лучше вывести из себя брата либо сестру и при этом не получить по шее.
В мире науки детерминизм оказался чрезвычайно успешным, позволив ученым предсказывать огромное количество разнообразных событий и явлений. Например, используя механику Ньютона, ученые уверенно предсказывают возвращение кометы Галлея в Солнечную систему в 2061 году. Научный метод предсказания будущих событий на основе событий, им предшествовавших, а также законов природы оказался настолько успешным, что философ Иммануил Кант провозгласил всеобщий детерминизм в качестве необходимого условия любого научного знания [Prigogine, Stengers 1997: 4].
Детерминизм позволяет разработчикам программного обеспечения проектировать, планировать и предсказывать поведение своего программного продукта в реальных условиях использования. Они создают или вносят изменения в программный код, чтобы задать или изменить поведение программного продукта после компиляции и развертывания у пользователя. Если на мгновение отвлечься от ошибок программирования, сбоев операционных систем, аварийных отключений электричества, неквалифицированных пользователей и других рисков, то можно сказать, что предсказания разработчиков очень часто оказываются весьма точными. Тот же детерминизм позволил мне в свое время сделать вполне верный прогноз, что мой проект обанкротится, если не удастся найти больше клиентов.