Как agile разрушает организации и делает все одинаковым
«Гибкая разработка» — это еще один способ сказать: «У нас нет плана»?
— Аноним
Когда Agile реализуется плохо или без должного соответствия культуре и целям организации, Agile может привести к однородности процессов и разрушить устоявшиеся структуры, что потенциально может вызвать проблемы для некоторых компаний. Очень важно тщательно адаптировать Agile-практики к уникальным потребностям организации.
Время занятости и время простоя
Мне кажется, что Agile изначально создан для того, чтобы все были одинаково заняты или чтобы некоторые из непродуктивных участников были более продуктивными.
Это может быть хорошо, когда мы хотим просто использовать силы, но отличные идеи и время для создания потрясающих вещей приходят в периоды глубокого затишья.
Проще говоря, не всегда хорошо быть занятым.
Оценка программного обеспечения
В Agile методы оценки неверны (как и почти в любой другой форме оценки программных проектов). Однако в Agile этот недостаток задокументирован гораздо больше.
Микроменеджмент
Agile поощряет уровень микроменеджмента по умолчанию, проводя множество встреч, чтобы обсудить, где именно что происходит, но также отнимает драгоценное время, которое можно было бы потратить на работу над задачами.
это, в свою очередь, создает более высокий базовый уровень стресса для всех, поэтому поощрение их к работе, что может работать для определенных типов личности, не идеально подходит для всех.
Если вы знаете, что делаете, вам не нужно подтверждать это дважды в день, а затем говорить об этом раз в две недели.
Не доверяйте всему, что началось с манифеста
Для меня это скорее философская эвристика. Я вообще не доверяю многим вещам, которые исходят из каких-либо манифестов. В этом случае я могу ошибаться, но мне хотелось бы проявить осторожность.
Agile на земле Legacy
Честно говоря, этот подраздел мог бы быть отдельной статьей, и если он будет популярен, я напишу более подробную, но сейчас вот несколько причин, почему Agile не подходит для устаревших систем:
- Устаревший код. Устаревшие системы часто имеют устаревшую архитектуру, тесно связанные компоненты и спагетти-код, что затрудняет реализацию частых изменений и итераций, как поощряет Agile. База кода может быть не структурирована таким образом, чтобы обеспечить простой рефакторинг и гибкие методы разработки.
- Сопротивление изменениям. Команды, работающие над устаревшими системами, могут сопротивляться изменениям, поскольку они поддерживают систему и исправляют ее в течение длительного времени. Могут возникнуть опасения, что внедрение Agile-практик нарушит стабильность системы или приведет к неожиданным проблемам.
- Ограниченное тестирование и автоматизация. В устаревших системах может отсутствовать комплексное автоматизированное тестирование и конвейеры непрерывной интеграции/непрерывного развертывания (CI/CD). Agile во многом зависит от автоматического тестирования и частого развертывания, что может быть сложно реализовать в такой среде.
- Неясные требования. Устаревшие системы могут не иметь четко документированных требований или могут развиваться с течением времени без надлежащей документации. Agile работает лучше всего, когда есть четкое понимание нужд и требований клиентов, которого может не хватать в устаревших средах.
- Ограничения ресурсов. Устаревшие системы часто требуют специальных знаний и навыков для обслуживания и улучшения. Найти подходящих людей, обладающих опытом работы с этими системами, может быть непросто, и это может помешать формированию Agile-команд с необходимым набором навыков.
- Технический долг. Устаревшие системы часто со временем накапливают технический долг, который включает в себя устаревшие библиотеки, уязвимости безопасности и другие проблемы. Решение технического долга может занять много времени и может не соответствовать быстро меняющемуся характеру Agile-разработки.
- Заинтересованные стороны: Заинтересованные стороны могут иметь разные ожидания относительно того, как изменения должны быть реализованы в устаревшей системе. Они могут предпочесть более консервативный подход, не склонный к риску, который может противоречить итеративному и экспериментальному характеру Agile.
- Проблемы регулирования. В некоторых отраслях устаревшие системы подчиняются строгим нормативным требованиям и требованиям соответствия. Внедрение практик Agile может потребовать учета этих ограничений, которые могут ограничить гибкость Agile.
Заключительные мысли: Agile работает?
Мне кажется, что Agile лучше всего работает для коротких проектов с нуля с относительно известными или ясными результатами. Мы пытались использовать его для всего, что связано с программным обеспечением, и он явно не работал так, как продается.
Каждая организация, реализовавшая это, в значительной степени находится на пути к скучной и скучной монокультуре.
В заключение
Надеюсь, вам понравился этот пост! Если вы это сделали и хотите увидеть больше, попробуйте присоединиться к Medium или подписаться на меня по ссылке ниже: