Гибкая методология разработки программ (agile) напоминает нам, что, хотя компьютеры и исполняют код, его написанием и поддержкой занимаются все-таки люди.
Гибкая разработка – это концептуальный каркас, мировоззрение и подход к созданию программ. Она отличается экономностью, быстротой и прагматизмом. Это, конечно, не палочка-выручалочка, но все же такая парадигма радикально повышает шансы на успех, стимулируя вашу команду выдавать максимум, на который она способна.
В книге описывается реализация проекта, в котором применяется методология гибкой разработки. Хочу сказать, что такой проект действительно должен превосходить все ожидания. Ваши проекты будут заканчиваться вовремя и полностью укладываться в бюджет. Кроме того, клиенты будут полностью довольны создаваемыми для них программами и с удовольствием дадут вам новые заказы и примут посильное участие в работе.
Внутри коллектива вам предстоит освоить определенные навыки.
♦ Умение успешно подготавливать и запускать с пол-оборота собственный гибкий проект. Процесс должен быть настолько ясен, чтобы у вас вообще не возникало вопросов из области «на какой стадии находится работа?» и «как это называется?».
♦ Умение собирать требования, оценивать и планировать работу прозрачно, открыто и честно.
♦ Умение работать с жаром. Вы узнаете, как превратить свой гибкий проект в отлаженный механизм, бесперебойно производящий высококачественный код, готовый к реальному использованию.
Если вы руководитель проекта, эта книга послужит инструментом для подготовки собственного гибкого проекта и ведения его от начала до конца. Если вы аналитик, программист, тестировщик, разработчик взаимодействия с пользователем, то сможете почерпнуть из книги идеи и базовые знания, необходимые для того, чтобы стать полноправным членом команды, занимающейся гибкой разработкой.
Можете свободно переходить к чтению любой главы, которая вас заинтересует. Но если вы хотите правильно построить процесс работы с самого начала, рекомендую прочесть книгу от начала и до конца.
В части I дается краткий обзор гибкой методологии разработки и объясняется, как работают команды, использующие данную парадигму.
В части II рассказывается об одной из наиболее многообещающих деталей предлагаемого метода – о подборе средств, которые составят арсенал вашей команды при реализации проекта. Речь пойдет о так называемой стартовой колоде (inception deck).
Часть III посвящена отзывам пользователей о проектах, выполненных в режиме гибкой разработки. Здесь же рассказано, как построить первый свой план такого проекта.
В части IV речь идет о выполнении работы. Именно отсюда вы узнаете, как из плана получается нечто реальное – готовая программа, с которой может работать клиент.
Наконец, в части V подытоживается все сказанное. Здесь описаны основные гибкие методы написания ПО, которым нужно следовать, чтобы постоянно повышать качество своих программ и снижать расходы на их текущую поддержку.
Не относитесь к этой книге с излишней серьезностью – желательно, чтобы вы изучали изложенный материал с чувством юмора.
Для этого текст сопровождается иллюстрациями, отступлениями и даже анекдотами, которые помогают понять, каково это – заниматься гибкой разработкой.
Боевые истории – это «фронтовые сводки» о работе над реальными гибкими проектами, а также впечатления о некоторых успехах (и неудачах), которые пришлось пережить мне и моим «братьям по оружию» в этом драматичном деле – гибкой разработке.
Упражнения под заголовком «А теперь попробуем» приглашают вас оторваться от чтения, немного поразмышлять и попробовать себя на практике.
А вот и Мастер-сэнсэй – легендарный гуру гибкой разработки, мудрый и опытный во всех аспектах рассматриваемой парадигмы.
Он будет вашим проводником и духовным наставником в странствии по гибкой разработке, время от времени обращая ваше внимание на важные принципы работы, например:
Принцип гибкой разработки
На создание готовой программы должно уходить минимум времени – от пары недель до пары месяцев. И предпочтительнее, чтобы это был максимально короткий срок.
Мастер-сэнсэй будет делиться с вами своими глубокими озарениями и напутствиями, как применять на практике методы гибкой разработки.
У англоязычного издания этой книги есть собственный сайт http://pragprog.com/titles/jtrap, где подробнее рассказано о книге. Работать с ним можно следующим образом:
♦ участвовать в дискуссиях на форумах, обмениваться мнениями с другими читателями, энтузиастами гибкой разработки и со мной;
♦ помогать совершенствовать книгу. Для этого нужно сообщать о найденных ошибках, в том числе о фактических недочетах в материале и об опечатках.
Итак, начнем.