← НАЧИНАЮЩЕМУ / статья
Начинающему тестировщику 8: Agile, Kanban. Scrum и жаргонизмы в IT
01 июля 2024г.
Смотреть этот выпуск на YouTube (11 минут)
Смотреть все серии «Начинающему тестировщику» на YouTube
Краткое знакомство с основными понятиями в разработке.
Онбординг,
Flow,
Трекеры,
Agile,
Kanban,
Scrum,
Backlog,
Workflow,
MVP.
И другие жаргонизмы.
Онбординг
Я познакомлю вас только с самыми базовыми и распространёнными понятиями в разработке, объясню часто встречающиеся слова. Без погружения в детали, только чтобы вы не растерялись и имели общее представление. Этот процесс и называется онбординг — знакомство, обучение, введение в курс дела.
Флоу
Каждая, уважающая себя команда, ведёт разработку согласно плану. План — это последовательность задач, которые каждый член команды должен выполнить, чтобы проект куда-то двигался — нарисовать дизайн, согласовать, сделать вёрстку и т.п. Продвижение по этому плану и называется флоу — поток, процесс. Если вы слышите слово «флоу», то попробуйте заменить его на «процесс» и тогда станет понятнее, но зависит от контекста ))
Например: «Флоу оплаты» — чаще всего, речь про функционал оплаты товаров на сайте, сценарий оплаты.
«Workflow» — это буквально рабочий процесс, скорее всего, речь о процессе разработки.
«Флоу пользователя» — скорее всего, речь про путь пользователя по сайту/функционалу, сценарий использования.
Трекеры
План нужно где-то вести, хотя бы и в ворде. Но мы не ищем лёгких путей и потому люди придумали трекеры — баг-трекеры, таск-трекеры и т.п. Это специальные программы, в которых очень удобно вести любые планы и задачи.
Трекерами их назвали потому, что помимо ведения задач, в них есть функционал отслеживания этих задач, назначение ответственных, определения приоритетов, статусов, состояний и ещё очень много всяких полезных штук.
Agile
Люди придумали правила, заветы и откровения, чтобы убедить себя и окружающих в правильности своих действий.
- Люди и взаимодействие важнее процессов и инструментов. Т.е. не важно какие у вас трекеры да хоть на бумажках и даже не важно каким боком вы двигаетесь по плану и есть ли план вообще. Важен каждый член команды и взаимопонимание между ними в процессе разработки.
- Работающий продукт важнее самой подробной документации. Не важно есть ТЗ или нет его можно 3 года писать. Вы обсудили проект за кружкой чая, на коленке «запилили» сделали, реализовали MVP minimal viable product — минимально жизнеспособный продукт с минимальными, базовыми функциями и запустили в «прод» продакшн, рабочая версия версия продукта, которую показывают заказчику или публикуют для общего доступа. Теперь у вас есть с чем идти к заказчику, инвестору, есть что развивать.
- Сотрудничество с заказчиком важнее согласований условий контракта. Контракт это важно иначе денег не увидите, но ещё важнее адекватная обратная связь с заказчиком и общая нацеленность на результат. А контрактами пусть юристы занимаются ))
- Готовность к изменениям важнее следования плану. И, наученные горьким религиозным опытом, люди сказали, что даже и планы не нужны, а важнее гибкость и мобильность продукта и команды.
Это 4 основополагающих принципа философии Agile похоже, что бывшие хиппи писали. Если вы придерживаетесь в своей работе перечисленных принципов, то вы работаете по Agile, даже если вы мусор убираете. Т.е. Agile — это не методика, не фреймворк, а философия или религия, если угодно, просто некие постулаты.
Почти все остальные методики и фреймворки так или иначе соотносятся с этими базовыми agile-принципами.
Kanban
У любой задачи есть:
- название, описание
- ответственный, исполнитель
- текущее состояние на паузе, в работе, на согласовании, сделано и т.п.
- приоритет обычная, важная, срочная
- и ещё много всякого
Люди решили карточки с такими задачами размещать на доске. Нарисовали колонки с состояниями и карточки перемещаются между этими состояниями. Так с первого взгляда сразу понятно сколько задач, где они скапливаются, верхние задачи важнее, что по плану и т.п.
Постепенно доски усложнялись — появилось несколько досок под разные процессы, появились строчки лайн, swim line для ответственных или для этапов и т.п. Карточки свободно перемещают между этапами, состояниями, ответственными, приоритетами и между чем угодно.
Подобные доски и сам метод управления стали называть Kanban. Основные принципы — это наглядность, равномерное распределение нагрузки и прозрачность для всех.
Трекеры скопировали такой подход и канбан-доски или просто «доска» стали важной частью любого трекера. Доски можно настроить под себя, под команду, под проект, под процесс и вообще под что угодно. Добавить колонки, лайны, что показывать в карточках, настроить ограничения и автоматизацию и т.п. Главное, чтобы всем было понятно что там к чему.
Scrum и спринты
Как быть, если у нас сроки, строгая отчётность? Каждую неделю «вынь да положь» отчёт, релиз, этаж и т.п.
Для этого решили в Kanban добавить сроки и всякие ограничения. Так появился Scrum.
Scrum — это фреймворк, свод инструкций, на базе которых должно что-то строится. Под каждый этап, «релиз» выпуск, публикация работающей версии, срок, «фичу» специфическая часть, особенность продукта или отдельный функционал создаётся отдельная scrum-доска (спринт).
Например, к концу месяца надо запилить каталог товаров. Создаётся доска с конечным сроком конец месяца, собирается команда, которая будет пилить каталог, «лид» lead — лидер, главный ответственный, project manager/owner, scrum-мастер накидывает на доску задачи и распределяет их по команде.
Каждый день команда собирается и обсуждают что сделано, где затыки, что делать, чтобы успеть к сроку.
К концу месяца, все задачи на этой доске должны быть в колонке Готово но так бывает редко.
И так происходит по каждому этапу плана разработки. Такое движение итерации называется спринтами. Спринты обычно делают короткими 1-2 недели, но не больше месяца, иначе там накапливаются проблемы.
Бэклог
Общий список задач/работ, который надо выполнить по проекту или этапу, но ещё не взятых в разработку называется бэклогом.
Бэклог постоянно дополняют, меняют — накидывают идеи, меняют приоритеты задач, передвигают карточки выше/ниже, разработчики забирают задачи в реализацию и т.п.
Бэклог обычно это отдельная колонка на доске, откуда разработчики берут в работу первые по списку задачи или проджект их распределяет.
Бэклог может быть и отдельной сложной доской со своими колонками, статусами и приоритетами.
Workflow
Процессы разработки в каждой компании свои. Тестировщик в них легко встраиваться, т.к. у него 2 задачи:
- сложить баги в кучку
- перепроверить и закрыть или вернуть на доработку
Если вы плотно интегрированы в команду, хорошо знаете проект, то вам доверят расстановку приоритетов и распределение ваших багов. Будут привлекать на разных этапах разработки (дизайн, вёрстка, функционал).
Ну а если вы пишите тест-кейсы, автотесты, то вы почти разработчик и тогда пройдётесь по всем этапам.
Обычно, процессы несложные. Редко встречаются очень замороченные, но если в трекере всё хорошо автоматизировано, то ошибиться невозможно.
Бывает, что ваши баги где-то теряют, забывают, откладывают, топят в спринтах. Если вы не можете контролировать этот процесс, то смиритесь ))
Часто встречаются в IT
Вайб (vibe — вибрация)
Логически необъяснимое эмоциональное состояние, возникающее при общении с кем-либо, контакте с чем-либо; атмосфера, настроение, создаваемое кем-либо или чем-либо.
Груминг (grooming)
Может относиться к бэклогу (списку задач на будущее) или к текущей задаче. Если речь про бэклог, то грумингом называют встречу, на которой разбирают задачи, перед тем, как взять их в работу. Если речь, про текущую задачу, то это разбор логики, ограничений и других требований перед тем, как взять её в работу.
Запилить
Что-то сделать, реализовать: написать код, реализовать функционал, исправить «багу». В основном используется в среде разработчиков.
Микросервис
Архитектурный стиль (в разработке), при котором приложение разбивается на небольшие, независимые сервисы.
Стейдж (stage)
Среда для тестирования, которая в точности похожа на продакшн-окружение. Она стремится как можно точнее отразить реальное продакшн-окружение и может подключаться к другим продакшн-сервисам и данным, таким как базы данных.
Фича
Новая функция или улучшение в приложении/сайте/программе.
Фреймворк
Набор библиотек (в программировании) или инструментов для упрощения разработки или работы с/над чем-то.
Юнит-тест
Тестирование отдельных компонентов или модулей.
Телеграм-канал «Заметки о юзабилити» — посмотреть и подписаться