Как в Cloud.ru оценивали и оптимизировали процессы тестирования по TMMi в Agile-командах |
15.02.2024 00:00 |
Всем привет! На связи снова Петрова Марина — QA Lead в Сloud.ru. Сегодня поделюсь опытом оценки и оптимизации процессов тестирования с помощью модели зрелости TMMi. Наша команда использует TMMi с третьего квартала 2022 года: за это время мы не раз оценили процессы и адаптировали модель для команд, которые работают в Agile-парадигме, но обо всем по порядку. «В сущности, все модели неправильны, но некоторые полезны» — Джордж Бокс, британский статистик Выбор модели зрелости процессов тестированияПочему мы решили оценить процессы тестирования? По мере роста компании росло и количество команд, отвечающих за обеспечение качества. При этом все они работали обособленно, процессы в каждой команде были построены по-своему. Пришло время обменяться опытом, найти успешные практики и стандартизировать процессы. Любые процессы требуют управления, а для эффективного управления необходимы метрики. Поэтому в корпоративном QA-сообществе задались вопросами: какие процессы, направленные на обеспечение качества, обязательно должны быть при разработке IT-продукта? Как количественно оценить процессы тестирования в командах? Какие практики нужно внедрить для улучшения процессов качества? С какой периодичностью выполнять переоценку? Очевидно — ответить на них помогла бы модель зрелости процессов тестирования. Поэтому первым делом мы заглянули в материалы по ISTQB для руководителей. В разделе «Улучшение процесса тестирования» было перечислено несколько моделей оценки процессов:
Из них мы выбрали TMMi. Почему? Во-первых, эта модель опирается на CMMI (Capability Maturity Model Integration) — популярный и уже практически классический инструмент для оценки и улучшения процессов в области разработки программного обеспечения и управления проектами. Во-вторых, эффективность оценки по TMMi подтверждают результаты исследований: Отчет TMMi об исследовании 2021, Всемирный опрос пользователей TMMi 2023. В-третьих — только у TMMi была исчерпывающая документация с рекомендациями и примерами по применению. Расскажу, в чем основная суть модели TMMi и самой оценки. Особенности модели TMMiМодель состоит из пяти уровней, каждый из которых одновременно отражает степень зрелости команды и эволюционный путь к улучшению процесса тестирования. Уровням зрелости также соответствует несколько процессных областей. Перед оценкой команда выбирает, на каком уровне зрелости хочет себя оценить. Уровень 1: Начальный На первом уровне нет процессных областей т. к. тестирование является хаотичным процессом. Тестирование показывает, что программное обеспечение работает без серьезных сбоев, но качество продукта, чаще всего, не соответствует ожиданиям (сервис работает медленно и нестабильно, неудобен для пользователя). Уровень 2: Управляемый На этом уровне уже есть стратегия, команда способна оценивать риски и управлять ими. Однако, в жизненном цикле разработки тестирование начинается относительно поздно — на этапе кодирования или после него, страдает качество продукта. Цель команды — убедиться, что продукт соответствует базовым требованиям, а фокус — на функциональном тестировании. Процессные области второго уровня:
Уровень 3: Определяемый Тестирование становится систематическим и последовательным процессом, который полностью интегрирован в жизненный цикл разработки. В компании зафиксирован набор стандартных процессов, проводится нефункциональное тестирование. Улучшение процессов тестирования — неотъемлемая часть общей практики в компании. Процессные области третьего уровня:
Уровень 4: Измеряемый На этом этапе тестирование уже имеет конкретные цели. У команды есть метрики для оценки качества, производительности и мониторинга улучшений. Они зафиксированы на уровне организации и помогают измерить качество продукта на каждом этапе жизненного цикла. Фокус на повышении эффективности и результативности. Процессные области четвертого уровня:
Уровень 5: Оптимизационный На этом этапе происходит непрерывное улучшение процессов тестирования. Эффективность растет благодаря технологическим нововведениям и поэтапному внедрению инновационных процессов. Тестированию характерны управляемость, измеримость, результативность, эффективность и предсказуемость. Процессные области пятого уровня:
Как же оценить, соответствует команда выбранному уровню зрелости или нет? По методологии в каждой процессной области содержится несколько целей, а также практики, которые команда выполняет для достижения этих целей. Чтобы определить уровень зрелости процессной области, нужно оценить выполнение этих практик. Для этого в методологии есть критерии и шкала оценки. Таким образом, общая оценка зрелости команды складывается из результатов оценок практик и целей по всем процессным областям. Еще одна особенность модели: вспомогательные практики и примеры рабочих артефактов, которые появляются в результате выполнения основных практик. Вспомогательные практики — это подробное описание процессов конкретной практики, которое помогает команде интерпретировать и реализовать ее. Однако при выборе любых инструментов и процессов важно соизмерять, насколько они соответствуют потребностям и бизнес-целям компании. Подготовка к оценке по TMMiПосле выбора модели нам предстояло подготовиться к самой оценке. Мы планировали оценить, во всех ли командах процессы соответствуют второму уровню зрелости — управляемому. Процесс подготовки состоял из двух этапов:
Изучение методологии оценкиЧтобы правильно и эффективно провести оценку, сначала мы погрузились в теорию. Основную часть материалов нашли на официальном сайте TMMi, но использовали и другие источники. Познакомились с материалами на английском и русском языках:
Авторы TMMI выделяют два формата оценивания: формальный и неформальный. Провести формальную оценку и официально присвоить компании уровень зрелости могут только аккредитованные специалисты. Неформальную оценку может провести как внешний, так и внутренний эксперт в области тестирования — в этом случае уровень TMMi присваивается неофициально.
Можно проверить, соответствуют ли команды второму и третьему уровню зрелости. Шкала оценивания имеет всего 3-варианта: да, частично и нет. Также инструмент автоматически генерирует рекомендации по улучшению процессов. По опыту: результаты быстрой оценки показывают завышенный уровень в сравнении с полной оценкой. Если у вас есть время и возможность, лучше проводить полную оценку, а быструю можно использовать для ознакомления или вовлечения в процесс коллег и руководства. В наших командах мы решили проводить неформальную полную оценку. Для этого запустили опрос по матрице оценки, чтобы понять, хватает ли нашим QA компетенций для самооценки. По итогу обнаружили пробелы в области работы с рисками и инициировали внешнее корпоративное обучение. Также нам предстояло самостоятельно адаптировать критерии модели под Agile-процессы. Адаптация критериев оценки для Agile-командНа этом этапе нужно было подобрать параметры оценивания для второго уровня зрелости, определить критерии успеха по каждой практике и рассчитать формулы для вычисления оценок TMMi-целей. В эталонной модели TMMi описаны цели и практики, часть которых неприменимы для Agile-команд. Нужно было адаптировать критерии с учетом особенностей гибких методологий: итеративность, коллективная работа, быстрые изменения требований. При адаптации критериев опирались на TMMi-in-the-Agile-world-V1.4, а также те практики и инструменты, которые уже были в Cloud.ru. Из-за изменчивости требований и сложности подготовки конкретного плана и графика тестирования, больше всего изменений мы внесли в критерии процессной области Планирование тестирования. Также учли требования в виде User Story, DoD (Definition of Done) и Acceptance-критериев. Некоторые практики мы полностью исключили из оценки, поскольку они не несут ценности в контексте гибкой разработки. Несмотря на явное указание в TMMi-in-the-Agile-world-V1.4, что критерии начала тестирования не подходят для оценки гибкой разработки, мы все равно включили их в оценку. Для нас они не что иное, как Quality Gates. Оценивать, анализировать и хранить результаты договорились в Excel. В итоге получилась таблица с двумя листами: Критерии оценки и Шаблон оценки. На листе Критерии оценки для всех участников процесса мы зафиксировали правила оценки и расчета уровня зрелости TMMi: На листе Шаблон оценки вносили сами результаты. Он содержит следующие столбцы:
Наш шаблон можно брать за основу и адаптировать его. В таблице нет конкретных критериев оценивания — лучше рассчитывать их с учетом особенностей конкретной команды, а иногда и отдельно для конкретной группы продуктов. В таблице есть пояснения к ячейкам. Красным цветом выделены практики, которые, как правило, не актуальны для Agile. Если в вашем случае они нужны — смело включайте в оценку. Оценка зрелости процессов в командахПеред оценкой команд важно было уделить внимание двум аспектам. Во-первых, познакомить всех стейкхолдеров с моделью, состыковаться по целям и ожиданиям. Во-вторых, подготовиться — составить общий план и проследить, чтобы каждый участник добавил эту активность в список рабочих задач. По плану все команды должны были проходить оценку зрелости раз в квартал. Но тут мы столкнулись с трудностями, которые характерны для запуска любого нового процесса: некоторые команды проводили оценку нерегулярно, у кого-то не хватало времени, кто-то не понимал, зачем вообще нужна оценка и как она повлияет на конечный продукт. Поэтому мы проводили дополнительные доклады, воркшопы, иногда отдельно созванивались с коллегами, чтобы помочь или что-то объяснить, знакомили с методологией новых сотрудников. Первую оценку мы провели в интерактивном формате на общей встрече, чтобы коллегам было проще разобраться что к чему. По итогу оценки каждая команда составила Roadmap на квартал, в котором обозначила проблемы, зоны роста и практики, которые планировала внедрить. После каждой оценки (на момент выхода статьи мы провели их 5) мы делали сводный анализ по всем командам для поиска точек роста QA-комьюнити — стандартизации процессов, поиска новых инструментов и best-practice. Результаты оценки всех команд доступны каждому инженеру тестирования компании. Это помогает обмениваться лучшими практиками внутри QA-сообщества, делиться опытом внедрения процессов, мотивирует команды «не отставать» от других и вносит здоровый спортивный интерес — каждая команда стремится занять первую строчку внутреннего рейтинга зрелости. Выводы и результаты оценкиВ завершение хочу выделить позитивные и негативные моменты от внедрения оценки TMMi. Начну со сложностей и ошибок.
Несмотря на все нюансы, модель помогает QA-сообществу Cloud.ru придерживаться общих стандартов, процессов и обмениваться опытом. Вот несколько улучшений и артефактов, которые случились после внедрения модели (скорее всего они и так случились бы с течением времени, но TMMi значительно ускорила их появление):
Итак, за год использования модели нашей команде удалось продвинуться по целям во всех пяти процессных областях второго уровня зрелости. При этом упор мы делали на те области, которые получили минимальный балл после первой оценки: 2.1 Политика и стратегия тестирования и 2.2 Планирование тестирования. На гистограмме можно увидеть прогресс зрелости процессов тестирования по компании в целом за год — с третьего квартала 2022 года по третий квартал 2023 года. В наших планах довести уровень зрелости процессов тестирования до третьего уровня, а достижение четвертого и пятого — на усмотрение команды. А какие подходы к оценке и улучшению процессов тестирования используете вы? Делитесь в комментариях???? Что еще полезного есть в блоге: |