От Agile Manifesto к Communist Manifesto и обратно

Это сезон 100-летия русской революции 1917 года. Давайте сменим тему и поговорим об гибкой разработке программного обеспечения.

Сказка о двух проворных

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

- Чарльз Диккенс

Это была лучшая из методологий, это была худшая из методологий. В ходе интернет-дискуссий наблюдается очень непонятное различие в сообщениях разных людей об опыте разработки программного обеспечения Agile / Scrum в разных компаниях. Кажется, есть два лагеря с диаметрально противоположными переживаниями.

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

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

Хотя все компании разные, оказывается, что есть способ разделить agile-команды ровно на две категории, и вы обнаружите, что эти две категории обеспечивают достаточно точное предсказание того, полюбят ли инженеры Agile в этой системе или нет.

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

Русская революция

Без особой помпы мы подошли к столетию Октябрьской революции, которая произошла 25 октября * 1917 года (* но они использовали неправильный календарь). Это было знаковое событие во всеобъемлющей Русской революции 1917 года. В честь этого исторического события я прочитал русскую революцию. Я настоятельно рекомендую проверить это, даже если только в Википедии. В любом случае, я хотел поделиться некоторыми менее известными подробностями, которые мне показались интересными. Заявление об ограничении ответственности: будьте добры, я больше рецензент, чем историк.

Русская революция была чрезвычайно народным восстанием, вызванным недовольством масс. Некоторые из важнейших факторов были продолжением революции 1905 года. Другие факторы были введены или усилены Первой мировой войной. Недовольство исходило со всех сторон - крестьян, фабричных рабочих и солдат, которые вместе составляли массовое большинство. Многие из их общих жалоб были очень похожи на настроения других революций по всему миру, таких как Французская революция или даже Американская революция, которые произошли более 100 лет назад. Это были идеалы просвещения, обогнавшие страну с небольшой задержкой в ​​пути. А именно, в массах общества развилось ощущение, что правящая монархия на самом деле не делала ничего полезного, но они устанавливали все правила, забирали все вещи и иногда отправляли людей на войну. Это был просто бесполезный класс названной знати - взгляды эпохи Просвещения / революции, вероятно, являются тем местом, где мы получаем негативный оттенок «права» (подразумевая, что «титул», хотя и заявленный, является незаслуженным.) Самодержавие царя Николая рассматривалось как анахроничная бюрократия.

Так что, пожалуй, самый большой вопрос о русской революции заключается в следующем: в какой момент она превратилась из народного восстания в известный нам автократический СССР. Был ли это Сталин? Ленин? Призрак Маркса? Что-то другое?

Когда массы решили, что с них хватит, и свергли самодержавие, Владимир Ленин уже освоил форму ораторского искусства, которая позволила ему проложить себе путь в авангарде движения. Это обычное дело, по крайней мере в Америке, для людей, не обладающих полным взглядом на историю, которые склонны рассматривать Ленина как просто какого-то другого демагога, более раннюю форму Сталина. Это не совсем так. Ленин был искренним идеологическим марксистом, поэтому его критика царя и его лозунги о расширении прав и возможностей и демократии были искренними и созвучными настроениям народа. Ленинские большевики не были самой популярной политической партией, они были достаточно близки - большинство популярных партий были левыми социалистическими / коммунистическими / марксистскими группами, и все они говорили одни и те же вещи. Так что группа Ленина буквально вошла в дверь и забрала правительство, и все увидели в этом улучшение.

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

Я хотел отличить Ленина от Сталина, чтобы я мог точно определить, где, на мой взгляд, СССР действительно превратился в большую плохую бюрократию, которую мы его знаем. Большевики отправили всех сражаться с остальной Европой в Гражданской войне в России и тем временем искали людей, которые помогли бы им управлять этой новой системой правления, которую они якобы создавали. Требования к работе были 1) грамотность 2) все. Они не нашли много кандидатов на работу, поэтому наняли всех старых царских бюрократов. Те же ребята! Это были парни, которых они только что сделали отвратительными, и теперь им пришлось нанять их обратно за зарплату (только что напечатанную).

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

Одна из характерных черт коммунизма в СССР (и в других странах), которую мы знаем, - это то, что они не скрывали этого. Не только коммунизм, но и революция. Коммунистической диктатуре может быть 100 лет, а они все равно будут говорить: «Защитите революцию!» В обычных обстоятельствах этого не происходит. Никто до сих пор не произносит лозунга о революции во Франции или США. Они перестали говорить такие вещи, когда перестали драться. Диктатуры и бюрократия продолжают говорить эти вещи вечно, потому что они никогда не знали и не заботились о том, что они на самом деле имели в виду - они просто переняли язык времени и сосредоточились на продвижении своей карьеры. Они не могут молчать о Революции, потому что это основа их работы. Все это на словах.

