Вход/Регистрация
Эффект плато. Как преодолеть застой и двигаться дальше
вернуться

Салливан Боб

Шрифт:

Спокойные вычисления, с точки зрения Вайзера, могли бы вернуть людям человеческий облик. Даже повсеместные вычисления при условии правильного дизайна не будут казаться чем-то пугающим. Напротив, они могли бы способствовать расслаблению. С его точки зрения, эпоха отвлечения представляла собой всего лишь временную фазу, через которую должно было пройти человечество. Если бы вы слышали Вайзера, произносящего эти слова, то не могли бы не поверить ему и ушли после разговора с ощущением полного спокойствия (по крайней мере, до тех пор, пока не открыли свою электронную почту).

В 1999 году, когда Вайзеру было 46 лет, ему диагностировали рак желудка, и врачи отвели ему всего шесть месяцев. Xerox PARC разработала специальную технологию диктовки, чтобы он смог написать книгу, на которую ему раньше не хватало времени, однако он не успел закончить ни единого абзаца. Рак прогрессировал с невероятной скоростью, и он умер три недели спустя, оставив без ответа вопрос о том, как нам обрести покой внутри технологической бури.

8. Гибкость

Второе действие,

или Медленные падения и едва заметные отличия

Кент Бек жил вне законов. Кое-кто мог бы даже назвать его анархистом.

Живи он в XVI веке, не исключено, что именно он, а не Коперник, заявил бы, что Земля вращается вокруг Солнца. Когда Хью впервые услышал выступление Бека, эскапизм его философии и наглость его утверждений были настолько резкими, что показались заслуживающими внимания. Этот человек мог вполне серьезно утверждать, что мосты нужно строить не по готовым проектам, а ориентируясь на текущие обстоятельства. Он говорил множество столь же странных вещей, однако самым удивительным было то, что люди ему верили.

Как и все успешные революционеры, он искал союзников. Они встречались и обменивались планами свержения устоявшихся порядков. Во время одного из таких собраний в Сноуберде Бек вместе с шестнадцатью другими людьми подписал Манифест гибкости {138} . Это был один из самых еретических документов в области разработки программ. На дворе стоял 2001 год.

Бек – создатель подхода под названием «экстремальное программирование», и начало его книги Extreme Programming Explained («Экстремальное программирование в деталях») напоминает скорее политическую доктрину, а не технический текст для разработчиков программ {139} :

138

Текст манифеста и информацию о лицах, его подписавших, можно найти на сайте agilemanifesto.org.

139

Кент Бек помог изменить всю отрасль по разработке программных продуктов. Наше описание Extreme Programming в начале этой книги было инспирировано книгой Бека Extreme Programming Explained. История в начале «Эффекта плато» – цитата из этой книги: Kent Beck with Cynthia Andres, Extreme Programming Explained: Embrace Change, 2nd ed. (Boston: Addison-Wesley, 2005).

«Extreme Programming (XP) напрямую связано с социальными изменениями. Оно помогает нам отказаться от привычек и методов, которые были полезны в прошлом, однако теперь не позволяют нам сделать свою работу в наилучшем виде. Все дело в том, чтобы отказаться от того, что защищает нас, однако при этом мешает нашей производительности».

И что же еретического в этих словах? Что можно придумать радикального в процессе создания программных продуктов? На самом деле Бек перевернул основы компьютерных технологий с ног на голову, и при этом его методы – а точнее, новый образ мышления – могут применяться во всех сферах жизни.

До появления Манифеста гибкости крупные проекты по разработке программных продуктов были жестко структурированы и следовали модели под названием «водопад» {140} . В этой системе разработка разбивается на несколько монолитных этапов, один из которых последовательно переходит в другой. Этот же крайне структурированный и методичный подход используют инженеры при проектировании и строительстве небоскребов (проект, строительство, тестирование). И, как и при строительстве небоскреба, разработка программы могла занимать до нескольких лет. Рабочие комитеты устраивали встречи, на которых согласовывались все детали программы, после чего программисты суеверно стучали по дереву. После завершения работы над набором основных свойств они принимались за дело, выполняя одно задание за другим. В это время тестеры готовились перехватить у них работу, а члены руководящего комитета пытались справиться с прыгавшим от напряжения кровяным давлением. Когда результаты передавались тестерам для поиска ошибок, все опять принимались стучать по дереву. В это время, когда после первого заседания комитета уже проходило около 18 месяцев, кто-то мог рассказать команде о выходе на рынок Netscape или изобретении Facebook, после чего все начальные планы комитета уже оказывались полностью устаревшими. Разумеется, при наличии согласованного и утвержденного набора свойств о пути назад не могло быть и речи. И тогда часть разочарованных программистов уходила из компании, а маркетинговая команда принималась размышлять и обсуждать, как получше солгать о том, на что действительно способна программа.

140

Хорошее описание моделей разработки программных продуктов в целом приведено в книге: Макконелл С. Совершенный код. Мастер-класс. М.: Русская редакция, 2013.

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

К этому времени большинство проектов, созданных по модели водопада, достигали стадии завершения – они были либо уже не нужны, либо требовали полной перестройки. Результат – задержки, рост бюджетов. Короче говоря, возникали некоторые из самых дорогостоящих плато в современном бизнесе. Проведенный в то время опрос работников сферы ИТ показал, что треть проектов в области разработки программ для бизнеса была прекращена до момента окончания, а у половины завершенных затраты на завершение превысили бюджет в два раза {141} . Отрасль должна была измениться.

141

The Standish Group, «Chaos», 1995, материалы доступны по адресу net.educause.edu/ir/library/pdf/NCP08083B.pdf.

Модель, использовавшаяся для создания программ, была жесткой, а потребности, связанные с ней, – динамичными. Когда у нас имеется жесткая модель для чего-то, меняющегося часто (и быстро), дело заканчивается хаосом.

Подход Бека состоял в том, чтобы отказаться от структуры и связанной с ней видимости стабильности. Его мантра состояла всего из двух слов – приветствуйте изменения. Манифест гибкости предполагает высокую степень проворства. Если вам когда-нибудь доводилось работать над созданием программ или хотя бы работать в рамках какого-нибудь большого проекта, вы поймете, насколько бунтарскими были идеи Бека. Благодаря гибкой разработке новые программы создаются небольшими и изолированными блоками. Разработчики должны создавать черновые проекты, которыми могут поделиться с заинтересованными лицами (только представьте себе!), не за годы, не за месяцы, а за недели! В сущности, временные требования Манифеста гибкости предполагают, что программисты проектируют и кодируют рабочую модель своих подпроектов, а также предоставляют к ней доступ в течение периода от одной до четырех недель. Более того, Манифест гибкости включает в себя совершенно невероятный прежде принцип, согласно которому «требования к изменениям приветствуются даже на поздних этапах разработки». Иными словами, Манифест позволяет менеджерам и торговому персоналу оценить рынок и произвести корректировки курса. Если что-то движется к неудаче, он заставляет эти неудачи возникнуть как можно быстрее и не откладывать неизбежное.

  • Читать дальше
  • 1
  • ...
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: