« Главы из перевода "Planning Extreme Programming", Кент Бек и Мартин Фаулер | | "Серебряная пуля или горькая пилюля?", Кен Швабер »

Обзор литературы за 2002-2003 год

Путь к заоблачному ХР

Термин "гибкие" (agile) методологии вошел в моду сравнительно недавно - Манифесту, который написали члены Альянса гибких методологий, около двух лет. Сейчас уже кажется, что это случилось чуть ли не на заре времен - так много с тех пор появилось книг, статей, веб-сайтов, семинаров и конференций по данной тематике. Можно смело сказать, что революция завершилась, и теперь приставка "agile" или "extreme" становится так же популярна в науке управления проектами, как приставка "е-" в торговле.

Иногда кажется, что первоначальное недоверие к новым гибким методологиям сменилось не просто одобрением и признанием, но чуть ли не религиозным поклонением (в сочетании с таким же религиозным отрицанием). Остроумную религиозную метафору новой методологии описал в своей статье Питер Мерел (Peter Merel) "The Tao of Extreme Programming" ("Дао экстремального программирования").

Для ленивых или не читающих по-английски - не могу удержаться - перескажу. Как известно, даосизм и конфуцианство - два основных религиозно-этических учения Китая (буддизм не считаем, его Боддхидхарма принес из Индии :)). Основные принципы даосизма - следование вселенской гармонии, гибкость, слабость и податливость, которые, как известно, побеждают силу, твердость и несгибаемость. Даосизм - это одна из гибких методологий, экстремальное программирование, а традиционные "отягощенные" документацией, правилами и дотошным церемониалом процессы - это конфуцианство. Наставник ХР-шной команды, следующий Дао, никогда не ставит себя впереди команды, но только позади - и таким образом управляет ею, как море, которое "находится ниже рек и ручьев, поэтому они стекают в него, а оно управляет ими"… (далее см. "Даодэцзин" или статью Питера, замечательное чтение, если вы желаете найти древние корни ХР в восточной философии).

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


Вышли из печати

2002 год

  Купить в Интернет-магазинеПервая ласточка. Издательство "Питер" вдруг выпустило книжку Кента Бека "Extreme Programming Explained: Embrace Change" - "Экстремальное программирование". В переводе книга утратила часть названия и некоторую легкость изложения, но тем не менее, может служить ясным и понятным введением в методологию, которая стала, наверное, самым большим событием в сфере разработки ПО последних лет. Принципы, на которых она базируется, стары как сама индустрия разработки программ - тестирование, постоянное улучшение архитектуры системы, тесная коммуникация и взаимодействие разработчиков и заказчиков. Однако здесь все эти принципы максимально (экстремально) усилены и слиты в единую слаженную систему. Именно это обеспечивает столь замечательный результат - скорость, качество, удовольствие от работы. Автор книги - один из главных создателей и популяризаторов методологии, руководитель множества проектов, в том числе небезызвестного Крайслеровского С3.

Купить в Интернет-магазинеОсенью 2002 в издательстве "Символ Плюс" вышел долгожданный "Рефакторинг" Мартина Фаулера. Наконец-то и на русском. Эта книга заслуживает внимания не меньшего, а возможно, даже большего, чем "Паттерны" Банды Четырех. Но если последняя дает готовые проектировочные решения, то "Рефакторинг" показывает, как к этим решениям нужно двигаться и какими принципами руководствоваться на нелегком пути создания ПО. Книга написана замечательным языком, с чувством, толком, расстановкой и юмором (а что еще можно ожидать от Мартина Фаулера). Если вы хотите, чтобы ваши программисты работали с большим интересом и писали более грамотный код с меньшим количеством ошибок - дайте им прочитать эту книгу. Результат не заставит себя долго ждать.

Заказать в Интернет-магазине Кент Бек и Мартин Фаулер, "Экстремальное программирование: планирование". Издательство "Питер".
Логично заключить, что если Экстремальное программирование по-новому подходит к самому процессу разработки ПО, то и руководить такими проектами нужно по-другому. В книге Фаулера и Бека подробно описаны все "подводные камни" планирования и управления "экстремальным" проектом. "Иногда советы Фаулера и Бека противоречивы, иногда мудры, но практически всегда это именно то, что вам нужно", - говорит Том Демарко в предисловии, и пожалуй, он абсолютно прав, даже если вы еще не перешли в лагерь "экстремалов", а просто стремитесь максимально улучшить принятый у вас процесс разработки. Данную книгу можно смело рекомендовать не только руководителям проектов, но и программистам, и даже заказчикам, так как от слаженного и тесного сотрудничества этих трех основных ролей зависит успех любого проекта. Книга написана таким веселым и непринужденным слогом, что ее наверное, можно было бы отнести к "легкому" чтению – если бы не серьезность темы.

В самом конце прошлого, 2002, года в московском издательстве "Лори" вышли сразу две книжки Алистэра Коуберна. Этот автор – один из замечательнейших западных методологов, известный тем, что все свои идеи проверял (и проверяет) исключительно на практике. За последние два десятка лет он участвовал более чем в трех дюжинах проектов и сделал четкие выводы по поводу тех ошибок и проблем, которые ему и его командам постоянно приходилось преодолевать.

Купить в Интернет-магазине Книгу "Быстрая разработка программного обеспечения" (в оригинале - "Agile Software Development") можно назвать научно-философским введением в тему гибких методологий. Некоторая нехватка подробной информации относительно тех или иных новых методологий с лихвой искупается превосходным изложением их общих принципов, исходя из которых, по замыслу автора, для каждого проекта нужно строить свою, индивидуальную методологию. Главное – люди. Именно они создают программное обеспечение. Именно от них, а не от четкого следования какому-либо процессу разработки, зависит успех проекта. Именно работающий программный продукт, а не увесистый том документации – конечная цель проекта.
Алистэр – замечательно эрудированный и талантливый автор. В его работах нет той узколобой прямолинейности, которая нередко встречается у североамериканских авторов. Читая Коуберна, помимо практической пользы получаешь эстетическое наслаждение.
В 2002 году эта книга получила Jolt Productivity Award, что может служить дополнительной рекомендацией.
К сожалению, мы пока не знакомы с русским переводом книги. Хочется надеяться, что досадная ошибка в переводе названия (Название "Быстрая разработка ПО" соответствует другому англоязычному термину – RAD, Rapid Application Development) окажется самым большим недостатком русскоязычного издания книги.

Купить в Интернет-магазине Вторая книга - "Современные методы описания функциональных требований к системам" (Writing Effective Use Cases) - была написана несколько ранее (и, кстати, тоже получила Jolt Productivity Award, но в 2001 году). Автор рассказывает, как описывать поведение пользователя по отношению к системе (варианты использования), а не схематически изображать их, как принято в UML. В отличие от толстых и сложных теоретических трудов, в этой книге все изложено максимально четко, ясно и прозрачно. Автор приводит множество конкретных примеров и упражнений, а также немало ценных советов по руководству проектами, в которых задействовано большое количество вариантов использования. Книга будет отличным подспорьем в работе тем, кто зарабатывает на жизнь проектированием и разработкой программного обеспечения.

Купить в Интернет-магазине Неожиданно для себя нашли в "Доме книги" книгу, посвященная гибкой методологии, но не XP. Эта книга называется "Практическое руководство по функционально-ориентированной разработке ПО" (A Practical Guide to Feature-Driven Development). Книга написана весьма неплохо и производит приятное впечатление (в том числе, и качеством перевода). Ее можно рекомендовать как руководство по FDD (для тех, кто еще незнаком с этой методологией) или же как справочник (для тех менеджеров и разработчиков, которые уже практикуют FDD). В отличие от ХР, FDD допускает масштабируемость при сохранении гибкости. Именно поэтому, считают ее создатели, FDD будет работать в больших проектах, с которыми ХР уже не справится.
Удручает лишь качество издания - серая тонкая бумага, на которой отвратительно читается даже текст, не говоря уже об иллюстрациях.


Будут опубликованы в ближайшем будущем

Заказать в Интернет-магазине "Extreme Programming Applied: Playing to Win". Издательство "Питер", январь-февраль 2003 года.
Эта книга предполагает, что вы уже кое-что знаете об Экстремальном программировании, поэтому перед тем, как сесть за нее, прочтите вышеупомянутую "Extreme Programming Explained" Кента Бека. Авторы, среди которых есть и "крестный отец" методологии – Уорд Каннингэм – достаточно подробно описывают процесс перехода на ХР, проблемы и вопросы, которые будут при этом возникать. В книге рассказывается о том, как преодолеть сопротивление руководства и самих разработчиков, как выработать у них правильное отношение к новому рабочему процессу, как не забывать применять все практики, и что делать, если некоторые из них неосуществимы, как создавать простой дизайн системы, как применять рефакторинг и т.д., по каждому из двенадцати правил ХР. Книгу очень оживляют реальные примеры, рассказанные теми, кто уже перешел на ХР (не авторами).

