Books
Материал из AgileWiki
Процесс
- Раз в квартал спросить по книге, которые прочитали гуру
- Раз в квартал, спросить отзыв у них
Agile книги
Ссылка: http://agileguru.org/AgileWiki/Books
Список книг, который должен освоить каждый уважающий себя Agile разработчик. Книги отсортированы по ключевым видам деятельности. Внутри группы рекомендуемый порядок изучения (то есть книгу с порядковым номером 1 стоит читать первой в рассматриваемой группе)
Для коллективного изучения понравившейся книги организована Study Group. Работу Study Group курирует Денис Миллер. Адрес - http://study-group.net
Ссылки:
Классика
The ThoughtWorks Anthology: Essays on Software Technology and Innovation by ThoughtWorks Inc.
Agile методологии
Экстремальное программирование
Экстремальное программирование
Первая книга о первой из Гибких методологий - Экстремальном программировании (eXtreme Programming - XP)! Кент Бек сжато и емко описывает динамичный процесс создания ПО небольших и средник размеров в условиях неясных и/или быстро меняющихся требований. Ценности, принципы и практики XP, описываемые в этой книге, затем разошлись по другим Гибким методологиям, я рекомендую прочесть эту книгу всем, кто интересуется Гибкими методологиями, ну а приверженцы XP - must read!
Их недостатков книги могу отметить ее безапелляционность ("Все практики, которые здесь описаны, должны выполняться ровно так, как они описаны, иначе это будет не XP"), что впрочем объяснимо - в момент издания книги на дворе был 2000 год, и особо большого опыта применения процессов Гибких методологий и их адаптации к особенностям конкретных проектов просто не было.
Extreme Programming Applied: Playing to Win by Ken Auer and Roy Miller
Русский вариант: Кен Ауэр, Рой Миллер - Экстремальное программирование
Из наиболее "практичных" книг по Agile.
Extreme Programming for Web projects
Одна из первых книг по методологии Экстремального Программирования описывает применение этой методологии к разработке Web проектов. Первая часть книги посвящена краткому обзору XP, затем описывается применение методологии к особенностям Web проектов. В книге описана типичная команда Web разработки, расписана каждая роль в команде по отношению к практикам XP, авторы подробно описали свои идеи по организации среды для разработки (как программной, так и физической), а также какие практики и каким образом поддерживают Гибкий процесс разработки Web проекта.
Из особенностей книги хочу отметить первую попытку (довольно удачную) адаптации практик строгой методологии Экстремального Программирования к классу проектов в Web. Особенно интересно наблюдать, как авторы переносят процессы разработки кода на такой слабо формализуемый процесс как разработка графического дизайна сайта! В книге подробно описаны аспекты планирования и выпуска Web проектов в условиях Экстремальной разработки.
Эту книгу полезно прочесть всем, кто использует Гибкие методологии в разработке Web и кто лланирует применить Гибкие методологии к проектам, впрямую не относящимся к разработке ПО - в книге приведен успешный пример такой адаптации. Из недостатков книги хочу отметить ее моральную устарелость в плане описываемых технологий (и это немудрено - с момента издания книги в 2003 году прошла уже, кажется, эпоха в области Web-разработки). Из плюсов хочу отметить, что с тех пор никакого более свежего и подробного описания применения практик Гибких методологий к Web разработке мне не попадалось
Scrum
Scrum and XP from the Trenches
Лучшая книга для старта! Много отличных практических советов и идей. Все менеджеры, которым я порекомендовал эту книгу читали её залпом за пол-дня. Лучшая книга по основам Agile.
Scrum Checklists
Начали внедрять Scrum? Этот материал для вас! Очень кратко о самых главных моментах скрама. Без объяснений! Только проверочные листы (check lists) на ключевые встречи. Обязательная брошюра под номером 2 для скрамаводов.
Скачать бесплатно: ссылка
Ken Schwaber. Agile Project Management With Scrum
Для теоретиков от Scrum ;)
Ken Schwaber. Agile Software Development with Scrum
Для теоретиков от Scrum ;)
Test Driven Development
Экстремальное программирование: разработка через тестирование
Test Driven Development: By Example (Kent Beck)
Это хорошая книга для введения в практику Разработки Через Тестирование (Test-Driven-Development - TDD). На 200+ страницах Кнет Бек подробно, не спеша, описывает применение практики TDD к процессу разработки кода. В книге исчерпывающе описано как, когда и что покрывать модульными тестами, что делать при изменении поведения разрабатываемого ПО, а также при нахождении ошибок. Большая часть книги уделена подробному описанию процесса создания тестов с последующим написанием собственно функционального кода. Кроме того, автор описал в книге массу паттернов - паттерны разработки, основанной на тестах, паттерны тестирования, а также паттерны проектирования и рефакторинга.
Разработчики кода, must read! Менеджеры проектов, эта практика должна быть встроена в ваш процесс разработки!
xUnit Test Patterns: Refactoring Test Code (Gerard Meszaros)
Growing Object-Oriented Software, Guided by Tests by Steve Freeman
Многообещающее название
Pragmatic Unit Testing in C# with NUnit, 2nd Edition (Andrew Hunt)
Lean
Lean Software Development: An Agile Toolkit By Mary Poppendieck, Tom Poppendieck
Implementing Lean Software Development: From Concept to Cash by by Mary Poppendieck, Tom Poppendieck
Agile Modeling
Скотт Амблер. Гибкие технологии: экстремальное программирование и унифицированный процесс разработки
denis_miller: Очень понравилась книга. Для поклоников RUP рассматирвается вариант комплектации процесса ориентированного на Agile. В общем AM является процессом на базе фреймвока RUP (как и задумывалось создателем RUP: RUP - фреймвок для построения процессов) плюс ценности Agile.
Купить: ozon.ru, amazon.com
Agile for Enterprise Development
The Enterprise and Scrum by Ken Schwaber
Scaling Software Agility: Best Practices for Large Enterprises by Dean Leffingwell
Planning and Budgeting for the Agile Enterprise: A driver-based budgeting toolkit by Richard Barrett
Scaling Lean & Agile Development: Successful Large, Multisite & Offshore Products with Large-Scale Scrum by Craig Larman
Agile Software Development in the Large: Diving Into the Deep by Jutta Eckstein
Agile
Agile Software Development Ecosystems
Лично я рекомендую почитать "Agile Software Development Ecosystems" как наиболее структурированную ;-).
"Collaboration Explained" by Jean Tabaka
Лично мне очень нравится "Collaboration Explained" by Jean Tabaka - очень неплохой рассказ о том что такое сотрудничество и с чем его едят - описание полезных практик.
Practices of an Agile Developer: Working in the Real World (Pragmatic Programmers) by Venkat Subramaniam
Agile Adoption Patterns: A Roadmap to Organizational Success by Amr Elssamadisy
Agile Patterns: The Technical Cluster
Книга о том, как показать бизнесу, что все качественные проекты делают на Agile.
http://www.infoq.com/minibooks/agile-patterns - здесь можно бесплатно скачать.
Organizational Patterns of Agile Software Development by James O. Coplien
Managing Agile Projects by Kevin, J. Aguanno
Сбора и анализ требований. Аналитика
Разработка требований к программному обеспечению. Карл Вигерс
Фундаментальный труд для развития навыков сбора и анализ требований. Рассматривается множество техник позволяющие управлять ожиданиями и требованиями пользователя. Описывается различие ожиданий, модели анализа и модели дизайна. Вводятсья понятия: бизнес-требования, пользовательские требования, функциональные требования.
Каждый аджайлист должен знать материал этой книги. Так как работа аджайлиста непосредственное общение с клиентом. А в книги добротно перечисленые базовые навыки взаимодействия с ним.
Современные методы описания функциональных требований к системам. Алистер Коберн
К сожалению русский перевод названия сделан без знания дела :( В оригинале книга называется "Writing Effective Use Cases", что отражает предварительный этап подготовки функциональных требований. А именно сбор пользовательских требований к будущей системе с использованием Use Cases. Про функциональные требования там речь не идёт.
Но зато по методике "Use Cases" написано очень добротно. И считается классической книгой по такому способу сбору пользовательских требований. О различиях бизнес, пользовательских и функциональных требований хорошо написано в "Разработка требований к программному обеспечению. Карл Вигерс"
User Stories Applied: For Agile Software Development by Mike Cohn
Планирование
Agile Estimating and Planning by Mike Cohn
Экстремальное программирование: планирование
Вторая книга об Экстремальном Программировании обозревает важнейший для Гибких методологий процесс планирования. В книге проводится краткий анализ, почему это важно, как непрерывное планирование поддерживает процесс разрабоки ПО в экстремальном режиме, как, когда и что планировать. Авторы описывают типичные сценарии планирования релиза, итерации, ежедневные планерки (Stand-up meetings), объясняют роли членов команды, product ownera в процессе планирования.
Книга рекомендуется к прочтению всем приверженцам Гибких методологий. Менеджеры проектов и product owners, must read!
Дизайн / Архитектура
Велкий GoF. Приемы объектно-ориентированного проектирования. Паттерны проектирования.
Базовые принципы разработки расширяемых модулей. Грамотно описаны различные вариант проектирования классов и их взаимодействия. Формирует правильный инженерный словарь. Правильно вправляет мозги. Следите за рекламой -- у нас есть одноимённые курсы :)
Купить: ozon.ru
Мартин Фаулер. Архитектура корпоративных программных приложений
Базовый каталог решений уровня приложения. Читать обязательно, если хотите, чтобы все участники проекта см. Рефакторинг. ХВАТАТЬ и НИКОМУ не отдавать! :)
Этот каталог паттернов сокращённо называют: PoEAA
Купить: ozon.ru
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, Second Edition By Craig Larman
Хороший труд по базовым шаблонам.
Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing by Frank Buschmann
А этот каталог паттернов именуют - POSA4, есть и другие версии (тома книг), но они содержат меньше паттернов
Грегор Хоп. Шаблоны интеграции корпоративных приложений
http://www.eaipatterns.com/ Сайт автора
Описываются типовые решения для месседжинга (SOA на нём основывается)
Купить: ozon.ru
Head First Design Patterns (Elisabeth Freeman)
Книжка с красивыми примерчиками в картинках. Для лёгкого детективного чтения :)
Купить: ozon.ru
Domain-Driven Design
Domain-Driven Design: Tackling Complexity in the Heart of Software By Eric J. Evans
Общий подход моделирования предметной области. Все аджайлисты переходят на него.
Сайт автора: http://domaindrivendesign.org/
Купить: ozon.ru
Domain Driven Design Quickly By Floyd Marinescu
Краткая бесплатная выжимка предыдущей книги. Введение в тематику. Рекомендую.
Скачать: ссылка
Джимми Нильссон. Применение DDD и шаблонов проектирования: проблемно-ориентированное проектирование приложений с примерами на C# и .NET
Applying Domain-Driven Design and Patterns with Examples in C# and .NET
Эта книга о разработке корпоративных программных приложений в среде .NET с применением шаблонов проектирования. В ней описаны: проблемно-ориентированные методы проектирования (DDD, или Domain Driven Design), разработка посредством тестирования (TDD, или Test-Driven Development), объектно-реляционное преобразование, т.е. методы, которые многие относят к ключевым технологиям разработки программного обеспечения. По мере развития и усложнения технологии все большее значение приобретают вопросы правильного применения методов проектирования. Ценность этой книги в том и состоит, что она помогает разобраться в этих вопросах. Хотя большинство примеров кода представлено на языке C#, материал книги может оказаться полезным и для тех, кто работает на платформе Java. Книга адресована опытным разработчикам архитектуры и прикладного программного обеспечения уровня предприятий, в том числе и в среде .NET.
В переводе КУЧА ошибок
Купить: ozon.ru
R. Wirfs-Brock, A. McKean - Object Design: Roles, Responsibilities, and Collaborations
Study Group: Object Design: Roles, Responsibilities, and Collaborations
Основы Responsibility-Driven Design - разработка архитектуры исходя из ответственностей классов. Очень полезна для архитекторов и аджайлистов, так как нужно учится чувствовать ответственность классов, чтобы ПО выходило хорошим. К TDD не относится. В продаже на русском языке не встречалась.
Купить: ozon.ru
Качественный код
Кент Бек. Шаблоны реализации корпоративных приложений
Kent Beck. Implementation Patterns
Рекомендую книгу как справочник по созданию Code And Naming Convention. После прочтения у вас будет очень мощный инструмент написания качественного кода. Начинающим программистам обязательна к прочтению.
Купить: ozon.ru
Макконнелл С. Совершенный код
Code Complete
Очень толковая книга. Читать после "Рефакторинга" и "Implementation Patterns".
Купить: ozon.ru
Быстрая разработка программ на Java и C++: принципы, примеры, практика. Роберт C. Мартин
Книга которую должен отштудировать каждый разработчик. Её нужно выдавать каждому младшему программисту. Принципы проектирования (SRP, LSP, DIP...), много примеров и рассуждений. Читая её вы постепенно будете приобретать опыт мировых гуру. Настаиваю на изучении! И жду отзывов :)
Купить: ozon.ru
Agile Principles, Patterns, and Practices in C# by Robert C. Martin
Agile Principles, Patterns, and Practices
Крайне рекомендую, обсуждаются принципы, много кода, легкий стиль изложения. Переделка книги Быстрая разработка программа на Java и С++ ... под C#
Купить: ozon.ru
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
Самая поздняя книга по качеству, смесь советов и smells, покрытых рядом рефакторингов. В общем ответ на моду выработки принципов кодирования уровня Code Style. Рекомендую как и остальные, но ставлю в конец моего списка :)
Джошуа Блох Java. Эффективное программирование
Effective Java. Programming Language Guide
Для джавистов рекомендации по написанию хорошего кода.
Рефакторинг
Мартин Фаулер. Рефакторинг. Улучшение существующего кода
- мой отзыв. Кратко: Читать. Зубрить. Запоминать. Держать под подушкой. Для разработчика обязательное чтение! Так же приходите на курсы -- пообсуждаем! :)
Купить: ozon.ru
Джошуа Кериевски. Рефакторинг с использованием шаблонов (паттернов проектирования)
Refactoring to Patterns.
Очень сильная книга. Изучать после GoF и Рефакторинга. Очень сильные техники повышающие качество кода.
Купить: ozon.ru
Рефакторинг баз данных: эволюционное проектирование. Скотт В. Эмблер, Прамодкумар Дж. Садаладж
У меня в голове эти два понятия не слишком хорошо укладываются. Но за smells в обсласте баз данных автору респект.
Купить: ozon.ru
Refactoring Workbook By William C. Wake
Отличная книга по некачественному коду (smells). Тонны примеров. Читать начинающим программистам после книги Фаулера "Рефакторинг"
Legacy System / Reengenering (крупный рефакторинг)
Working Effectively with Legacy Code By Michael C. Feathers
Посвящается всем тем, кто хочет переписывать систему с нуля :)
Купить: ozon.ru
Refactoring in Large Software Projects: Performing Complex Restructurings Successfully by Martin Lippert
Хорошая книжка. Архитектурные smells. Подробно описан подход redesign'a (или бооольших рефакторингов)
Купить: ozon.ru
Object Oriented Reengineering Patterns by Serge Demeyer
Заманчиво
Основы объектно-ориентированного программирования
Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений (3 издание)
Object-Oriented Analysis and Design with Application
Книга для начинающего программиста. Который после года работы хочет сопоставить свой опыт с опытными людьми. Немного о проектировании, о кодировании и о процессе. Солянка на типовые темы. Правда Agile там маловато (ни TDD, ни Refactoring, ни другие подходы не описываются). Но общий подход к моделированию симпатизирует.
Отзывы: Гради Буч Объектно-ориентированный анализ и проектирование с примерами приложений
Купить: ozon.ru
Иан Грэхем. Объектно-ориентированные методы. Принципы и практика
Object-Oriented Methods: Principles & Practice
Обзор всего жизненного цикла разработки ПО. Немного обо всём. Рекомендую лишь для синхронизации знаний. И чтобы знать buzwordы.
Купить: ozon.ru
Designing Object-Oriented Software by Rebecca Wirfs-Brock
В ближайшее время закажу на амазоне. Сам подход Ребекки мне симпатезирует - поиск ответственностей.
Общее программирование
The Productive Programmer (Theory in Practice) by Neal Ford
Звучит заманчиво. Не смотрел :(
Release It!: Design and Deploy Production-Ready Software (Michael Nygard)
Ship it! A Practical Guide to Successful Software Projects (Jared Richardson)
Э. Хант, Д. Томас. Программист-прагматик. Путь от подмастерья к мастеру
Описывает не тупую методологию или приемчики конкретного языка, а... как бы это сказать... стратагемы проектирования и программирования, а также поиска ошибок и ведения проекта. Нечто вроде "Пяти колец" Миямото Мусаси. :)
При этом книга полна красивых практических примеров, как тот или иной принцип воплощается на практике. Да, и задачки к каждой главе поразительно интересные и творческие!
Подробнее: Эндрю Хант Программист-прагматик Путь от подмастерья к мастеру
Купить: http://www.ozon.ru/context/detail/id/1657382/
Безопасный код
The Security Development Lifecycle (Michael Howard)
Writing Secure Code, Second Edition (Michael Howard)
Тестирование / Качество
Rick Mugridge, Ward Cunningham - Fit for Developing Software: Framework for Integrated Tests
Купить: ozon.ru
Тёмная лошадка Ворд Каннингем решил выпустить книгу. Этот человек стоял за спиной Кента Бека, когда тот рассказывал миру о лучших практиках программирования.
Continuous Integration: Improving Software Quality and Reducing Risk by Paul Duvall
Для менеджеров о важности постоянной интеграции.
Ретроспектива
Самая важная практика Agile, как методологии с epmperial ориентированным процессом разработки
Agile Retrospectives: Making Good Teams Great by Esther Derby
Project Retrospectives: A Handbook for Team Reviews by Norm Kerth
- Karl E. Wiegers (Clackamas, OR United States)
"Project Retrospectives" is one of the best written, best edited, most nicely presented, and most useful software books I've ever read. Norm Kerth presents a convincing argument for the value of taking the time to study past projects and learn from them. He then presents a rich tool kit of techniques for helping a project team explore what actually happened, what went well, what caused problems, and what happened that surprised them. Kerth's sensitivity to the complex interpersonal issues surrounding project retrospectives will help any facilitator, participant, or manager get the most out of these important learning activities.
Despite the value of retrospectives, not every project team will find it possible to spend 2 or 3 full days reflecting on its experience. However, the methods described here can be scaled down so that any team can apply them. If a team doesn't take the time to learn how to improve, it shouldn't expect the next project to go any better than the last one. This unique book is a key enabler for any learning organization.
Эмоциональный интеллект
Джим и Мишель Мак-Карти. Программируем командный дух
ПРОЕКТ=КОМАНДА. Построение agile-команды. Эволюционное развитие: оптимизация взаимоотношений, коллективное управление, целеполагание и построение общего видения. Очень сильная книга.
Купить: ozon.ru Study-group: ссылка
Дейл Карнеги. Как завоевывать друзей и оказывать влияние на людей
Отличное руководство по концепции бесконфликтного и успешного общения. Читать обязательно для зрелых команд!
Купить: ozon.ru
Давно хотел прочитать эту книгу. И вот наконец-то решился. Книга оказалась просто кладезом знания, мудрости и опыта в сфере общения и конфликтологии. Я был просто поражён теми приёмами, тактиками и стратегиями эффективного общения, что рекомендую настоящему Аджайл Гуру взять на вооружение. Книга содержит большое количество реальных кейсов очень знаменитых людей. Для меня эта книга стала открытием в области... далее...
Менеджемент в команде
Том Демарко. Балдеющие от адреналина и зомбированные шаблонами
Adrenaline Junkies and Template Zombies: Understanding Patterns of Project Behavior
Вышел русский перевод книги "Adrenaline Junkies and Template Zombies: Understanding Patterns of Project Behavior" от легендарного человека - Том ДеМарко. Он же автор бесселера "Том Демарко, Тимоти Листер. Человеческий фактор: успешные проекты и команды"
Отзыв Джоэл Спольски (автор сайта и книг "Джоэл о программировании" и "Джоэл: и снова о программировании): "Еще один шедевр от парней, создавших "Peopleware". Любой человек, переживший один-два проекта по разработке программного обеспечения, наверняка узнает многие из описанных шаблонов, а на остальных сможет учиться. "Балдеющие от адреналина и зомбированные шаблонами" - это настоящий праздник."
Создана группа для обсуждения книги. Материалы наших встреч можете найти в разделе "Agile серии". Обсуждаем по скайпу. Поэтому будем рады вашему участию!
Аудио-записи обсуждений: ссылка
Купить: http://www.books.ru/shop/books/713163
Том ДеМарко Deadline. Роман об управлении проектами
Deadline: A Novel About Project Management
Самая лучшая книга о проектном управлении, когда требуется набраться мудрости, подглядеть интересные шаги, мысли, идеи... Каждому ПМ/БА прочитать хотя бы раз. Весело, жизненно и про управление проектами.
Самые главныве мысли читайте здесь
Купить: ozon.ru
Том Демарко, Тимоти Листер. Человеческий фактор: успешные проекты и команды
Авторы очень многое поняли в этой жизни. Читать обязательно! Местами описание напоминает "Бизнес в стиле фанк": в целом утопично и не всегда приемлемо.
Купить: ozon.ru
Рикардо Семлер. Выходные всю неделю
Истинный Agile
Купить: ozon.ru
Алан Купер Психбольница в руках пациентов
The Inmates Are Running the Asylum
- Хорошая книга, наводит на много полезных мыслей. Однако ее стоит читать после работ Брукса и Демарко.
- Программистам читать в первую очередь. И не просто читать, не расставаться с ней. А руководителям - закупить книгу в количестве N штук и подарить своим программистам по 1 экземпляру каждому.
Купить: ozon.ru
Дуг ДеКарло. eXtreme Project Management. Экстремальное управление проектами
eXtreme Project Management: Using Leadership, Principles, and Tools to Deliver Value in the Face of Volatility
Одноминутный менеджер строит высокоэффективную команду
Одна из потрясающей серии книг, посвященных управлению! Авторы книги всего на 150+ страницах формата А5 описывают процесс создания высокоэффективной команды из разрозненной группы людей с разным набором навыков и качеств. Книга описывает типичные стадии формирования команды, какие процессы прходят при этом в коллективе и какой стиль руководства нужно применить в тот или иной момент. Приведенные техники, конечно, не претендуют на полноту, но создают тот необходимый минимум инструментов для формирования эффективной команды.
Менеджеры проектов (и все, кто хочет таковыми стать), must read!
Стивен Р. Кови. 7 навыков высокоэффективных людей. Мощные инструменты развития личности
Для дополнительного чтения :)
Мотивация
Райнхард Шпренгер. Мифы мотивации
Потрясающая книга о сути мотивации.
Некоторые идеи: ссылка
Купить: ozon.ru
Райнхард Шпренгер Восстание индивидуума Aufstand des Individuums
Решебник вопросов мотивации для менеджеров.
Купить: ozon.ru
Персональный менеджмент / Time Management
Дэвид Аллен Как привести дела в порядок. Искусство продуктивности без стресса
Очень простые и дельные советы по планированию своих ежедневных бытовых и рабочих задач.
Аудио-обсуждения: http://gtdsg.rpod.ru/
Глеб Архангельский. Тайм-драйв
Менее практичная книга, но зато больше художественного описания по сравнению с GTD.
MindMap
Две супер книги! Если вы решили стать креативным это для вас. Маленький пример - http://agilerussia.ru/forum/viewtopic.php?p=177#177. А в общем: анализ, сбор требований, архитектура, планирование разработка и всё другое можно делать интересеней и веселее с MindMap.
