SCRUM is great: you don't have to measure quality and the Product Owner is a scapegoat for all epic failures.
Написал в одном нехорошем месте. Перенесу сюда, чтоб было.
Программисты, воспевающие скрам напоминают проституток, агитирующих за свой образ жизни.
Первым делом, scram - это не agile. Это процесс, практически религиозный культ, а про процессы написано в первой строчке Agile Manifesto (той, что сразу после введения).
Scrum - это Эффективный Менеджмент™ во всей своей красе. Вместе с полным незнанием предмета, полным непониманием накопленного человечеством опыта, высосанными из пальца доказательствами и совершенно неправильным использованием слов.
Любая скрам-команда, если этот бардак не прекратить, достаточно быстро выходит на безотходный цикл. То есть, они производят баги и идиотизмы со скоростью большей, чем потребна для их исправления. (В это время менеджер начинает кричать, что народ зашивается и проект горит, если ему не купят ещё десяток-другой душ. Ему их дают. Потом дают ещё. А потом он идёт на повышение.)
Как же насчёт удивительных побед, выполненых по этой методологии?
Чудес я не исключаю, но в них не верю. Помнится, как-то в фирме с красивыми сертификатами ISO, CMMI и кучей всяких других выяснил, что то, что у них спецификацией называется, на самом деле куча мусора, который никто не использует, а вся информация идёт по мейлу. Но на бумаге всё красиво.
Также и со scrum-победами: Немного поскребёшь позолоту и выясняется, что внутри или совсем не scrum, или совсем не успех.
Ещё интересно, что при всей управляемости scrum-проекты невозможно планировать. То есть, пообещать релиз софтостроители смогут, но вот, что в него попадёт на самом деле, это уже никто предсказать не в состоянии. Не в смысле очередной итерации, а в глобоальном смысле приближения к безбаговому софту, выполняющему нужные клиенту функции.
В нормальной системе, даже та, которая agile (правда, не первого уровня, а третьего) всё вовремя просчитывается и вместо «Вот релиз - жрите» у клиента и менеджмента есть достаточно точная система, предсказывающая, когда что получится, и что нужно сделать, чтобы сделать быстрее или качественнее.
Если немного отойти от мест с вебом и Эффективным Менеджментом™, в таких условиях даже можно поработать.
Scrum-посиделки типа стендап митингов и прочих игр тоже отличаются от того, что просиходит там, где есть чёткие техзадания, распределение ролей и план, за выполнение которых можно спросить по всей строгости. В данном же случае люди собираются в основном, чтобы покрасоваться перед коллегами. Все куда-то бегут, чего-то ваяют, но общий смысл у всего процесса в целом редко когда присутствует.
В остальное время программисты заняты тупым кодонабиванием. Конечно, если думать, такой режим не вынести. Зато спокойно можно копипастить из Гугла с перерывами на стендапы и прочую ерунду.
Ещё проповедники scrum любят «доказывать» правильность своей религии сравнением со спортом, рассказывая о командах, заменимости игроков на поле, и приводя в примеры звёзд высшей лиги.
Если бы проповедники scrum, рассказывающие сказки о командной работе, читали книжки, он бы знали, что программирование - это не спорт и не конвейер. Это умственная деятельность. И человек - не слабое звено, которое нужно и возможно заменить процессом, а единственный и основной элемент процесса производства.
Впрочем, Эффективный Менеджмент™ в это не верит и дальше изыскивает способы заменить специалистов на толпы посудомоек или обезьянок.
Первым делом, основная задача спортивных игр - это не произвести что-то, а совершить некое бесполезное действие, например закатить на виду у всех в ворота мячик.
Дело не в том, что работа совершенно не интеллектуальная. Гораздо интереснее для рассмотрения то, что результат всегда в конечном итоге бесполезен. Лежит мячик в воротах или не лежит, от этого банк не разорится и поезд с рельс не сойдёт. Вся беготня по полю даёт в результате только фиктивные очки в виртуальном мире. Короче, чистый выпендрёжь.
Программисты создают новую реальность. Что создают футболисты? Даже цифры на табло за них другие люди переставляют.
Но, даже, в этом случае scrum - это не командная работа. Потому я и упомянул дружный коллектив борделя. (Вот где работа чисто по скраму, маман за Product Owner, а вышибалы за Scrum Master, ну и так далее, только менее формально. Надо, впрочем, спросить у специалистов. )
Команда - это совсем другое.
Взять хотя-бы этот несчастный футбол. "Собрались - погоняли мяч" - это уровень дворовой компании. Всё, что чуть серьёзнее работает по другим принципам.
Во-первых, тренер, имеющий практически диктаторские полномочия, разрабатывающий СТРАТЕГИЮ, выясняющий слабые стороны противников, планирующий как это использовать и составляющий для футболистов план тренировок.
Во-вторых, футболистам платят не за то, чтобы они раз в квартал мячик попинали. Их работа - это каждодневные изматывающие тренировки. Они работают над собой, до автоматизма заучивая необходимые навыки. Выполняют программу, заданную тренером. Даже с питанием руководствуются чёткими рекомендациями.
И отрабатывают приёмы командной работы.
"Дал пас - передал дальше - ударил и забил" - это не подарок свыше, как учат нас проповедники сказочных методов. Это результат стратегической разработки тренера, доведение этой стратегии до каждого исполнителя, полное осознание своих задач и действий партнёров, плюс методическое заучивание всех элементов вплоть до системы сигналов, способных работать в стрессовых условиях реального матча.
В каком месте то, что называется scrum похоже на такую командную работу?