Zero backlog за 12 місяців: прискорення у 4 рази, що змусило бізнес благати про паузу

💡 Усі статті, обговорення, новини про тестування — в одному місці. Приєднуйтесь до QA спільноти!

Привіт! Мене звати Сергій Жердієв, і я Product Manager у холдинговій IT-компанії Boosta. У цьому кейсі хочу поділитись, як за рік ми з команди, де 52% беклогу складалися з багів, прийшли до порожнього беклогу, 4 днів Lead Time і 2–3 релізів на тиждень. Далі — коротко про шлях і практичні інструменти, які ви можете одразу застосувати у своїй команді.

Ця стаття буде корисною не тільки безпосередньо для Product Manager, а і в першу чергу для Project Manager, оperation-спеціалістів, лідерів технічних команд або керівників стартапів, які відчувають невизначеність у процесах розробки.

Важлива ремарка: інформація наближена до реальних даних через NDA.

5 сигналів, що ваш проєкт потоне без зміни процесів

Перш ніж розповісти про наш шлях, поділюся ключовими маркерами, які сигналізують про критичні проблеми:

  • 20%+ Reopens — кожна п’ята задача повертається на доопрацювання після тестування.
  • Беклог росте швидше за тестування — ви генеруєте задачі швидше, ніж встигаєте їх перевіряти.
  • Немає чіткої оцінки задач — розбіжність між оцінкою та реальністю понад 30%.
  • Деплойне тестування > 8 годин — ви витрачаєте більшу частину робочого дня на перевірку перед релізом.
  • Релізи раз на 2+ тижні — ви не встигаєте швидко реагувати на зміни ринку.

Якщо ви впізнали свою команду хоча б у трьох пунктах — читайте далі.

Проблема: де ми були

У липні 2023 року наша команда перебувала в критичному стані:

  • Не було QA — тестування виконували бізнес-підрозділи.
  • 52% беклогу — баги — половина всіх задач була технічним боргом.
  • Деплойне тестування: 54 людиногодин — на 1 реліз.
  • Lead Time: 18–21 день — від ідеї до продакшну проходило три тижні.
  • Релізи раз на 2–3 тижні — повільна реакція на потреби бізнесу.
  • Розбіжність оцінок: 40% — планування не працювало.

Ми не мали часу розвивати продукт, оскільки щотижня гасили пожежі критичних багів.

Рішення, які ми впровадили

У жовтні 2022 року у ролі Product Manager я прийшов ще до не зовсім великої стартап-команди, яка розробляла вебпродукт. Протягом року я займався продуктовою роботою і саме так зіткнувся з болями бізнес-юнітів, коли завдання рухалися геть повільно — попри те, що вистачало ресурсу команди розробки.

Оскільки в мене було системне мислення і необхідний бекграунд, я проявив ініціативу в усуненні блокерів, і ми з керівництвом вирішили тимчасово змінити мою роль на Project Manager. Мені довірили очолити трансформацію процесів розробки. Це був виклик, але я розумів: якщо не покращимо систему зараз, команда просто згорить. Нижче розповім детально, що ми змінили.

1. QA та процеси тестування

Суть: найняли in-house QA-спеціаліста замість тестування силами бізнесу.

Як переконав CEO: провів аналіз часових витрат команди. Показав, що SEO-команда витрачає 54 людиногодин на кожен деплой і пропускає критичні баги, що призводить до 500-х помилок, що неприпустимо для SEO-продукту.

Ключовий результат: через три місяці скоротили деплойне тестування з 54 до 12 годин, через рік — до 1 години.

2. Перейшли на Story Points і метрики

Суть: відмовилися від оцінки в годинах на користь Story Points за шкалою 1–3.

Чому саме 1–3:

  • 1 SP — проста задача, декілька десятків хвилин.
  • 2 SP — середня задача, день-два роботи.
  • 3 SP — комплексна задача або невизначена.

Важливо: ми не прив’язували Story Points до годин — це груба помилка. У нашому випадку задача в 1 SP — це легко, 2 SP — середньої важкості та недовго, 3 SP — невизначеність.

Як навчили команду: використав американську літературу (Gerald M. Weinberg «Quality Software Management») для підготовки до змін.

Ключовий результат: розбіжність між оцінкою та реальністю знизилася із 40% до 18% за квартал.

3. Змінили методологію: Scrum → Kanban

Суть: відмовилися від двотижневих спринтів на користь безперервного потоку задач.

Чому Scrum не працював:

  • Динамічний продукт вимагав зміни пріоритетів інколи кілька разів на тиждень.
  • 30% задач залишалися незакритими наприкінці спринту.
  • Код старів у беклозі тестування, що спричиняло «просрочку» гілки з кодом задачі.

Що впровадили в Kanban:

  • Тижневі цикли замість двотижневих спринтів.
  • Дейлі-стендап до 10 хвилин (ранкова зарядка + швидка зміна пріоритетів за потреби в термінових кейсах).
  • Планування + грумінг кожен четвер (1–1,5 години разом).
  • Демо + ретроспектива кожні два тижні (статистика + інсайти).
  • Календар відпусток у Google Sheets (коефіцієнт доступності від 0 до 1).

Ключовий результат: Lead Time скоротився з 18–21 дня до 9 днів за квартал.

4. Розклали процес на Lead/Cycle Time

Суть: декомпозували цикл розробки на чотири етапи та почали вимірювати кожен у днях.

Етапи життєвого циклу задачі:

  1. Initial Time — підготовка задачі (постановка, рев’ю з Project Manager-ом, пріоритизація разом із Head of Product, грумінг із замовниками та технічною командою).
  2. Development Time — розробка задачі (включно з TODO статусами).
  3. Testing Time — тестування задачі (включно з TODO статусами).
  4. Deploy Time — деплой.

Формули:

  • Cycle Time = Development Time + Testing Time
  • Lead Time = Initial Time + Cycle Time + Deploy Time

Що виявили: найбільші батлнеки були на стадії підготовки й тестування.

Як виправили:

  • Створили Handbook-документ із шаблонами задач (систематизували через ШІ всі таски за кілька років).
  • Впровадили структуру user story: Reason (чому?) → Action (що?) → Acceptance Criteria (який результат?).
  • Найняли ще двох QA-спеціалістів (беклог тестування наповнювався у 2 рази швидше, ніж команда встигала тестувати).

Ключовий результат: Lead Time знизився до 4 днів, Cycle Time — до 2 днів.

5. Автоматизували планування через WIP-ліміти

Суть: впровадили метрику WIP-ліміту (Work In Progress) для прогнозування пропускної здатності команди.

Як рахуємо WIP-ліміт. Формула:

Приклад розрахунку:

  1. Історичні дані: команда в середньому закриває 30 задач на тиждень.
  2. На наступному тижні один розробник у відпустці (коефіцієнт 0,8).
  3. WIP-ліміт = 30 × 0,8 = 24 задачі.
  4. Наприкінці тижня після деплою звільнилося 5 слотів.
  5. На плануванні озвучуємо: можемо взяти 5 нових задач.

Додатково: поділили потік на два типи — ASAP (термінові) й загальний потік. Якщо потрапляє ASAP-задача, виділяємо ресурс і швидко випускаємо на продакшн.

Ключовий результат: передбачуваність планування зросла, команда перестала перевантажуватися.

Метрики ефективності: що ми відстежували

Наш перехід на систему оцінювання почався з того, що я провів аналіз поточної ситуації за допомогою інструментів аналітики Jira. Вбудовані, базові репорти показали, що розробники оцінювали задачу в умовні 4 години, реальність показувала розбіжність від 6 до 8 годин. На всьому обсягу задач ми мали похибку, непорівнянну з реальністю. Це приводило до того, що ми неправильно оцінювали свої можливості й планували задачі з overhead.

Після того, як ми перейшли на вищезгадані Story Point, з’явилася необхідність у додаткових метриках. Розповім про них детальніше далі.

Ефективність процесів

На етапі життєвого циклу команди в методології скрамбану ми використовували число Story Point, виконаних за попередній проміжок часу для планування наступного. Пізніше ми прийшли до метрик пропускної здатності команди, Lead Time і Cycle Time.

  • Lead Time — повний цикл від створення до релізу.
  • Cycle Time — час розробки + тестування.
  • Deployment frequency — частота релізів.
  • Failure rate — відсоток багів у беклозі.

Головне, що ми почали робити, це декомпозувати цикл розробки задачі на чотири основні етапи:

  • Підготовка задачі (постановка, рев’ю, пріоритизація, грумінг).
  • Розробка задачі.
  • Тестування задачі.
  • Деплой.

Ефективність спеціалістів

Для зниження числа критичних багів необхідно було зробити суворіше ставлення до пропуску таких багів на продакшн. Перша та значуща метрика, яка фігурувала в перформанс-калькуляторах технічних спеціалістів, це Reopens — відсоток перезапуску задачі після тестування до загального числа виконаних задач за квартал.

Друга — метрика перформансу. Ми пройшли декілька стадій для того, щоб отримати її в тому вигляді, у якому вона є зараз:

Стадія 1. Просто міряли, скільки Story Point виконував розробник за квартал. Після цього ми зрозуміли, що такий підхід неорганічний через time-off, коли розробник із будь-яких причин не може закривати свій скоуп робіт.

Стадія 2. Почали рахувати, скільки Story Point виконує розробник у середньому за день протягом спринту (два тижні). Такий підхід також був неефективним, оскільки задачі на три Story Point могли переходити зі спринту в спринт, що негативно впливало на метрику на широких діапазонах і не вирішувало проблему відпускних днів. Уже на цьому етапі ми застосовували такий самий підхід і до тестувальників, за винятком функції, яку вони виконували. Тут ми базувалися на загальній оцінці складності задачі від розробника, але не давали оцінювати задачі тестувальникам, оскільки оцінки корелювали в 95% випадків. Якщо розробник оцінив задачу на два Story Point, то і тестувальник оцінював задачу так само.

Стадія 3. Трансформація в метрику «потужності». На цій стадії ми врахували всі можливі чинники та привели метрику до спільного знаменника. Ми вже перебували в канбан-методології.

Метрика «потужності» (фінальна версія):

Що враховуємо:

  • Тільки бізнес-задачі (баги не зараховуються).
  • Час від стадії «взято в роботу розробником» до «передано тестувальнику».
  • Час на реворк також входить у знаменник.

Важливо: потужність розраховується як для кожного окремого розробника, так і для тестувальників задля розуміння загальної ефективності системи.

Що виключили: вплив відпусток, хвороб та інших зовнішніх чинників.

Результат: де ми опинилися

Впровадження всіх цих підходів було супершвидким і місцями нелогічним, у нас були злети й падіння метрик, однак через рік ми змогли прийти до статусу 0 беклогу. Це дало змогу нам зайнятися тими рефакторингами, на які в команд часто не буває часу.

Фінальні метрики:

Метрика

Липень 2023

Жовтень 2024

Зміна

Deployment frequency

1 раз на 2–3 тижні

2–3 рази на тиждень

↑ 5x

Lead Time

18–21 день

4 дні

↓ 4,5x

Cycle Time

7 днів

2 дні

↓ 3,5x

Failure rate

40%

6%

↓ 6,7x

Час на деплойне тестування

54 години

1 година

↓ 54x

Reopens

28%

8%

↓ 3,5x

Відсоток багів у беклозі

52%

12%

↓ 4,3x

У жовтні 2024 року, після року роботи Project Manager, я повернувся на роль Product Manager. Процеси були налагоджені, команда працювала як годинник, і настав час знову фокусуватися на продукті.

Checklist: як повторити трансформацію за 90 днів

За перші 30 днів

Тиждень 1–2: Аудит поточного стану

  • Порахуйте час на деплойне тестування (у людиногодинах).
  • Виміряйте відсоток багів у беклозі.
  • Зафіксуйте поточний Lead Time (від створення задачі до релізу).
  • Порахуйте розбіжність між оцінкою та реальністю виконання задач.
  • Виміряйте Reopens (відсоток повернень задач після тестування).

Тиждень 3–4: Впровадження базових метрик

  • Перейдіть на Story Points (шкала 1–3 для простоти).
  • Навчіть команду оцінювати задачі (проведіть воркшоп).
  • Почніть відстежувати Reopens для кожного спеціаліста.
  • Створіть простий дашборд у Google Sheets або Jira.

За 60 днів

Тиждень 5–6: Впровадження QA

  • Обґрунтуйте CEO необхідність QA, якщо його немає (використайте цифри з аудиту).
  • Найміть in-house QA-спеціаліста.
  • Створіть базу документації для QA (чеклісти, критичні сценарії).
  • Проведіть онбординг із фокусом на специфіку продукту.

Тиждень 7–8: Перехід на Kanban

  • Проведіть ретроспективу: чому Scrum не працює.
  • Впровадьте тижневі цикли замість двотижневих спринтів.
  • Налаштуйте дейлі-стендап до 10 хвилин.
  • Створіть календар відпусток із коефіцієнтами доступності.

За 90 днів

Тиждень 9–10: Налаштування Lead Time / Cycle Time

  • Декомпозуйте процес на етапи (Initial → Development → Testing → Deploy).
  • Почніть вимірювати кожен етап у днях.
  • Знайдіть батлнеки (найдовші етапи).
  • Створіть план усунення батлнеків.

Тиждень 11–12: Впровадження WIP-лімітів

  • Порахуйте середню пропускну здатність команди за тиждень.
  • Впровадьте формулу WIP-ліміту з урахуванням відпусток.
  • Поділіть потік на ASAP і загальний.
  • Налаштуйте планування на основі історичних даних.

Не впроваджуйте всі зміни одразу. Темп трансформації має відповідати готовності команди. Занадто швидко — отримаєте опір і хаос. Занадто повільно — втратите імпульс. Знайдіть баланс.

Замість висновку: 4 принципи, що працюють

1. Не бійтеся пропонувати, помилятися й виправляти. Експерименти — ваш головний друг і вчитель. Часом власний досвід може бути більш ефективним, ніж сліпе слідування чужим рекомендаціям. Ми пройшли через три стадії метрики перформансу, перш ніж знайшли ту, що працює.

2. Навчіться домовлятися. Ви на перетині двох вогнів: команда розробки й бізнес-замовники. Задача Project Manager — гасити вогонь і приводити до перемир’я. Щотижневі демо + ретро стали нашим головним інструментом комунікації.

3. Мисліть системно. Думайте спочатку про проблему, а потім про її рішення, не навпаки. Ми не наймали QA, поки не зрозуміли, що проблема саме в тестуванні, а не в розробці.

4. Метрики — ваша зброя. Без цифр ви не зможете переконати CEO, команду чи себе. Кожне рішення має бути підкріплене даними.

Сподобалась стаття? Підписуйтесь на автора, щоб отримувати сповіщення про нові публікації на пошту.

👍ПодобаєтьсяСподобалось34
До обраногоВ обраному12
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Додам коментарі з боку бізнесу
1. Метрика тайм ту маркет у нас підсилила світогляд з «ми не тікети робимо а гроші заробляємо». Це в свою чергу далі вже запускає/підтримує багато інших речей — авто тести, безшовні деплої, апгрейд процесів грумінгу тікетів тощо.

2. Не побачив в статті (може пропустив) про створення хендбуку для постановки задач та процес його впровадження. Це допомогло уніфікувати постановку задач. Були нюанси з впровадженням в команді але в цілому це була дуже правильна річ.

3. Перехід на сторі поінти замість годин — найбільш дискусійне рішення для мене. Бо зменшило/ускладнило конкретику «коли буде зроблено». Плюс є нюанс щодо комітменту з боку дев команди про строки.

Як підсумок — хтось питав по бізнесу — стало краще чи гірше.
Системності стало більше.
Даних для прийняття рішень теж стало більше (якість рішень на основі всіх цих даних з боку бізнеса — це вже окреме питання але точно ніхто не може сказати що даних немає).
Напруження на те щоб встигнути в закомічений час стало менше (через сторі поінти замість годин) але в певний період часу було погоджено змістити фокус на якість (виконано як заплановано) а не на швидкість відправки на прод (навіть якщо потім тікет повернеться через реопен). Чи можна було це забезпечити оцінкою в годинах (включаючи час тестувальників) — можна але на той час було вирішено зробити так.

Напевно як критерій якості процесів — рік потому як Сергій перестав бути проджектом процесам слідують вже без участі Сергія. Тому є сенс певні речі які описані в статті подумати як адаптувати під ваш контекст.

Дякую Сергію та Dev команді. За Сергія було створено/значно проапгрейджено багато фундаментальних процесів які далі розвиваються іншим проджект менеджером та командою.

Чудова стаття. Дякую.
Питання по Story points.
Як було визначено складність завдання, не зрозуміло визначеність часу?
1 SP проста задача, декілька десятків хвилин.
2 SP середня задача, день-два роботи.
3 SP комплексна задача або невизначена.

Порівняння сторі понітів до часу суто для еквалізації складності виконання та бізнес зрозумілих метрик (тобто часу). Взагалі так робити не варто і це не по канонам Agile методологій (хоча канбан і не є Agile, але не про це мова).

Простими словами так продактам та іншим юнітам легше розуміти скільки вірогідно зусиль піде на реалізацію таски.

Не завжди оцінка в 1 сп точно дорівнює 30 хв, бувають випадки, коли оцінка може збільшитись навіть до 3 сп, оскільки не врахували депенденсі, або навпаки 3сп таск стає 1сп, і це нормально, головне сильно не заморочуватись із точністю.

Все це робиться задля того, щоб сегментувати задачі на 3 основні категорії при аналізі (відносно) великих масивів даних і з вірогідністю 85% казати бізнесу поточну тривалість виконання задачі кожної категорії складності.

А тепер щодо того як ми визначили складність 1, 2 та 3. Це визначається темпом команди, її середнім скіл рівнем та загальним скоупом яким займалась команда протягом тривалого періоду, наприклад 1 рік.

Простими словами, якщо команда складається суто з джунів і одного сіньйора, то у вас доволі часто буде зустрічатись оцінка 3, та, навпаки, якщо всі сіньори — то 1-2. Якщо команда займається проектами із складними логіками, депенденсі тощо і задачі неможливо декомпозувати, то у вас доволі часто буде оцінка 3, навіть якщо всі сіньори.

Конкретно в нашому кейсі велика частка задач відносно легка, і відносно рідко бувають трійки. Все залежить від контексту команди та бізнесу.

Супр стаття. Такого мало в інеті. Хейтеров ігнорім. Дуже-дуже корисно та з життя!!!

Багато інформаційного шуму. Що зробили? 1. Перейшли зі Скрам на Скрамлайт з меншим таймбоксом. Результат — кращий горизонт планування, швидші релізи, краще в контексті конкретного продукту. 2. Ввели сторі пойнти. Результат — заховали ризики в менш точні естімейти, визнали що час не головне. 3. Ввели критерії акцептації. Результат — покращили діскавері, зменшили повернення тестерами по бізнес-логіці (нема в АС — нема баги). 4. Найняли тестерів. Результат — бізнес не виправдовує свої косяки часом на тестування, не зависає на делівері тестуванні через страх помилитися, не запихає свої прорахунки в вимогах в баги; запрацювали автотести. Що там з тими метриками потужності, як воно вплинуло на реальний перформерс чи тим більше на якість продукту не ясно, але написано красиво.

Буду відвертий, я б залюбки написав статтю в декілька абзаців, але писав з PR відділом Boosta, такі були вимоги 😁

Оце талант розписати красиво фразу «ми почали більше доїти і меньше годувати». =)

Змінили методологію: Scrum → Kanban

Суть: відмовилися від двотижневих спринтів на користь безперервного потоку задач.

Але ж в канбані по суті нема фіксованих проміжків часу на який фіксується скоуп робіт. Це якийсь срамбан.

Результат: де ми опинилися

Цікава табличка, але коли бачиш покращення в х54 тут винакає прям ДУЖЕ багато питаннь. Так і по інших метриках кратне збільшення теж неоднозначне. Знаю певні способи як такого домогтися в метриках в той час як реальна розробка буде приблизно на тому самому рівні по швидкості. Приміром не запихуємо задачі на 10+ сторіпоінтів, а б’ємо на до 5, переносимо як умога швидше, а коли скажімо велика задача мала 10 пунктів дефінішен оф дан, а маленькі по 3 максимум то чисто статистично кількість реопенів буде меньша. Так само і інші метрики.
Пс
не сприймайте за критику тут насправді не мало ідей як переконувати людей які не хочуть кудись вникати що їдемо вірною дорогою. З цього боку це дуже цікавий текст.

Але ж в канбані по суті нема фіксованих проміжків часу на який фіксується скоуп робіт. Це якийсь срамбан.

Спробую вам передати свою думку)
1. Будь-яка система, організації робіт повинна мати етапи планування та рефлексії, інакше є ризик робити речі із втратою залежностей. При зміні складу команди може виявитись так, що ефективність починає сильно коливатись, а дев команда без чітких церемоній може швидко сісти на шию 😁.
2. Тиждень, 2 чи більше визначається потребами бізнесу із урахуванням поточної динаміки продукту

Цікава табличка, але коли бачиш покращення в х54 тут винакає прям ДУЖЕ багато питаннь.

Так, я про це писав окремий дісклеймер, що метрики вигадані, проте вони наближені до реальних. Нажаль в нашій команді із самого початку все було дуже погано, тому ефект настільки відчутний. Ба більше, коли я розпочав свій шлях в компанії було лише 3 розробника, а амбітних проектів вистачало на 5+ сіньйорів. Для ще більшого розуміння наскільки все було погано — по скрамскаму в нас були двотижневі спринти із оцінкою в годинах і лише на цикл від ToDo до Ready for test. Інший час не враховувався.

ну нарешті я дізнався формулу потужності

нарешті зʼявилась людина яка оцінила цей жарт 😄

Дуже цікаво: який розмір команди (скільки розробників і якої кваліфікації)?
Дякую)

Назвати конкретні цифри я не можу, але можу сказати, що:
1. середній рівень сіньорності дев команди Middle+ — Senior
2. середній рівень сіньорності QA команди middle.

Dev команда складається здебільшого з FullStack спеціалістів, і два сфокусовані на backend та frontend відповідно. По QA лише 1 Automation, інші мануали.

ну це все одно відірвано від реальності... хочаб дай розуміння: программістів менше 5, менше 10, більше 10?

Мені одному здається що тут вся стаття написана чатом ГПТ і всі коменти автора теж пише чат ГПТ?

Виглядає на це. Взагалі стаття якась у стилі капітана очевидність.

Ця стаття буде корисною не тільки безпосередньо для Product Manager, а і в першу чергу для Project Manager, оperation-спеціалістів, лідерів технічних команд або керівників стартапів, які відчувають невизначеність у процесах розробки.

Якщо стаття для вас в стилі капітана очевидність, то може треба було її трохи уважніше читати? 😉

Вам може так виглядати, бо стаття редагувалась в певних моментах і декілька разів проходила валідацію райтерами, тож хз. Якщо ви бачите довгі тире, то це форматування DOU 😉. Історія не вигадана, але метрики рандомним чином замасковані, щоб не зливати інформацію по NDA.

Ще питання по складу команди.
Наскільки я зрозумів зі статті, є програмісти та тестувальники. Чи усі програмісти однакові, себто:
— Будь-яку задачу можуть оцінювати усі, і брати в роботу будь-хто. Нема спеціалізацій в команді.
— Або є спеціалізації, і задачі йдуть пайплайном, наприклад, архітект придумав як імплементити, передав задачу на ДБА, той змінив схему бази, передав на бекендера, той заімплементив бізнес-рули, передав на фронтендера, той зробив ЮІ і передав задачу тестувальнику.
— Чи щось середнє, де частина задач потребує певних виконавців, а інші робить будь-хто.

Будь-яку задачу можуть оцінювати усі, і брати в роботу будь-хто. Нема спеціалізацій в команді.

Почну з кінця — в команді є два вузьконаправлені специ бек та фронт, інші — FullStack. Задачі розподіляються на грумінгу на кожного розробника із розрахунку його capacity. Оцінку задачі проводить сам розробник та тестувальник, який бере цю задачу (розподіл за схожою логікою). Або задачу розподіляє техлід, або її бере той, кому функціонал наближений до його минулих задач. В нашій команді цей флоу показав себе найбільш оптимальним.

Або є спеціалізації, і задачі йдуть пайплайном, наприклад, архітект придумав як імплементити, передав задачу на ДБА, той змінив схему бази, передав на бекендера, той заімплементив бізнес-рули, передав на фронтендера, той зробив ЮІ і передав задачу тестувальнику.

Пайплайни в нас є лише в декількох випадках, коли є таск на фулстек, але всі специ зайняті, то фронт може виконати свою частину і передати на очікування, або на бекендера. Наш продукт не настільки високонавантажений та складний (поки що), щоб чітко розмежувати зони відповідальності.

Чи щось середнє, де частина задач потребує певних виконавців, а інші робить будь-хто.

Так, точно є, і ті, які стосуються швидкості доступності продукту по світу, питань кешування та економії ресурсів, питань секьюрності, тощо.

Завдяки чому зменшився час на деплойне тестування?

Думаю, що QA впровадили автоматичне тестування. Але цікаво почути відповідь автора.

1. Оскільки не було тестувальників взагалі і не було розуміння як перевіряти всі депенденсі, то спочатку розробили план деплойного тестування із фокусом на критичний функціонал продукту.
2. Один із QA спеціалістів був автотестером, тож написали купу автотестів, навішали метриками критичний функціонал та через Grafana моніторили все що тільки можна
3. Предпродні оточення, на які зливали весь код із всіх задач та дивились чи є колізії по тасках.

Це базовий мінімум, який потрібно мати щоб кратно зменшити кількість помилок під час деплою.

Себто, зменшення часу на тестування — це просто найняли тестувальників, котрих раніше не було.
А час на тестування раніше як міряли без тестувальників? Типу ми задеплоїли, а потім замовник сказав, що воно працює — це й був час на тестування?

Що виявили: найбільші батлнеки були на стадії підготовки й тестування.

Новини об 11:00.

Дякую за ваш сарказм, проте це дуже поширена практика не помічати очевидних речей. Ще більше кейсів, коли в компаніях роблять неправильні висновки і форсять саме команду розробки, що створює ще більше проблем. В цій статті я намагався підкреслити саме це.

Ніякого сарказму. Ситуація, коли бізнес не знає, що і як зробити, щоб заробити бабла, але киває на інженерів, бо «вони повільні» — норма, а не виняток.

Саме тому перше що зробив на посаді ПМ-а — це зробив легше життя команді розробки балансуючи між бажанням бізнесу працювати швидше і бажанням розробників не давати хибних очікувань та не отримувати неякісних ТЗ.

Так, на жаль, велика частка компаній вважають дев відділ «ресурсом», проте не в нашій команді.

Сергію, з усією повагою, але у статті нема основного — змін у бізнесі.

Що було з жовтня 2022 у бізнесі? Чі перешли зі стартапу до скейлапу? Скільки разів був pivot? Чи знайшли успішну бізнес-модель? Чи залучали нових інвесторів? Та ще багато чого...

Зміни проджект та тех процесів без опису змін у бізнесі не мають сенсу. Бо від змін у бізнесі залежить, куди дутиме вітер і як будуватимеш техпроцеси.

Дякую за слушне зауваження. Відповім на ваші питання в межах NDA та доступної мені інформації:

Бізнес рух компанії:
1. 2020: Залучення інвестицій від холдингу Boosta (основний інвестор)
2. 2021: Стартап-стадія, B2B-фокус
3. 2022: Початок скейлапу, вихід на окупність
4. Q4’22: Спроба B2C-проєктів, виявлення процесних проблем
5. Q4’23: Криза процесів гальмує B2C-ініціативи
6. Q4’24: Вирішення блокерів, перехід до продуктової стратегії з B2C-фокусом

Чи перейшли зі стартапу до скейлапу?
Так. До мого приходу компанія почала скейл, але процеси гальмували зростання, що стало очевидним під час спроб запустити B2C-ініціативи.

