Microsoft

Внедрение культуры Agile

За последнее десятилетие стало очевидно, что нет одного универсального решения для внедрения Agile. Каждая организация имеет свои потребности и ограничения, поэтому использовать “готовые рецепты” не получится.

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

В статье мы рассказываем об основных элементах, которые нужны для создания Agile-культуры. Рекомендации важно адаптировать под конкретные условия, а не просто копировать.
Bank Respublika

Культура доставки


Питер Провост из Microsoft сказал: "Вы не можете обмануть доставку". Эта мысль важна для Agile-культуры. Он подразумевает, что доставка программного обеспечения помогает понять вещи, которые не осознаешь, если не отправляешь продукт.

Люди склонны откладывать задачи до последнего момента, особенно в разработке ПО. Команды часто не задумываются о настройках и обновлениях, пока это не станет необходимым, что приводит к накоплению технического долга. Доставка требует, чтобы все эти долги были решены.

Чтобы развить Agile-культуру, начните с попыток завершать продукт в конце каждого спринта. Это может быть сложно, но команды быстро увидят, что нужно сделать, и поймут, что у них есть недоработки.

Работоспособные команды


Нет рецепта для идеальной команды Agile. Однако некоторые ключевые характеристики значительно упрощают достижение успеха.

Распределенные команды


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

Сохранение команд без изменений в течение разумного периода времени


Позвольте командам вместе развивать навыки программирования. Когда команды сталкиваются с проблемами, их взаимопонимание страдает. Иногда перераспределение команд может быть необходимо, но команды обычно работают лучше, когда у них есть время, чтобы научиться работать совместно. Важно оставлять команды неизменными хотя бы 12 месяцев.

Работа с балансировкой нагрузки, а не людей

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

Когда вы забираете человека из команды, это разрывает обе группы и может разочаровать сотрудника, даже если временно. Это негативно сказывается на производительности и не помогает вернуть команды к их графику.

Лучше сосредоточиться на балансировке рабочей нагрузки и поддержке уже сформированных команд. Это позволяет нам работать в плоскости приоритетов.

Пусть команды имеют собственные области функций, а не слои архитектуры


Создавайте вертикальные команды, которые имеют свои области функциональности. Эти команды отвечают за все шаги, необходимые для добавления функций, включая работу с базами данных и интерфейсом. Они обеспечивают полный контроль над пользовательским опытом.

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

Когда команды начинают свою Agile-трансформацию, важно помнить несколько принципов. Нет универсального решения для всех организаций. Agile-трансформация — это процесс. Вносите изменения и учитесь на опыте. Со временем организация будет развивать свой уникальный язык Agile-культуры.
Источник: learn.microsoft.com