Введение 12
Часть I. Основы гибкой разработки 21
Глава 1. Введение в Scrum 23
Глава 2. Зависимости и разделение на уровни 67
Глава 3. Интерфейсы и проектные шаблоны 119
Глава 4. Модульное тестирование и реорганизация кода 151
Часть II. Написание кода по принципам SOLID 195
Глава 5. Принцип единственной ответственности 197
Глава 6. Принцип открытости-закрытости 235
Глава 7. Принцип подстановки Лисков 245
Глава 8. Принцип разделения интерфейса 279
Глава 9. Внедрение зависимостей 309
Часть III. Пример адаптивной разработки приложения 353
Глава 10.Пример адаптивной разработки приложения:
введение 355
Глава 11. Пример адаптивной разработки приложения:
спринт 1 369
Глава 12. Пример адаптивной разработки приложения:
спринт 2 397
Приложение А. Инструментальные средства
адаптивной разработки 413
Приложение Б. Примеры исходного кода
из хранилища GitHub 420
Предметный указатель 427