Скільки разів був pivot?
Один значущий за описаний період: стратегічний перехід з B2B-фокусу на B2C (фокус на продукт) після стабілізації процесів. Процесна трансформація була фундаментом для цього бізнес-переходу. Без stable delivery перехід до B2C був би неможливим.

Чи знайшли ми успішну бізнес-модель?
Так. B2B довів окупність, B2C показує зростання після трансформації.

Чи залучали нових інвесторів?
Інформація про фінансування не розголошується через NDA.

Мене цікавить трохи інший момент.
На проекті до вашого приходу не було проджект-менеджера? Чи ви просто прийшли і сказали «проджект-менеджер не справляється зі своїми задачами — давайте я буду проджект менеджером» чи просто почали виконувати задачі проджект-менеджера так, щоб «начальство» побачило, що ви будете кращим проджект-менеджером.
І яка у вас була позиція до того, як ви стали проджект-менед;ером на даному проекті?
Цікаво, як «правильно» діяти у подібних ситуаціях, коли начальник, на вашу думку, не достатньо добре виконує свою роботу?

На той час в нас була стадія стартапу і поточний проджект зробив трансфер на C-Level COO позицію, в загалом в команді всі співробітники були мультіфункціональними юнітами.

Щодо «як краще зробити?» на цифрах показати гепи, які є у команди та скільки грошей втрачається через них та як ви бачите їх рішення в одному документі. Чим вище буде ескальована проблема тим вище вірогідність, що її візьмуть на розгляд. Навіть якщо у вас немає статистики по витратам на технічний ресурс (зпшка), ви можете зорієнтуватися по медіанам доходу по ринку на співробітника. Головне не звинувачувати, а пропонувати)

було б цікаво почути про підтримку або супротив зі сторони техліду. Явно це не було зроблено раніше бо у техліда не було компетенцій чи натхнення чи довіри од менеджерів

В моєму випадку пощастило, бо я мав технічний бекграунд і швидко знайшов спільну мову із тех командою, проте техлід так само був зацікавлений у систематизації та був відкритий до пропозицій. Саме 3-2-1 систему було запропоновано ним як компроміс між складною системою оцінки.

Цікавить питання переходу на сторі поінти для спрощення. Як було до цього переходу? які pros/cons такого переходу? Чим для менеджерів сторі поінти простіші за години? Поділіться досвідом

До переходу були години. Проте лише оцінка на розробку, на тестування, деполой, підготовку тікету — не враховували. Не було юнітів, хто зміг би це порахувати.

Плюси такої системи:
— не витрачаються левові частки часу на оцінку тікета. 1 завжди зрозуміло, що дуже просто, 2 — складніше, а 3 — велика невизначеність. Статистично, якщо у команди багато оцінок 3, то щось іде не так, або задачі не декомпозовані, або незрозумілі як робити, або незрозуміле ТЗ.
— проста і доступна система, не потребує багато часу на навчання команди, низький поріг входження у систему
— при аналізу статистики виконаних задач легко групувати по складності.

Мінуси:
— низька ступінь точності, проте про вирішення цієї проблеми писав в плюсах.
— сторі поінти в принципі не зустрічаються із зрозумінням у менеджерів, бо це метрика комплексна і враховує: час, складність, компетенцію виконавця тощо. Для менеджерів — час затребувана метрика. Проте і це вирішується легко — за допомогою 0.85 перцентиля. Для кожної оцінки 1, 2 чи 3 за останній період часу вивантажується статистика і визначається за цим процентилєм час на кожну ступінь складності. Цей конвертор буде завжди давати різні результати, оскільки перформанс команди змінюється, кількість людей, рівень компетентності команди та складність проєктів. Проте він допомагає зрозуміти час необхідний команді на виконання запланованого скоупу робіт на тиждень.

тобто складність тікету 3 — це додатковий інвестигейт з подальшою декомпозицією на 2 і 1 ? правильно?

Здебільшого так, проте, звісно бувають і архітектурні задачі, які потребують значних часових ресурсів. Не завжди 3 = недекомпазовано, it depends. Якщо статистично ви бачите що у вас більше 1/3 тікетів із трійкою, то це привід розібратися поглиблено. Важливо розуміти контекст потоку задач, може бути і навпаки, що багато трійок бо триває розробка надскладного проєкту.

Впровадили структуру user story: Reason (чому?) → Action (що?) → Acceptance Criteria (який результат?)

Дуже багато залежить від однозначності формулювань на цьому етапі.
Бо інколи хочуть одне, в тікеті пишуть інше, на мітінгах обговорюють третє, а потім кожен дев естімейтить, спираючись на якесь своє розуміння задачі

Хз якою метрикою поміряти адекватність формулювання (кількість перепитувань на одне речення в тікеті?)

Цю проблему ми також вирішили, проте в цій статті про це не йдеться. Якщо вам буде цікаво — напишіть мені в особисті в LinkedIn, розповім 😉

