Базовые Agile практики встраивания качества
Встраивание качества — это множество практик, обеспечивающих соответствие результатов работы Agile-команд стандартам качества на протяжении всего процесса создания ценности для клиентов.
Как говорил Эдвардс Деминг: «Проверка не улучшает качество и не гарантирует его. Стадия проверки – это уже очень поздно. Качество, хорошее или плохое, уже заложено в продукт. Качество продукта или услуги не должно проверяться; оно должно быть в него встроено.»
В этой статье мы рассмотрели 5 базовых Agile практик обеспечения качества, которые могут быть применены командами, работающими абсолютно в любых областях. Они хорошо себя зарекомендовали на протяжении более чем 20-летнего опыта их использования и могут служить отправной точкой для дальнейшего улучшения качества артефактов, продуктов, систем и услуг.
Сдвиг обучения влево
В процессе разработки команды всегда сталкиваются со многими неизвестными и узнают новую информацию.
Если обучение происходит на поздних этапах разработки, то новые знания могут потребовать внесения изменений в уже практически готовое решение. Это приводит к значительным доработкам и задержкам.
Если обучение происходит намного раньше, то есть смещается влево (Shift Learning Left), то проблемы проявляются раньше, что позволяет предпринять корректирующие действия с минимальными затратами.
Сдвиг обучения влево также оказывает влияние на структуру основных процессов разработки.
Например, подход «Сначала Тестирование» (Test-First) требует ухода от традиционного тестирования. Вместо этого тесты создаются как можно раньше, прежде чем будет реализован желаемый функционал решения. Такой подход способствует сдвигу обучения влево, чтобы оно произошло как можно раньше по времени.
Работа в парах и Обзоры коллегами
Парная работа (Pairing) — это практика, при которой два члена команды совместно работают над одним и тем же элементом в режиме реального времени. Часто один выступает в качестве «водителя», который непосредственно разрабатывает рабочий продукт, в то время как другой выступает в качестве «навигатора», обеспечивая оценку и обратную связь в режиме реального времени. Члены команды часто меняются ролями.
Парная работа позволяет создавать и поддерживать более высокое качество разрабатываемого продукта, так как используются знания, экспертиза и опыт каждого участника. По мере того, как члены команды учатся друг у друга, навыки всей команды растут и расширяются.
Обзор коллегами (Peer Review) — это обзор работы со стороны коллег (внутри одной команды), который помогает выявить проблемы с качеством, поскольку один член команды изучает результат работы другого.
Многие процессы управления, связанные с программным обеспечением, требуют проведения Peer Review для обеспечения регуляторного и прочего соответствия.
Коллективное владение и T-образные навыки
Коллективное владение (Collective Ownership) — это практика, когда члены команды обладают необходимыми навыками и полномочиями для внесения обновлений в любой имеющийся элемент разработки.
Такой подход уменьшает зависимости между командами и позволяет избежать блокировок потока доставки ценности со стороны отдельного сотрудника или команды. Любой член команды может добавлять функциональные возможности, исправлять ошибки, улучшать дизайн или проводить рефакторинг.
Коллективное владение стимулирует согласованность и последовательность, так как каждому участнику процесса необходимо понимать и поддерживать качество всех разрабатываемых компонентов.
Коллективное владение также развивает сотрудников с «Т-образными навыками», когда члены команды имеют глубокую экспертизу в одной области, но одновременно
обладают широкими навыками в других областях.
Стандарты артефактов и Определение Выполненности
Решения, создаваемые и обслуживаемые организацией, должны соответствовать стандартам, которые обеспечивают их ценность для бизнеса. Эти стандарты отражают, как артефакты должны создаваться или какими конкретными свойствами они должны обладать.
Стандарты часто уникальны для каждой организации и контекста решения, формируются постепенно, часто проверяются и корректируются несколькими циклами обратной связи.
Чтобы продуктивно поддерживать стандарты артефактов, команды должны понимать их целесообразность. Для этого часто применяется «Определение Выполненности» (Definition of Done, DoD). Эта практика помогает определить, что понимается под утверждением «работа над продуктом завершена и соответствует установленным требованиям».
Для каждой команды, поезда и предприятия необходимо разрабатывать «Определение Выполненности» разных масштабов, которое соответствует их специфике
и потребностям.
Автоматизация рабочего процесса
Рабочий процесс может состоять из множества неавтоматизированных шагов, которые подвержены человеческим ошибкам и вызывают задержки в процессе.
Автоматизация таких «ручных» шагов позволяет снизить затраты на выполнение работы и обеспечить неотъемлемое соблюдение стандартов.
Инкрементальный подход к выполнению работы также помогает автоматизации и оптимизации рабочего процесса. В качестве первого шага организации обычно начинают применять Канбан системы и фиксировать шаги и действия, которые затем подлежат автоматизации.
Канбан системы позволяют «вытягивать» элемент работы. При таком подходе работник сразу видит доступную ему работу с учетом оптимизации достижения бизнес-результата. Таким образом, взятие работы в исполнение происходит автоматически и не требует накладных расходов на ручные коммуникации, чтобы узнать ситуацию, принять
и формализовать поручения.