Заказать в Интернет-магазине Кент Бек "Test Driven Development", изд-во "Питер".
Эта замечательная книга довольно долго обсуждалась в програмистских кругах – Кент Бек даже создал для этого отдельный список рассылки. На самом деле, в этой книге в качестве отдельной концепции подается симбиоз двух исключительно важных практик методологии XP: "Вначале тест" и "Рефакторинг". Даже если остановиться только на них, можно кардинально преобразовать подход к разработке ПО. И, что исключительно важно, программисты могут применять их вне зависимости от принятой в компании методологии. Принципы TDD подаются в книге в виде демонстрации работы над двумя задачами. По ходу дела Бек показывает, как TDD позволяет обойти острые углы, какие могут возникнуть проблемы и как с ними справляться. Последний раздел книги представляет особый интерес, так как содержит квинтэссенцию знаний о TDD, включая "лучшие практики", паттерны проектирования и тестирования и подход к рефакторингу.
Перевод книги вышел в 2003 году.

Заказать в Интернет-магазине Скотт Амблер "Agile Modeling", изд-во "Питер", 2003г.
Скотт Амблер - один из самых плодовитых авторов, пишущих на тему гибкого подхода к разработке ПО. Гибкое моделирование - его любимый конек, на котором он скачет уже не один год. В чем суть гибкого моделирования? В целом, это перенос идеалов экстремального программирования и гибких методологий на процесс моделирования и документирования ПО. Принципы, изложенные в книге, могут применяться в любом процессе разработки - от XP до RUP, хотя по внешним признакам они гораздо ближе к первому, чем ко второму.


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

Заказать в Интернет-магазине Ларри Константайн, Люси Локвуд, "Software for Use", изд-во "Питер".
Один из лучших справочников, учебников, источников по тому, как создавать программное обеспечение, удобное для использования. Эта великолепная книга, написанная, правда, несколько наукообразно (по крайней мере, по-английски), должна быть на полке у каждого, кто так или иначе занимается вопросами проектирования ПО, созданием интерфейсов и юзабилити. Авторы представляют собственный подход к разработке ПО, который основывается на интересах пользователя (usage centered design). Это не только и не столько сборник правил построения пользовательских интерфейсов, сколько подробное описание всего процесса разработки ПО, где главной и конечной целью стоит создание удобного в использовании программного продукта. Органичное использование различных техник (вариантов использования, в том числе с применением UML, и сущностного моделирования), масса примеров, тестирование удобности продукта в лабораторных и полевых условиях, организация процесса разработки, и многое многое другое. Эту книгу просто необходимо прочесть, пусть даже это потребует некоторых усилий и напряжения мысли. В данном случае, чем больше вы прочитаете, тем больше выиграете.

Заказать в Интернет-магазине Джеф Раскин "Интерфейс: новые направления в проектировании компьютерных систем" (The Humane Interface), изд-во "Символ-Плюс", выйдет в январе 2003 года.
Книга одного из отцов-основателей Macintosh, психолога, ученого и преподавателя, о том, что такое хороший интерфейс, и как сделать взаимодействие человека и компьютера более продуктивным. Автор анализирует множество просчетов, существующих в дизайне интерфейсов Windows и Macintosh. Как и во всех своих работах, Раскин постоянно возвращается "к основам", о существовании которых зачастую и не подозревают те, кто уповает в дизайне интерфейсов исключительно на творческий порыв и интуицию. Эта книга, наверное, будет особенно интересна отечественным GUI-дизайнерам, которых до сих пор не особо баловали математико-психологическим подходом к проблеме.

Заказать в Интернет-магазине Джим и Мишель Маккарти "Software for Your Head", изд-во "Символ-Плюс", 3-й квартал 2003 года.
Эта книга – некий сплав из паттернов разработки ПО и теории управления проектами. Авторы, длительное время проработавшие в компании "Microsoft", имеют богатейший опыт построения работы команд программистов, однако, тем не менее, описывают здесь не конкретные примеры, а чисто теоретические изыскания: уникальный словарь терминов, паттернов, антипаттернов и протоколов командной работы. Возможно, в среднестатистической компании все эти знания применить и не удастся, однако книга может оказаться весьма и весьма полезной, причем как менеджерам, которые руководят работой команды, так и рядовым программистам, которые в ней работают.

Спасибо за предоставленную информацию компьютерным редакциям издательств "Питер" и "Символ-Плюс".



© Copyright maxkir.com, 2003

kirsa January 22, 2003 8:37 PM