ebook img

Этюды на тему быстрой разработки программного обеспечения / Practices off an Agile Developer PDF

207 Pages·2009·10.29 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Этюды на тему быстрой разработки программного обеспечения / Practices off an Agile Developer

Practices of an Agile Developer Working in the Real World Venkat Subramaniam Endy Hunt Этюды на тему быстрой разработки программного обеспечения Работа в реальном мире Венкат Субраманиам Энди Хант Venkat Subramaniam, Endy Hunt Practices of an Agile Developer Working in the Real World ISBN 0-9745140-8-X © Венкат Субраманпам, Энди Хант Этюды на тему быстрой разработки программного обеспечения Работа в реальном мире Переводчик Е. Лукач Корректор Л, Белая Верстка Ю. Кунашовой © Издательство “Лори”, 2009 Изд. ХЬ ; OAJ (03) ЛР № : 07612 30.09.97 г. ISBN 978-5-85582-299-1 Подписано в печать 01.01.2009 Формат 70x100/16 Бумага Гарни тура Баскервиль. Печать офсетная офсет«N? ]. Печ. л. 13. Тираж 1000. Заказ № 45 Цена договорная Издательство “Лори” Москва, 123100, Шмитовский пр., д. 13/6, стр. 1 (пом. ТАРП ЦАО) Телефон для оптовых покупателей: (495) 256-09-83 Размещение рекламы: (495) 259-01-62 www.lory-press.ru Отпечатано в типографии ООО “Тиль-2004” 107023 Москва, ул. Электрозаводская, д. 21 Отзывы читателей о книге “Этюды на тему быстрой разработки программного обеспечения” Разделы “На что это похоже” просто бесценны: одно дело — рас­ сказать о том, что нужно делать, и совсем другое — применить все это на практике и быть уверенным в том, что вы все делаете пра­ вильно. Натаниэль Т. Шутта, Один из авторов книги “Принципы Ajax” В этой книге есть все, что читатель ждет от серии Pragmatic Bookshelf (Книжная полка прагматика): она небольшая по объему, легко читается, глубокая, по-настоящему полезная; авторы докапы­ ваются до самой суги. Она будет важным подспорьем для людей, стремящихся освоить гибкие подходы к разработке ПО, Форрест Чанг, Ведущий разработчик ПО С первой страницы книги меня не отпускала мысль: “Вот здоро­ во, именно такой книги не хватало многим разработчикам". Я сразу понял, что и мне ее не хватало. Я настоятельно рекомендую ее раз­ работчикам любого уровня знаний и опыта. Гуэрри А. Семонес, Старший инженер ПО, Appisiry В книге авторы, руководствуясь здравым смыслом и собствен­ ным опытом, показали, почему следует серьезно рассмотреть воз­ можность применения гибких методик в проектах. Это именно та сугубо практическая, экспериментальная информация, которую наиболее трудно почерпнуть из книг. * Мэттью Джонсон, Ведущий инженер ПО Некоторые из описанных практик мне были известны и преж­ де, поскольку я читал и другие книги серии Pragmatic Bookshelf, по эта книга содержит много новых идей и представляет их в ясном, компактном, упорядоченном формате. Я бы настойчиво рекомен­ довал эту книгу начинающему разработчику или группе разработ­ чиков, желающих стать “гибкими”. Скотт Сплавек, Старший инженер ПО В условиях массового распространения гибких методик в отрас­ ли необходимо понимать, в чем же на самом деле заключается “гиб­ кость”. Эта книга в компактной и практичной форме указывает путь к ее достижению. Марти Хот, Инженер/архитектор ПО, Razorstream Возможно, вы и прежде слышали о гибких методиках и даже спрашивали себя, что нужно сделать, чтобы с каждым днем работа улучшалась. Мой ответ таков: прочитайте эту книгу и позвольте ан­ гелам нашептать вам на ухо наиболее подходящие вам практики. Дэвид Лазаро Саз, Разработчик ПО Это, действительно, всесторонний и притом верно нацелен­ ный и компактный обзор основных практик гибкой разработки. Что мне нравится более всего в этой книге — это то, что она не вы­ двигает на передний план какую-то одну agile-методологию, а ско­ рее увязывает общие для различных методологий принципы в единую систему. Эта книга нужна всем тем, кого интересуют быст­ рые и надежные пути создания “чертовски” хороших программ­ ных продуктов. Мэттью Басс, Консультант в области ПО Это превосходное продолжение The Pragmatic Programmer! Билл Клеб Научный сотрудник, NASA Содержание Глава 1. ГИБКАЯ РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 1 Глава 2. НАЧАЛА ГИБКОСТИ..............................................................11 1 Работайте на результат.......................................................13 2 Быстрая правка не решает проблем.................................16 3 Критикуйте идеи, а не людей............................................19 4 К черту торпеды, идите вперед.........................................25 Глава 3. ВЗРАЩИВАНИЕ ГИБКОСТИ................................................28 5 Всегда будьте в курсе.........................................................30 6 Повышайте уровень своей команды.................................34 7 Умейте вовремя разучиться..............................................37 8 Спрашивайте до тех пор, пока не поймете......................40 9 Почувствуйте ритм............................................................43 Глава 4. ДЕЛАТЬ, КАК ХОТЯТ ПОЛЬЗОВАТЕЛИ............................47 10 Позвольте заказчику принимать решения......................49 11 Дизайн должен направлять работу, а не диктовать 52 12 Обоснованно применяйте технологию...........................57 13 Держите все наготове........................................................60 14 Интегрируйте сразу, интегрируйте часто......................64 15 Автоматизируйте процесс развертывания сразу...........67 16 Наладьте регулярную обратную связь при помощи демонстрационных версий..............................................70 17 Используйте короткие итерации, постепенно добавляйте функциональность.........................................76 18 Фиксированные цены мешают выполнению обещаний ............................................................................81 Глава 5. ГИБКАЯ ОБРАТНАЯ СВЯЗЬ.............................................85 19 Посадите ангелов себе на плечи......................................87 20 Используйте код до сборки..............................................92 21 Различия имеют значение.................................................97 22 Автоматизируйте приемочные испытания...................100 23 Измеряйте фактическое продвижение.........................103 24 Прислушайтесь к пользователям....................................106 Глава 6. ГИБКОЕ ПРОГРАММИРОВАНИЕ.....................................108 25 Программируйте осмысленно и выразительно...........110 26 Говорите самим кодом........................................................116 27 Активно анализируйте все плюсы и минусы.................122 28 Пишите код инкрементами...............................................126 29 Следите за простотой кода...............................................128 30 Пишите связный код..........................................................131 31 Говорите, не спрашивайте...............................................135 32 Замените, сохраняя контракт.........................................138 Глава 7. ГИБКАЯ ОТЛАДКА.................................................................143 33 Ведите журнал решений.................................................145 34 Предупреждения фактически являются ошибками 148 35 Атакуйте проблемы в изоляции......................................152 36 Сообщайте о всех исключительных ситуациях...........155 37 Обеспечьте содержательные сообщения об ошибках 158 Глава 8. ГИБКОЕ СОТРУДНИЧЕСТВО...........................................163 38 Наладьте регулярное очное общение...........................165 39 Архитекторы должны писать код....................................169 40 Практикуйте коллективную собственность...................172 41 Будьте наставником.........................................................174 42 Позвольте другим найти ответ......................................177 43 Регистрируйте лишь готовый код.................................179 44 Проводите ревизию кода.................................................182 45 Информируйте других....................................................185 Глава 9. ЭПИЛОГ: ДВИЖЕНИЕ К ГИБКОСТИ.............................187 Приложение А. Ресурсы..........................................................................194 А.1 Интернет-ресурсы............................................................194 А.2 Библиография....................................................................197 Даже если ты далеко ушел по неверному пути - поверни назад. Турецкая пословица Глава 1 Гибкая разработка программного обеспечения Турецкая пословица, взятая в качестве эпиграфа, кажется простой и вполне очевидной — можно даже предположить, что такое прави­ ло всегда должно выполняться в процессе разработки ПО, По, увы, слишком часто разработчики, включая скромных авторов книги, продолжают идти по ложному пути в надежде, что в конце концов все у них получится неплохо. Возможно, верный путь пролегает где-то рядом. Возможно, избранный путь совсем не так плох, как кажется. Он даже временами удобен — если бы процесс создания кодов был бы столь же линейным и предсказуемым, как дорога, о которой говорится в пословице. К сожалению, это не так. Процесс разработки программного обеспечения больше похож на серфинг — та же динамичная, постоянно меняющаяся среда. Море всегда непредсказуемо, порой опасно, в его водах скрывают­ ся акулы. Но серфинг потому и захватывает дух, что все волны раз­ ные. Каждая волна имеет свою уникальную форму и поведение в за­ висимости от того, где она находится: например, волна на песчаной отмели совсем не похожа на волны, разбивающиеся о рифы. В процессе разработки программного обеспечения вы сталки­ ваетесь с новыми требованиями заказчика и решаете различные задачи — они бесконечны и непостоянны, как морские волны. По­ добно волнам, программные проекты принимают различную фор­ му и создают на вашем пути разнообразные препятствия в зависи­ мости от области, в которой вы работаете, или типа приложения. И акулы различных мастей не заставляют себя долго ждать. Успех программного проекта зависит от профессиональных на­ выков, опыта и компетентности всей команды разработчиков. Как и успешный серфер, разработчик должен быть в хорошей техниче­ ской форме, быть уравновешенным и гибким. Гибкос ть (agility) в обоих случаях означает способность быстро адаптироваться к лю­ бому повороту событий, будь то внезапно разбившаяся волна или неожиданное изменение дальнейшего плана работы. Манифест Agile-разработки ПО (The Agile Manifesto) (перевод взят на сайте www.silicontaiga.ru. — Прим. пер.) Мы находим лучшие подходы к разработке ПО, непосредственно участвуя в процессе разработки и помогая другим. В процессе работы мы пришли к тому, что для нас важнее: • Люди и их взаимодействие, чем процессы и средства • Работающее ПО, чем исчерпывающая документация • Сотрудничество с заказчиком, чем обсуждение условий контракта • Реагирование на изменения, чем следование плану То есть мы не ставим под сомнение важность пунктов справа, в то же время для нас гораздо важнее записанное слева. Более подробная информация размещена на сайте agilemanifesto.org.ru. Дух гибкости Итак, что же такое гибкость на самом деле, и откуда берет начало движение гибкой разработки программного обеспечения? В феврале 2001 г. семнадцать заинтересованных человек (вклю­ чая Энди Ханта) собрались на лыжном курорте в горах Юты, что­ бы обсудить новые тенденции в разработке ПО, которые еще не­ формально называются “легковесными” процессами. Все мы были свидетелями неудач проектов из-за тяжеловесных процессов, которые используют чрезмерно много артефактов и приносят слишком мало реальной отдачи. Мало кто сомневался в том, что необходима новая методология, которая делала бы упор на наиболее важных аспектах разработки, а не на второстепенных, отнимающих слишком много времени и мало влияющих на конеч­ ный результат. Эти семнадцать человек придумали термин agile (живой, под­ вижный, гибкий) и выпустили Agile Manifesto (Манифест гибкой разработки), в котором изложили новый подход к разработке про­ граммного обеспечения, подход, который ставит во главу угла лю­ дей, сотрудничество, адаптивность и работающий код (начало Ма­ нифеста приводится на врезке). Гибкий подход предполагает быстрое реагирование, взаимо- действие людей и их нацеленность на осязаемые результаты

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.