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

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

От издателя:Написать хорошую программу трудно - кругом подводные камни. Вы как будто слышите голос самого дьявола, который постоянно нашептывает вам заманчивые пути решения той или иной проблемы, легко и быстро приводящие не только к цели, но и к катастрофе. Не поддавайтесь этим дьявольским соблазнам. Ваш личный ангел-хранитель будет оберегать, вести и поддерживать вас, защищать вашу работу и карьеру. Вам помогут выстоять методы, изложенные в этой книге. Здесь авторы собрали накопленный индивидуальный опыт, идеи и методы работы передовых разработчиков и представили их в виде серии коротких и удобоваримых советов. Сначала вы услышите дьявольский шепот, искушающий пойти по ложному пути, но затем, подобно ангелу-хранителю, следует практика, применение которой защитит вас и вашу карьеру. Конечно, всего этого можно достичь методом проб и ошибок, исходя из собственного трудного опыта, но эта книга сбережет ваше время и нервы. Изучите ее - и ваш профессиональный уровень как разработчика возрастет. Содержание: --> Содержание: Глава 1. ГИБКАЯ РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ9Глава 2. НАЧАЛА ГИБКОСТИ191 Работайте на результат212 Быстрая правка не решает проблем243 Критикуйте идеи, а не людей274 К черту торпеды, идите вперед33Глава 3. ВЗРАЩИВАНИЕ ГИБКОСТИ365 Всегда будьте в курсе386 Повышайте уровень своей команды427 Умейте вовремя разучиться458 Спрашивайте до тех пор, пока не поймете489 Почувствуйте ритм51Глава 4. ДЕЛАТЬ, КАК ХОТЯТ ПОЛЬЗОВАТЕЛИ5510 Позвольте заказчику принимать решения5711 Дизайн должен направлять работу, а не диктовать6012 Обоснованно применяйте технологию6513 Держите все наготове6814 Интегрируйте сразу, интегрируйте часто7215 Автоматизируйте процесс развертывания сразу7516 Наладьте регулярную обратную связь при помощи демонстрационных версий7817 Используйте короткие итерации, постепенно добавляйте функциональность8418 Фиксированные цены мешают выполнению обещаний 89Глава 5. ГИБКАЯ ОБРАТНАЯ СВЯЗЬ9319 Посадите ангелов себе на плечи9520 Используйте код до сборки10021 Различия имеют значение10522 Автоматизируйте приемочные испытания10823 Измеряйте фактическое продвижение11124 Прислушайтесь к пользователям114Глава 6. ГИБКОЕ ПРОГРАММИРОВАНИЕ11625 Программируйте осмысленно и выразительно11826 Говорите самим кодом12427 Активно анализируйте все плюсы и минусы13028 Пишите код инкрементами13429 Следите за простотой кода13630 Пишите связный код13931 Говорите, не спрашивайте14332 Замените, сохраняя контракт146Глава 7. ГИБКАЯ ОТЛАДКА15133 Ведите журнал решений15334 Предупреждения фактически являются ошибками15635 Атакуйте проблемы в изоляции16036 Сообщайте о всех исключительных ситуациях16337 Обеспечьте содержательные сообщения об ошибках166Глава 8. ГИБКОЕ СОТРУДНИЧЕСТВО17138 Наладьте регулярное очное общение17339 Архитекторы должны писать код17740 Практикуйте коллективную собственность18041 Будьте наставником18242 Позвольте другим найти ответ18543 Регистрируйте лишь готовый код18744 Проводите ревизию кода19045 Информируйте других193Глава 9. ЭПИЛОГ: ДВИЖЕНИЕ К ГИБКОСТИ195Приложение А. Ресурсы202А.1 Интернет-ресурсы202А.2 Библиография205 Отрывок (Глава 1, стр. 12-14) --> Отрывок (Глава 1, стр. 12-14)Практика гибкостиМожно определитьгибкость (agility) следующим образом: Agile-разработка программного обеспечения предполагает использование обратной связи с заказчиком в целях постоянной корректировки кода в условиях наиболее тесного сотрудничества между членами коллектива.Коротко поясним, что это значит на практике, и как примерно выглядит в жизни гибкая команда разработчиков.Это сплоченная команда. Гибкая команда обычно немногочисленна или же состоит из нескольких небольших групп (порядка десяти человек). Если есть возможность, они сидят вместе в одном подвале (камере для арестантов), пишут общий код и решают общие задачи, связанные с его разработкой. Они тесно сотрудничают с клиентом или заказчиком, который платит за данный программный продукт, и регулярно поставляют им обновленные версии системы по мере их готовности.Вы поддерживаете постоянную обратную связь с пользователями продукта и применяете автоматизированную непрерывную сборку и тестирование для своей системы. Работая над кодом, вы замечаете, что код требует постоянного совершенствования: его функциональность остается прежней, но вам приходится непрерывно перепроектировать различные его куски. Это называетсярефакторинг (refactoring) и является частью текущей работы программиста — код невозможно по-настоящему "доделать".Процесс работы над проектом во времени представляет собой итерации (iterations): небольшие временные интервалы (порядка одной недели), в течение каждого из которых определяются и затем реализуются в коде новые свойства системы. Демо-версия продукта после каждой итерации показывается заказчику для получения обратной связи (и для проверки правильности избранного вами пути), после чего в полном масштабе поставляется всем пользователям системы; чем короче итерации, тем лучше.С учетом вышесказанного остановимся более подробно на применении гибких практик к отдельным составляющим процесса разработки ПО: Глава 2: Начала гибкости. Разработка программного обеспечения происходит в голове разработчика. В этой главе объясняется, что мы имеем в виду и как развить в себе способность к гибкому мышлению и поведению; тем самым закладывается прочный фундамент для восприятия следующих глав. Глава 3: Взращивание гибкости. Гибкий проект не самоочевиден. Для него нужны определенные фоновые условия, которые сами не являются частью процесса разработки, но жизненно необходимы для здорового климата в коллективе разработчиков. Мы покажем, как обеспечить вашей команде и вам постоянный рост и движение вперед. Глава 4: Делать, как хотят пользователи. Даже хорошо написанный код будет бесполезен, если он не учитывает нужды пользователей. Мы рассмотрим практики и технологии, которые позволяют вовлекать пользователей в процесс разработки, активно использовать их опыт работы с системой и учитывать их реальные нужды в процессе создания кода. Глава 5: Гибкая обратная связь. Использование обратной связи для коррекции кода и самого процесса разработки — это то, что позволяет гибкой команде плыть по течению там, где другие ломаются и тонут. Наиболее эффективна обратная связь от самого кода; в данной главе показано, как наладить эту обратную связь и как стимулировать высокую производительность команды и постоянное движение вперед. Глава 6: Гибкое программирование. Обеспечение гибкости и высокой приспособляемости исходного кода к любым изменениям в будущем — важнейший фактор успеха гибкой модели. В данной главе приводятся некоторые испытанные на практике приемы, которые позволяют коду оставаться "чистым", не иметь ничего лишнего и притом быть "мягким", податливым; в конечном счете, у такого кода будет мало шансов превратиться в монстра. Глава 7: Гибкая отладка. Поиск ошибок и отладка кода могуг растянуться на долгий срок и отнять непозволительно много времени. В данной главе приводятся советы, как сделать процесс отладки более эффективным и сэкономить время. Глава 8: Гибкое сотрудничество. В конце концов, один гибкий разработчик может работать достаточно эффективно, но лишь до определенного предела. Если вы выходите за эти рамки, вам нужна команда гибких программистов. Мы продемонстрируем вам исключительно результативную практику, которая, как мы убедились на собственном опыте, помогает создать монолитную команду, а также другие практики, помогающие наладить каждодневное взаимодействие членов команды друг с другом и нацелить ее на дальнейшее развитие.

Author(s): Венкат Субраманиам, Энди Хант / Venkat Subramaniam, Endy Hunt
Series: Pragmatic Bookshelf
Publisher: Лори
Year: 2009

Language: Russian
Commentary: 1146149736
Pages: 207
Tags: Информатика и вычислительная техника;Технология программирования;

Обложка......Page 1
Отзывы читателей......Page 5
Глава 1. ГИБКАЯ РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ......Page 9
Глава 2. НАЧАЛА ГИБКОСТИ......Page 19
1 Работайте на результат......Page 21
2 Быстрая правка не решает проблем......Page 24
3 Критикуйте идеи, а не людей......Page 27
4 К черту торпеды, идите вперед......Page 33
Глава 3. ВЗРАЩИВАНИЕ ГИБКОСТИ......Page 36
5 Всегда будьте в курсе......Page 38
6 Повышайте уровень своей команды......Page 42
7 Умейте вовремя разучиться......Page 45
8 Спрашивайте до тех пор, пока не поймете......Page 48
9 Почувствуйте ритм......Page 51
Глава 4. ДЕЛАТЬ, КАК ХОТЯТ ПОЛЬЗОВАТЕЛИ......Page 55
10 Позвольте заказчику принимать решения......Page 57
11 Дизайн должен направлять работу, а не диктовать......Page 60
12 Обоснованно применяйте технологию......Page 65
13 Держите все наготове......Page 68
14 Интегрируйте сразу, интегрируйте часто......Page 72
15 Автоматизируйте процесс развертывания сразу......Page 75
16 Наладьте регулярную обратную связь при помощи демонстрационных версий......Page 78
17 Используйте короткие итерации, постепенно добавляйте функциональность......Page 84
18 Фиксированные цены мешают выполнению обещаний......Page 89
Глава 5. ГИБКАЯ ОБРАТНАЯ СВЯЗЬ......Page 93
19 Посадите ангелов себе на плечи......Page 95
20 Используйте код до сборки......Page 100
21 Различия имеют значение......Page 105
22 Автоматизируйте приемочные испытания......Page 108
23 Измеряйте фактическое продвижение......Page 111
24 Прислушайтесь к пользователям......Page 114
Глава 6. ГИБКОЕ ПРОГРАММИРОВАНИЕ......Page 116
25 Программируйте осмысленно и выразительно......Page 118
26 Говорите самим кодом......Page 124
27 Активно анализируйте все плюсы и минусы......Page 130
28 Пишите код инкрементами......Page 134
29 Следите за простотой кода......Page 136
30 Пишите связный код......Page 139
31 Говорите, не спрашивайте......Page 143
32 Замените, сохраняя контракт......Page 146
Глава 7. ГИБКАЯ ОТЛАДКА......Page 151
33 Ведите журнал решений......Page 153
34 Предупреждения фактически являются ошибками......Page 156
35 Атакуйте проблемы в изоляции......Page 160
36 Сообщайте о всех исключительных ситуациях......Page 163
37 Обеспечьте содержательные сообщения об ошибках......Page 166
Глава 8. ГИБКОЕ СОТРУДНИЧЕСТВО......Page 171
38 Наладьте регулярное очное общение......Page 173
39 Архитекторы должны писать код......Page 177
40 Практикуйте коллективную собственность......Page 180
41 Будьте наставником......Page 182
42 Позвольте другим найти ответ......Page 185
43 Регистрируйте лишь готовый код......Page 187
44 Проводите ревизию кода......Page 190
45 Информируйте других......Page 193
Глава 9. ЭПИЛОГ: ДВИЖЕНИЕ К ГИБКОСТИ......Page 195
А.1 Интернет-ресурсы......Page 202
А.2 Библиография......Page 205