agile мёртв (!|?) / Александр Сидоров (Яндекс)

25
Agile мёртв (!|?) Александр Сидоров, PM, Яндекс

Upload: ontico

Post on 16-Apr-2017

595 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Agile мёртв (!|?)Александр Сидоров, PM, Яндекс

Page 2: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Agile is Dead

https://www.linkedin.com/pulse/agile-dead-matthew-kern

Kent Beck, Erik Dietrich, Dave Thomas, Richard Bishop, William Edmonson, Andrew Hunt, Andrew Binstock, Mike Hadlow, Nathan Dintenfass, Garreth Dottin, Kristopher Wilson, …

Page 3: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

the more you try and practice Agile the less agile you become, and vice versa

Stuart Eccles

Page 4: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

original stuff didn't cut it for enterprise class systems

Scott Ambler

Page 5: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

it died of oversimplification, and provides myths

Hayim Makabee

Page 6: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Agile should not have been a management process

Darren

Page 7: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

• продолжать с Agile?• вернуться к RUP, MSF, ГОСТ?• комбинировать?• в методологии ли дело?

Page 8: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Кейсы• формальный RUP• абсолютный Scrum-but• планы, продуктовая работа + Agile без названия

• «самодельный» waterfall vs Agile без названия

• ASD + Agile без названия + IT Kanban

на похожих продуктах

Page 9: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Кейс: формальный RUP• бизнес-требования без пользователей• системные без программистов• архитектура отдельно• задачи по требованиям• календарный план – абстрактный• изменения с пересогласованием• реализация отдельно• тестирование по здравому смыслу• тяжёлое внедрение

Page 10: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Результат• продукт, включаемый на день к приезду проверяющего

• не то, медленно, некачественно• плохое взаимодействие между людьми, болезненные изменения• нельзя согласовать изменения для интеграции своих же продуктов

Page 11: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Кейс: абсолютный Scrum-but - процесс• product owner без связи с пользователями и предметной области• постоянные изменения концепции• масса работы насмарку• ритуалы Scrum – четверть времени• velocity – желаемое за действительное• лишь бы продемонстрировать• кроссфункциональность до абсурда• концептуально разные продукты в программе

Page 12: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Результат• ни один продукт не доделали – у инвестора лопнуло терпение

• что такое готово, когда будет и сколько ресурсов ещё потребует – непонятно• очень плохая продуктовая работа• выгорание, текучка

Page 13: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Кейс: планы, продукт, Agile без названия• каждый релиз – с планами, оценками, архитектурой, но они гибкие

• аналитик общается с пользователями• решения придумывает вместе с архитектором• архитектор – тимлид и пишет код• с PM’ом и директором – задачи, сроки, ресурсы

• координация между группами• планёрки по группам• стендапы – под запись, доделывать, сразу за много не браться

Page 14: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Результат• работающая система, сама себя продаёт, приносит прибыль• работать приятно

Page 15: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Кейс: самодельный waterfall vs Agile без названия

• несколько проектов в одной продуктовой программе• внедрение формального waterfall-like с

артефактами из RUP’а• 1 PM согласился, 1 отказался 4 комбинировали

Page 16: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Только waterfall+=• не успевали внедрять новые компоненты• не перешли на новую кодовую базу• делали сложные ненужные функции• в несколько раз превысили сроки• конфликты в команде

• выпустили, но остались без премий

Page 17: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Только Agile• игнорировали продуктовые требования, «мы лучше знаем, что

нужно пользователям»*• не смогли сделать общую концепцию для управления

остальными продуктами• ошибки, так себе документация

• получился набор инструментов для админа-гика• сделали продукт при другом PM’е :(

* - the more you try and practice Agile…

Page 18: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Комбинация• «второстепенные» продукты лучше главных• в командах всё хорошо

Page 19: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Белые пятна Agile-методологийсроки, ресурсы, каналы сбыта, бюджетиллюзия достаточной продуктовой работы отрицание долговременного проектирования и планирования*эргономика, графический дизайн, тестирование*multitasking, multimanagement, GTD * - не во всех

Page 20: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Когда дело не в Agile• новый начальник внедряет Scrum по книжке• никто ничего не знает о пользователях• хотфикс блокера – в следующий спринт• кроссфункциональность любой ценой• тех. долг, или рефакторинг не user story• вера, фанатизм, ритуалы, культ карго• штраф за опоздание на стендап• кое-как для демонстрации• мнение большинства

Page 21: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

ASD + Agile без названия + IT Kanban• ASD на уровне всего проекта• Scrum-but на уровне рабочих групп до 10 чел. и

1-2 нед.• IT Kanban на уровне отдельных задач и

сотрудников• продуктовая работа с пользователями,

правдоподобным прототипом, эргономикой• руководитель договаривается, обеспечивает,

решает проблемы

ASD

Agile

IT Kanban

Page 22: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Adaptive Software Development-like на уровне всего проекта4-6 итераций по 4-6 нед. до полезного релиза

фокус на состоянии продукта, не процессе

Agile без названия: группы до 10 чел., итерации 1-2 нед.спринты, стендапы, планирование, velocity

продуктовая работа – в основном на след. релиз, небольшая часть – на след. спринт

IT Kanban: доска с задачами, правила multitasking’а, multimanagement’а

концепция, ТЗ, архитектура, план

покодировали все части,оценили, скорректировали

целое с заглушками для сложных функций на машине разработчика

2 нед.

сложные функции проработаны

стабильность, производительность

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

Page 23: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Исключения• поддержка существующей системы• внедрение на готовой платформе

когда пользователь действительно не знает, что нужно

• самый первый прототип

Page 24: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Спасибо!Комментарии, вопросы?

[email protected]

Page 25: Agile мёртв (!|?) / Александр Сидоров (Яндекс)

Подробнее• ASD: Adaptive Software Development: A Collaborative Approach to

Managing Complex Systems, James A. Highsmith

• продуктовая работа: Inspired: How To Create Products Customers Love, Marty Cagan