Искусство Agile-разработки. Теория и практика гибкой разработки ПО

Искусство Agile-разработки. Теория и практика гибкой разработки ПО
Автор книги: id книги: 2819357     Оценка: 0.0     Голосов: 0     Отзывы, комментарии: 0 699 руб.     (8,23$) Читать книгу Купить и скачать книгу Купить бумажную книгу Электронная книга Жанр: Правообладатель и/или издательство: Питер Дата публикации, год издания: 2022 Дата добавления в каталог КнигаЛит: ISBN: 978-5-4461-2386-5 Скачать фрагмент в формате   fb2   fb2.zip Возрастное ограничение: 16+ Оглавление Отрывок из книги

Реклама. ООО «ЛитРес», ИНН: 7719571260.

Описание книги

Большинство компаний, разрабатывающих ПО, якобы используют Agile, но на самом деле не понимают, что это такое Agile. Хотите повысить гибкость своей команды? В книге вы найдете четкие, конкретные и подробные рекомендации о том, что, как и почему следует делать, а когда стоит пойти на компромиссы. Джеймс Шор предлагает реальные решения по освоению, планированию, разработке и управлению, основанные на более чем двадцатилетнем опыте Agile. Он объединяет актуальные идеи экстремального программирования, Scrum, Lean, DevOps и многих других в единое целое. Узнайте, как успешно внедрить гибкую разработку в вашей команде и организации, или разберитесь, почему Agile вам не подходит. В формате PDF A4 сохранен издательский макет книги.

Оглавление

Группа авторов. Искусство Agile-разработки. Теория и практика гибкой разработки ПО

Отзывы

Предисловие

Введение

Для прагматиков

Что нового во втором издании

Для кого предназначена книга

О приглашенных авторах

Условные обозначения

Использование примеров кода

Благодарности

От издательства

I. Улучшая гибкость

Глава 1. Что есть Agile

Происхождение Agile

Рожденный из кризиса

Манифест Agile

Суть Agile

Адаптивность вместо предиктивности

Ориентированность на людей, а не на процессы

Почему Agile победил

Почему Agile работает

Почему Agile терпит неудачу

Глава 2. Как быть Agile

Практика Agile

Как достичь мастерства

С чего начать?

Присоединение к действующей команде Agile

Введение Agile

Совершенствование действующих Agile-команд

Применение отдельных практик Agile

Глава 3. Выберите свою гибкость

Модель Agile Fluency

Уровень фокусировки (Focusing)

Уровень поставки (Delivering)

Уровень оптимизации (Optimizing)

Уровень укрепления (Strengthening)

Выберите свои уровни

Глава 4. Инвестируйте в гибкость

Найдите время на обучение

Если нет времени на обучение…

Если нет средств на финансовую помощь…

Отберите или создайте Agile-команды

Если вы не можете закрепить людей за определенной командой…

Если члены команды не ладят друг с другом…

Если вы не можете создать долгосрочную команду…

Если вы не можете получить необходимых экспертов со знанием бизнеса, клиентов или пользователей…

Если вы не можете получить необходимые вам навыки разработчиков…

Выберите Agile-коучей

Если вы не можете нанять на работу нужных вам коучей…

Делегируйте полномочия и ответственность команде

Если работу нужно поручить отдельным людям…

Если корпоративные инструменты не поддерживают командную работу…

Если команды должны использовать корпоративный инструмент отслеживания…

Если у команды нет доступа к стейкхолдерам…

Если команда поставки не управляет своим процессом релиза…

Если команда оптимизации не управляет своими планами создания продукта и расходами…

Измените стиль управления командой

Если менеджеры не могут отпустить ситуацию…

Организуйте рабочие помещения

Если команда удаленная…

Если вы не можете организовать физическое помещение для офисной команды…

Выберите команде подходящую для обучения задачу

Если есть важный дедлайн…

Если нет значимой работы с нуля…

Смените водопадные подходы в управлении

Если требуется водопадная модель управления…

Измените вредные HR-политики

Если HR-политики не подлежат изменению…

Решите проблемы, связанные с безопасностью