Звісно ж цікаво, але моя справа кнопки фарбувати :D
Може колись матимете час та натхнення на ще одну статтю! Бо в цій дійсно корисний досвід

В нашій команді були схожі трансформації процесів і це було круто! Пізніше навіть були деякі спрощення, які не сильно вплинули на результат. Але потім трохи змістились акценти, ні́кому стало займатись створенням адекватних тікетів і при формально тому ж самому процесі пішли задачі, де один дев робить сім червоних ліній, інший чотири зелені, а QA блочить тікет бо вони не всі перпендикулярні і немає прозорих.

Я в курсі, що це би мало відсікатись на етапі естімейтів і що задачі не мали б змінюватись по ходу розробки, але IRL, на жаль, буває по іншому. Тому цікаво якою метрикою міряти нечіткість задач

Прикольний кейс!

Не знаю, чи знадобиться у житті — але на майбутнє схороню!

Дякую за статтю! Працював завжди в ScrumBut режимі і як раз придивляюсь до Kanban з новою командою. Тепер маю гарну відправну точку.

Дякую за відгук! 🙏 ScrumBut — це класика, через яку проходять більшість команд 😄 Якщо будуть питання під час переходу на Kanban — пишіть, з радістю поділюся досвідом. Бажаю вам успіхів!

Не було QA — тестування виконували бізнес-підрозділи

Це ключове. Якщо коротко

💯 Без цього кроку всі інші зміни були б неможливі. Це був наш foundation для трансформації.

Навіть не думав, що таке може бути.) Так як у бізнес-підрозділів і QA різні цілі/задачі.

Буває та навіть дуже «Модно» працювати без тестувальників ... Щоправда там де я з цим стикнувся — автоматизація тестування становила майже 80% й ЇЇ просто переклали на девелоперів повністью (до цього вони писали тільки юніт та інтегрейшен а тестувальники — апі та е2е автоматизацію та ручками тестували) подивимось що з цього вийде

Ну з іншої сторони, припускаю, що дуже великі проекти без тестів практично нереально.

20 років тому авто- та юніт-тести майже не впроваджувалися, при тому великі CAD-системи (на зразок Матеріалайзівських чи Фотошопа) існували й не були надто глючними порівняно з сучасним софтом (та навіть Гугл Докс з глюками, котрі не фіксять).

Круто! Мабуть хороші програмісти писали.)

Матеріалайз в Україні мав відділ розробки
Але, в принципі, асерти + ручне тестувуання дуже добре працюють, і часто дешевші для розробки ніж покриття юніт- чи авто-тестами.

У мене не великий досвід з тестуванням. Але я не вірю, що девелопери можуть тестувати на рівні із QA при аналогічних затратах. Бо програмісти(автоматичні тести від програмістів) тестують задачу рівно так, як її зрозуміли. І тести тестують рівно те, що програмісти і так передбачили при написанні коду. А от якраз те, що не передбачили — і є найціннішим, що знаходять тестувальники.
А от автоматизація тестів QA — це прекрасно і корисно.
Вважаю, що не раціонально тестувальників замінювати повністю девелоперами.

Є окремі домени, наприклад — бази даних, де висока ціна помилки (якщо попортиш кастомеру дані — то і засудять, і більше ніхто не купить твій софт). При цьому руками тестувати отой увесь SQL нереально, бо забагато можливих комбінацій команд.

В результаті покривають сотнями тисяч автотестів, включно з рандомізованими — котрі одночасно запускають купу активностей, і при цьому одночасно окремий потік тесту час від часу розриває мережу в кластері, вбиває ноди, оновлює версію програми...

Якщо за пів-року такого рандомізованого тестування щоночі бага не вилізла, то імовірно, що кастомеру також буде важко її нарепродюсити.

Також, змусили розробників нормально писати код(Reopens зменшилось з 28% до 8%). Хоча, може, наприклад, складність задач зменшилася.

Я себе почував комфортно з реопенс десь під 50% коли сидів поруч з тестувальником — і ми за пів-години могли по багу пройти 3 ітерації фікс-реопен. (авто- чи юніт- тестів не було, але всі тікети проходили QA, і десь 10% коду займали асерти, котрі не вимикалися в продакшні)

Чим складніший проект/задача, тим більша кількість реопенів повинна бути нормою. Тому що одна справа написати щось трохи складніше Hello world, а інша справа — проект де купа взаємопов’язаної логіки і як не роби ізоляцію — все вірно будуть залежності і їх може бути дуже і дуже багато. Тому і 50% реопенів може бути хорошим результатом.

Я просто знав, що поруч талановитий тестувальник, і що він усе познаходить. Тому написав, побачив, що базові сценарії працюють — і віддавав йому далі мучати й перевіряти досконально.

І так, реопенів може бути мало, коли просто погано протестовано.)

Підписатись на коментарі