Контрреволюция произошла не на полях сражений гражданской войны, а в Кремле внутри самой партии.

Гибкая революция

Это возвращает меня к другой революции. Гибкая революция.

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

Но большинство типов разработки программного обеспечения не были похожи на сборочные конвейеры или даже какие-либо инженерные разработки. Разработка программного обеспечения, особенно в зарождающейся сети, шла методом проб и ошибок. Поэтому некоторые люди, особенно люди с опытом работы в Интернете по контрактам, устали и сказали: «Мы больше этим не занимаемся». Семнадцать разработчиков собрались в Юте и изложили свои новые принципы в Манифесте гибкой разработки программного обеспечения или Agile Manifesto. Четыре основных принципа гибкой разработки:

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

Этот тип гибкой разработки все еще используется сегодня. И людям это нравится. Он позволяет людям создавать программное обеспечение наиболее логичным способом, потому что он не диктует определенный ритуальный набор шагов, которые вы должны предпринять (или не предпринять!). Если вы хотите просто пойти написать код, напишите его. Если передумаете, поменяйте код. С другой стороны, если вам для чего-то нужны большие спецификации, сделайте это. Вы выбираете правила, которые упрощают и ускоряют получение результатов; устранить боль.

Но этот Agile лишил работы многих менеджеров среднего звена, и они не собирались с этим мириться. У менеджеров среднего звена, как и у царских бюрократов, есть определенное чувство собственного достоинства - чувство, что они заслуживают в жизни положения выше остального подонка. Поэтому они решили стать лидерами Agile.

Когда эти менеджеры проектов приходят в проект, их учат начинать с евангельской презентации. На первом слайде они покажут вам четыре принципа Agile, которые я перечислил выше. На следующем слайде они расскажут вам обо всех новых процессах и инструментах, которые вы собираетесь использовать, и обо всех новых встречах по планированию, которые вы собираетесь посещать, а также о том, как вы будете планировать всю работу на целых 3 месяца. заранее, и заставьте вас следить за ним как можно точнее. Для них это лицемерие потеряно.

Теперь эти менеджеры среднего звена изобрели SAFe с более длинным циклом, перемежающимся с ежеквартальным планированием. Это просто Waterfall, за исключением того, что он имеет все расходы и негибкость, но все же запрещает производить что-либо ценное, например, спецификации или чертежи. Вы просто получаете кучу карточек Trello, которые вам нужно будет изменить позже - конечно, вам придется менять их позже, поэтому мы избавились от водопада. Но тогда почему мы пытаемся все спланировать заранее?

Таким образом, в этой версии Agile используется то же управление сборочной линией, что и в старой системе, и ею управляют те же люди, против которых изначально восставали. Это те же ребята! Старая система, выкрикивающая лозунги новой системы. Скрам-мастер теперь является высокооплачиваемой должностью. Вы никому не отчитываетесь и всех контролируете. Требования к работе: 1) грамотность и 2) все. Это проворная контрреволюция.

Одна из характерных черт этой формы Agile заключается в том, что они не скрывают этого. Не только Agile, но и Scrum и SAFe, и все те же лозунги Agile Revolution. Никто не хочет делать ничего похожего на Водопад, и они все еще пытаются убить этого соломенного человечка. В программном обеспечении этого не происходит. Никто не кричит, чтобы убить Флэша. Мы перестали его убивать, когда он умер 5 лет назад. Но бюрократы будут выкрикивать свои лозунги вечно, потому что они никогда не знали и не заботились о том, что они на самом деле имели в виду - они просто переняли жаргон времени и сосредоточились на продвижении своей карьеры. Они не могут перестать кричать об Agile, потому что Agile - оправдание их работы. Все это на словах.

Заключение

Agile намеренно назвал себя «революцией» и использовал такие термины, как «манифест», чтобы создать образ избавления от бесполезной касты общества. Они могли бы назвать это «Agile Enlightenment», но они этого не сделали. Но, как и в случае с политической революцией, одни и те же старики возвращаются снова и снова, иногда под маской самой революции.

Вы узнаете об гибкой контрреволюции по тому, кто считает карты Trello в конце дня. Если разработчик запускает стенд-ап, вы, вероятно, работаете в True Agile. Если вашими собраниями руководит какой-то странный парень, который не является инженером и не имеет никакой другой заинтересованности в проекте, кроме скрама, убегайте. Бюрократы хотят получить всю власть и статус, но не хотят брать на себя ответственность. Они прячутся под другой организационной структурой. Это не гибкость, это не схватка, это просто раздувание; это убьет вашу компанию, и вы возненавидите ее.

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

Да здравствует революция!