Если требования безопасности не допускают гибкости…

Если вам требуется дополнительный этап ревью кода…

Глава 5. Инвестируйте в изменения

Осознание изменений

Масштабные изменения

Процессы изменений

Заручитесь поддержкой руководства

1. Начните с разговора

2. Получите одобрение экономичного покупателя

3. Сделайте официальное предложение

Если это выглядит слишком трудозатратным…

Если руководство считает, что они уже Agile…

Если руководство не поддерживает…

Заинтересуйте команду

Если команда настроена скептически…

Если несколько членов команды против…

Если большинство членов команды против…

Если люди обманывают насчет своего согласия…

Заручитесь поддержкой стейкхолдеров

Если нужны конкретные обязательства…

Если стейкхолдеры не спешат поддержать…

Литература для дополнительного чтения

Глава 6. Масштабирование гибкости

Масштабирование свободного владения навыками

Организационный потенциал

Коучинговый потенциал

Потенциал команды

Масштабирование продуктов и портфелей

Вертикальное масштабирование

Горизонтальное масштабирование

Вертикальное и горизонтальное масштабирование

Моя рекомендация

II. Фокус на ценность

Глава 7. Командная работа

Вся команда

Навыки в сфере деятельности заказчика

Навыки разработки

Навыки коучинга

Специалисты широкого профиля

Комплектование команды

Размер команды

Команда единомышленников

Еще раз о провальной команде

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Командная комната

Секреты сотрудничества

Физические командные комнаты

Виртуальные командные комнаты

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Безопасность

Понятие психологической безопасности

Как создать атмосферу безопасности

Роль лидера

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Цель

Начните с ви́дения

Идентифицируйте цель

Задокументируйте цель

Внесите цель в свой устав

Продвигайте цель

Обновляйте цель

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Контекст

Запишите контекст в устав

Обновляйте контекст

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Согласование

Запишите договоренности в устав

Обновляйте соглашения

Придерживайтесь договоренностей

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Энергичная работа

Как быть энергичным

Поддерживайте энергичную работу

Делайте перерывы

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Глава 8. Планирование

Истории

Как написать историю

Ценность для заказчика

Разделение и объединение историй

Специальные истории

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Адаптивное планирование

Ценные инкременты

Фокус на один инкремент за раз

Разделите инкременты

Делайте частые релизы и как можно раньше

Ваш первый инкремент

Адаптируйте свои планы

Как создать план

Баланс адаптивности и предсказуемости

Адаптивное планирование и организационная культура

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Визуальное планирование

Кто планирует?

Картирование кластеров

Дальнейшая разбивка инкрементов

Карты влияния

Перспективный анализ

Составление карты историй

Обновление визуального плана

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Игра в планирование

Как играть

Держите открытым окно возможностей

Как выиграть в игре в планирование

Приоритизация решений по разработке

Лицом к лицу с реальностью

Повторение игры в планирование

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Вовлечение реального заказчика

Разработка для собственных нужд

Разработка платформ

Внутренняя разработка на заказ

Аутсорсинг разработки

Программное обеспечение для вертикального рынка

Программное обеспечение для горизонтального рынка

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Инкрементные требования

Изменяемый документ с требованиями

Когда эксперты не являются частью команды

Работайте инкрементно

Документация

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Глава 9. Владение

Планирование задач

Рабочий ритм

Создание задач

Визуальное отслеживание

Кросс-командные зависимости

Принятие и выполнение обязательств по итерации

Незаконченные истории

Срочные запросы

Ваша первая неделя

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Потенциал

Вчерашняя погода

Потенциал и временные рамки итерации

Стабилизация потенциала

Оценка историй

Когда оценить трудно

Защита оценки

Ваш начальный потенциал

Как улучшить потенциал

Потенциал – это не производительность

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Резерв времени

Сколько резерва нужно

Как использовать резерв

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Стендап-митинги

Как проводить ежедневные стендапы

Будьте краткими

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Информативное рабочее пространство

Тонкие сигналы

Большие наглядные диаграммы

Диаграммы улучшений

Игры

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Примеры заказчика

Описать

