В 2001 году группа технологов и программистов, которые делились диковинными теориями о том, как следует управлять разработкой программного обеспечения, встретились на горнолыжном курорте Сноуберд, чтобы воплотить некоторые из этих концепций в письменной форме.
Так родился «Аджайл-манифест» — это обманчиво простой документ, призванный переопределить догму разработки программного обеспечения.
Разработка программного обеспечения в стиле Agile стала новым стандартом организации работы программистов в организации.
Такие компании, как Фейсбук , Амазонка , Яблоко , Google И Нетфликс выстроили свои внутренние процессы развития в соответствии с основными положениями настоящего манифеста.
Учитывая огромный размер Agile и его общественный резонанс среди его сторонников, легко увидеть, что Agile является самой влиятельной средой разработки программного обеспечения, когда-либо формализованной.
Однако Agile — это идеология.
Нормативная система ценностей и убеждений, практически до мозга костей поглощенная бизнесом разработки программного обеспечения.
Таким образом, индустрия программного обеспечения сегодня предоставляет интересную возможность оценить, насколько номинальные цели идеологии согласуются с ее реализацией на практике.
По сути, Agile был бунтом против корпоративного доминирования в разработке программного обеспечения.
Впервые было признано, что разработка программного обеспечения — сложный и зачастую загадочный процесс, который необходимо защищать от корпоративной бюрократии.
Изменения, переосмысление, гибкость, динамизм — вот красные нити, проходящие через манифест Agile. Они показали себя бесконечно привлекательными: по словам одно глобальное исследование Около 97% всех организаций в той или иной форме применяют принципы Agile. Благодаря такому широкому распространению Agile добился тотальной номинализации в теории управления разработкой программного обеспечения: сегодня под термином «agile» понимают идеологию, методы работы и даже системы, используемые для разработки программного обеспечения в современной организации.
Agile выходит даже за пределы команд программистов и все чаще применяется в других командах, таких как финансовые или человеческие ресурсы.
Agile, трактованный как универсальная теория управления, оказался чрезвычайно доступным и популярным – несмотря на бедность эмпирические доказательства его эффективности и полезности.
Интересно, что «Манифест Agile» не пытается сформулировать какие-либо конкретные практики, правила, процессы, системы или структуры, которые помогли бы разрабатывать программное обеспечение в стиле Agile. Это неудивительно: ведь Agile-манифест никогда не претендовал на детальное описание того, как достичь целей этого манифеста.
Это кажущееся размывание ничуть не уменьшило популярность Agile: более того, быстрый рост спроса на конкретные методы и инструменты Agile привел к возникновению метаиндустрии, основанной на ресурсах Agile. Этот интерес стимулировал внедрение Agile, проникновение самой идеологии Agile и ее производных в новые отрасли.
Наиболее очевидными примерами являются тщательно определенные методологии Agile (такие как Scrum и Kanban — т. е.
подробные описания процессов, которым необходимо следовать для реализации принципов Agile-манифеста) и специализированные программные платформы, специально разработанные для поддержки Agile-разработки.
Австралийская технологическая компания Atlassian продает ряд таких продуктов, предназначенных для поддержки гибких процессов разработки программного обеспечения; Отдельного упоминания заслуживают Confluence и Jira, они уже стали де-факто стандартами в отрасли.
Для тех, кто не принадлежит к технологическому сообществу, такие продукты кажутся весьма загадочными.
Ряд пояснительных статей появился до того, как Atlassian был зарегистрирован на NASDAQ, и сразу после него.
Целью статей было объяснить, что именно продает Atlassian и почему компания достигла такой высокой рыночной капитализации.
Как и в случае с программными продуктами Atlassian, словарь, описывающий процессы Agile и повседневную практику работы, становится все более непонятным для непосвященных.
Практикующие Agile говорят о спринтах, канбан-досках, диаграммах сгорания, скорости, пользовательских историях, эпопеях и ретроспективах — значение всех этих слов часто меняется в зависимости от контекста, и сами эти термины могут быть связаны с одним или несколькими четко определенными Agile-методами.
методологии.
Стоит ли удивляться, что по мере усложнения методологии Agile увеличивается число специалистов-консультантов, которые помогают во всем этом разобраться.
В распоряжении клиентов Bain & Company около 1000 специалистов Agile. Это, пожалуй, самый надежный индикатор, показывающий, насколько прибыльной стала индустрия Agile-консалтинга.
Однако если манифест Agile так прост, как кажется на первый взгляд, то откуда столько консультантов? Насколько услуги любого из них существенно влияют на качество и эффективность работы типичной технологической компании? Несмотря на словарный запас, специализированные инструменты и колоссальный объем ресурсов, доступных каждому, кто хочет практиковать гибкую разработку программного обеспечения в своей компании, зачастую сложно отследить, насколько точно Agile реализуется на практике, то есть в соответствии с записанным духом и буквой.
авторами в манифесте Agile. Agile-манифест намеренно и неизбежно абстрактен.
Вероятно, это привело к постепенному искажению методологии Agile и, как следствие, всей культуры управления в индустрии программного обеспечения как таковой.
Из, казалось бы, простого фундамента было построено нечто колоссальное — механизм, который сильно разочаровал тех, кто заложил фундамент его первой итерации.
Более того, из-за длительной популярности Agile специалисты, не имеющие формальной Agile-квалификации, стали проигрывать конкуренцию коллегам, якобы профессионально разбирающимся в Agile. Многие карьерные преимущества ждут тех, кто утверждает, что понимает Agilr и знает, как его использовать.
Эта реальность поощряет конформизм и подавляет любые попытки поставить под сомнение доминирование Agile или поставить под сомнение его эффективность.
Нди Хант, один из авторов-основателей Agile-манифеста, жалуется Что из-за абстрактной формулировки оригинального Манифеста возникли и распространились бесконечные правила, используемые вне контекста и предположительно составляющие основу Agile-разработки.
Со временем такие правила кодифицируются в специализированные методологии, которым необходимо бездумно следовать, забывая при этом об изначальных руководящих принципах Манифеста.
Другими словами, идеология Agile оказалась крайне сложной для изучения, усвоения и применения на практике.
Поэтому некоторые персонажи полагаются на жестко определенные правила или эвристики, выдаваемые за Agile, а затем приступают к замене этих правил (часто вырванных из контекста) Agile-практиками, соответствующими целям Манифеста.
В большинстве организаций не происходит постепенного совершенствования процесса разработки; Вместо этого менеджеры впадают в заблуждение, что процесс не допускает изменений, они отказываются шаг за шагом улучшать продукт и норовят ограбить разработчиков по три раза, оперируя при этом в основном канонами, взятыми с потолка и жестко закрепленными.
Организации, которые не могут получить никакой реальной пользы от Agile (а их много), естественным образом тяготеют к отслеживанию реализации какого-либо Agile-процесса, игнорируя при этом более расплывчатые, но и более важные результаты процесса — то есть предоставление рабочее программное обеспечение.
Распространение Scrum и Kanban — это в лучшем случае попытка формализовать и распространить идеологию Agile. В худшем случае все эти методологии — не более чем дополнительная бюрократия, генерирующая все больше и больше необоснованных правил и показателей, которым должны следовать разработчики.
Все это навязывается по причинам, которые зачастую совершенно не подтверждаются эмпирическими данными.
В таких условиях процветают посредственные менеджеры, консультанты, разработчики и даже целые организации: становится легче зацикливаться на номинальных правилах идеологии, и постепенно это оказывается приоритетом над достижением реальных целей.
По сути, в индустрии разработки программного обеспечения существует мания с измерением «входа» и «выхода» Agile на уровне отдельного сотрудника.
Эта мания привела к пренебрежению изначальной этикой Agile, смещению приоритетов в сторону сбора статистики по каждому отдельному сотруднику, тогда как на самом деле необходимо постепенно совершенствовать процессы на уровне всей организации.
Величайшая ирония этого вырождения заключается в том, что первоначальная философия Agile была призвана освободить среднего программиста от тирании микроменеджмента и ненужного бюрократического контроля.
Вместо этого сама суть этой идеологии в ее нынешнем виде уже едва узнаваема для тех, кто ее создал.
В более общем плане судьба Agile как методологии разработки программного обеспечения является горьким примером того, как лаконичная и абстрактная идеология постепенно искажается и искажается по мере роста ее влияния и новых попыток применить ее на практике.
Теги: #agile
-
Любопытство С Высоты Птичьего Полета
19 Oct, 24 -
Таблица Дроидов. Выпуск 8
19 Oct, 24 -
Codota: Использование Ии Для Улучшения Кода
19 Oct, 24