Продемонстрировать

Разработать

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Сделано Сделано

Как быть в статусе «Сделано Сделано»

Находить время

Организационные ограничения

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Глава 10. Ответственность

Доверие стейкхолдеров

Добавьте немного суеты

Проявите эмпатию

Выполняйте обязательства

Управляйте проблемами

Уважайте цели заказчика

Сделайте так, чтобы стейкхолдеры выглядели хорошо

Будьте честны

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Демо для стейкхолдеров

Петли обратной связи

Частота демо

Как проводить демо для стейкхолдеров

Подготовьтесь

Когда дела идут плохо

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Прогнозирование

Неопределенность и риск

Запланированные даты релизов

Прогнозы осуществимости

Прогнозы сроков и объема работы

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Дорожные карты

Agile-руководство

Вариант 1. Только факты

Вариант 2. Общее направление

Вариант 3. Дата и примерный объем работы

Вариант 4. Детальные планы и прогнозы

Корпоративные системы отслеживания

Когда дорожная карта недостаточно хороша

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Менеджмент

Теория X и теория Y

Роль руководителя в Agile

Дисфункция измерений

Почему дисфункция измерений неизбежна

Делегируемое управление

Когда показатели необходимы

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Глава 11. Совершенствование

Ретроспективы

Виды ретроспектив

Как проводить пульсирующие ретроспективы

Шаг 1. Первая директива (5 минут)

Шаг 2. Мозговой штурм (20 минут)

Шаг 3. Безмолвное сопоставление (15 минут)

Шаг 4. Генерация идей (инсайтов) (10–30 минут)

Шаг 5. Цель ретроспективы (10–20 минут)

Довести дело до конца

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Динамики команды

Что формирует команду

Развитие команды

Коммуникация, сотрудничество и взаимодействие

Совместное лидерство

Токсичное поведение

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Устранение препятствий

Выявление препятствий

Круги и суп

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

III. Надежная поставка

Глава 12. Сотрудничество

Коллективное владение кодом

Как заставить коллективное владение работать

Программирование без эго

Сотрудничество без конфликтов

Работа с незнакомым кодом

Преимущества для программистов

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Парное программирование

Почему парное?

Рабочие станции для парного программирования

Как работать в паре

Эффективная навигация

Обучение при работе в паре

Трудности

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Групповое программирование

Как работать в групповом программировании

Почему групповое программирование работает

Рабочая станция для группового программирования

Как заставить режим группового программирования работать

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Единый язык

Дилемма экспертных знаний в предметной области

Говорить на одном языке

Как создать единый язык

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Глава 13. Разработка

Нулевое трение

Обратная связь за секунду

Знайте свой редактор

Воспроизводимые сборки

Пятиминутная интеграция

Контролировать сложность

Автоматизировать все

Автоматизируйте инкрементно

Автоматизация устаревшего кода

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Непрерывная интеграция

Непрерывная интеграция – это практика, а не инструмент

Множество разновидностей непрерывной интеграции

Танец непрерывной интеграции

Непрерывная интеграция без CI-сервера

Синхронная или асинхронная интеграция

Многоступенчатые интеграционные сборки

Запросы на слияние кодов (пул-реквесты) и ревью кода

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Разработка через тестирование

Почему TDD работает

Как использовать TDD

Ешьте луковицу с середины

Пример TDD

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Быстрые надежные тесты

Использование узких модульных тестов

Тестирование внешних взаимодействий с помощью узких интеграционных тестов

Моделирование нелокальных зависимостей

Контроль глобального состояния

Написание коммуникативных тестов

Разделение инфраструктуры и логики

Применение широких тестов только в качестве страховочной сетки

Добавление тестов к существующему коду

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Рефакторинг

Как делать рефакторинг

Рефакторинг в действии

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Спайк-решения

Простые вопросы

Сторонние зависимости

Дизайн-эксперименты

Найдите время для спайков

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Глава 14. Дизайн

Инкрементный дизайн

Никогда не останавливайте работу над дизайном

Как работает инкрементный дизайн

Уровни дизайна

Архитектура на основе рисков

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Простой дизайн

Вам это не понадобится (YAGNI: You Aren’t Gonna Need It)

Однажды и только однажды

Связанность и сплоченность

Сторонние компоненты

Быстрое завершение с ошибкой

Самодокументируемый код

Опубликованные интерфейсы

Оптимизация производительности

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Рефлексивный дизайн

Как работает рефлексивный дизайн

Рефлексивный дизайн на практике

Реверс-инжиниринг дизайна

Определение улучшений

Проблемный код

Выполняйте рефакторинг инкрементно

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Глава 15. DevOps

Сборка для эксплуатации

Моделирование угроз

Конфигурация

Секреты

Параноидальная телеметрия

Ведение журнала событий

Показатели и пригодность к наблюдению

Мониторинг и оповещения

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Флаги функций

Замковый камень

Флаги функций

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Непрерывное развертывание

Как использовать непрерывное развертывание

Обнаружение сбоев развертывания

Устранение сбоев развертывания

Инкрементные релизы

Миграция данных

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Эволюционная системная архитектура

Вам действительно это понадобится?

Нацеленность на простоту

Контроль сложности

Рефакторинг системной архитектуры

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

Глава 16. Качество

Без багов

Не ищите виноватого в багах

Как встроить качество

Исправляйте баги незамедлительно

Роль тестировщика

Правильное мироощущение

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Обнаружение слепых зон

Подтвержденное знание

Исследовательское тестирование

Хаос-инжиниринг

Тестирование на проникновение и оценка уязвимостей

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Анализ инцидентов

Природа сбоя

Проведение анализа

Обучение организации

Ответственность за инциденты

Вопросы

Предварительные требования

Показатели

Альтернативы и эксперименты

Литература для дополнительного чтения

IV. Оптимизация результатов

Глава 17. Автономность

Экспертные знания в области заказчика

Бизнес-решения

Ответственность и надзор

Финансирование

Эксперименты и литература для дополнительного чтения

Глава 18. Открытия

Подтвержденное знание

Способность к адаптации

Эксперименты и литература для дополнительного чтения

Глава 19. Взгляд в будущее

Библиография

Об авторе

Отрывок из книги

Автор «Искусства Agile-разработки» смог совершить, казалось бы, невозможное, собрав все материалы по обширнейшей теме разработки современного программного обеспечения в понятную и увлекательную книгу. Новички, лишь начинающие изучать итеративные процессы, найдут в ней отличный обзор популярных практик. Людям, заблудившимся в дебрях мудреных процессов «масштабизации Agile», она предлагает хорошие идеи выхода из этого ада. Первое издание оказало огромное влияние на мою карьеру два десятилетия назад, и, уверен, второе издание аналогичным образом поможет миллионам разработчиков улучшить свои методы поставки ПО.

Гойко Аджич, автор книг Running Serverless, Impact Mapping и Specification by Example

.....

Решая, кого нанять, лучше игнорируйте бесчисленные схемы сертификации Agile. Многие из них – пустая трата денег. Большинство просто в течение нескольких дней переливают из пустого в порожнее, читая лекции «капитана Очевидность». Другие если даже и считаются отличными обучающими программами, то лишь благодаря конкретному преподавателю, а не самой сертификации. Поэтому оценивайте курсы независимо от сертификации, которую они рекламируют. Это относится и к найму консультантов и коучей. Попросите свою сеть контактов предоставить рекомендации, просмотрите общедоступные материалы, изучите отзывы.

Начав применять практики из этой книги, вы, вероятно, столкнетесь со специфическими проблемами и задачами. Найдите наставника, к которому сможете обратиться с вопросами. Эта услуга не обязательно должна быть платной: уважаемый коллега из компании, проходившей через подобное, местное сообщество пользователей, интернет-форум – все это будет подходящими вариантами.

.....

Добавление нового отзыва

Комментарий Поле, отмеченное звёздочкой  — обязательно к заполнению

Отзывы и комментарии читателей

Нет рецензий. Будьте первым, кто напишет рецензию на книгу Искусство Agile-разработки. Теория и практика гибкой разработки ПО
Подняться наверх