Якість — це ілюзія, яку всі підтримують

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

Якість — це ілюзія, яку всі підтримують

На будь якому проєкті, де я контриб’ютив — кого не запитай, усі «за якість».

Рівно до першого конфлікту із дедлайном.
А потім якість стає «не на часі».

Процеси?

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

QA зазвичай знає, що реліз буде поганим. Знає за тижні.

Але його правда незручна. А незручні правди в ІТ не масштабуються.

Баги не є проблемою.

Вони побічний ефект культури «зробимо зараз, розберемось потім».

Коли вимоги це фантазії, рішення — компроміси зі страху, а відповідальність, звичайно ж колективна (тобто нічия), якість стає декорацією. Як Agile. Як «ownership».

QA не блокує релізи. Він просто залишає свідчення.

Якість це не процес. Це вибір.

І його майже ніхто не робить.

На цьому я міг би закінчити, піти із криком душі у Тредс, або в бар із колегами.

Але, мої вісім років досвіду роботи із різними командами, в різних країнах світу підказують, що проблема досить універсальна.

Як насправді покращити якість (а не робити вигляд)

По-перше, перестати вірити в героїзм QA

Якщо реліз «врятували» в останній момент це не успіх. Це провал процесу.
Героїзм — найдорожчий і найменш масштабований інструмент якості.

По-друге, зафіксувати момент, коли ще не пізно

Якість помирає не на тестуванні. Вона помирає на:
1) нечітких вимогах,
2) відсутності критеріїв приймання (acceptance criteria)
3) рішеннях «давайте якось».

Quality Gates мають бути до коду, а не після.

Необхідно зробити відповідальність неприємно конкретною
Колективна відповідальність — це її відсутність. За кожним рішення має бути ім’я.
Навіть якщо воно незручне.

Вимірювати треба не активність, а наслідки.

Не кількість тест-кейсів. Не кількість багів.

А:
— кількість відкатів,
— кількість гарячих фіксів,
— час від ідеї до стабільного релізу.

Все інше — заспокійливе.

Дозволити QA говорити «ні»

Без санкцій. Без «ти гальмуєш».
Без «це бізнес-ризик».
Якщо «ні» нічого не означає — роль QA декоративна.

Визнати, що якість — це управлінське рішення

Не технічне.

Не інструментальне.

Управлінське.

І поки це рішення не прийняте зверху — внизу залишиться лише імітація.

👍ПодобаєтьсяСподобалось5
До обраногоВ обраному0
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

Судячи з коментарів, тема болить
Я спробував розкласти це спокійніше й системніше в окремій статті.
Буду радий критиці, контраргументам і незгоді: dou.ua/forums/topic/57741

Визнати, що якість — це управлінське рішення

Ось тут 200%.

Коли на проєкті не виділяється навіть 5% часу на «технічний борг», і взагалі нема чітких цифр; коли тестується лише happy path; коли нема ні ревʼю колегами (справжнього, не «тут щось приблизно схоже — приймаю!»), ні навіть виписаних критеріїв якости коду і дизайну — за рік він перетворюється на лайно.

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

На жаль, місць, де нормальні процеси порушені, надто багато. І ще вони реально «розхолоджують», після них тяжко відновитись до нормальної роботи.

Згоден, коли якість не закладається як управлінське рішення, технічний борг накопичується швидше, ніж команда встигає його усвідомити. Обмеження тестування happy path, відсутність реальних рев’ю і чітких критеріїв якості дають передбачуваний результат.
Про роль QA також влучно підмічено. Коли QA зводять лише до «тестера», система втрачає механізм раннього вирівнювання очікувань між бізнесом і розробкою. Я спробував системніше розкласти цю тему в окремій статті і показати, де саме приймаються ці рішення і чому наслідки з’являються значно пізніше: dou.ua/forums/topic/57741

сьогодні розбирався що таке справжня оливкова олія..
виявляється, оце... не зовсім оливкова... а суміш... мікс...
res.cloudinary.com/...​/uxxrozi1ljdebxawni8d.png

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

А ось якщо там щось крім оливкової олії — то це інша справа. Але по фото я не можу зрозуміти, чи є суттєви добавки.

так у тому то й справа, шо там може соняшної 70% ... теж корисна )
до речі, читав що в Євросоюзі екстра віргін не може бути сумішшю... але не в нас.......
там ще ключове слово «продукт» ... типу не майонез, а соус майонезний )
такого товару в нас повно...

Дякую за коментар, я почув вас, поки ви не втратили інтерес до цієї теми, будь ласка ознайомтеся із цією статею dou.ua/forums/topic/57741
Сподіваюсь, вона буде більше відповідати вашим очікуванням

QA зазвичай знає, що реліз буде поганим. Знає за тижні.
...
QA не блокує релізи. Він просто залишає свідчення.

Звичайно, все знайдене повинно документуватися...

А тоді (й не «тоді» а «регулярно») з «зацікавлених сторін» збирається «група якості» (включаючи QA, а в ідеальних умовах й замовника), й рів’ювають віднайдені айтеми, й вирішують які справді критичні, куди можна і треба приділити час, а на які можна «забити», там, де треба розібратися, кличуть відповідних розробників, або їхніх лідів (вони зарання в курсі, який буде топік, бо агенда озвучується ще в інвітейшені й тому люди можуть підготуватися й відповідати по суті, а не бравзати по коду пригадуючи «про що взагалі мова»), всі прийняті рішення документуюся (зокрема й коментарями, записом в Джиру), й от тоді справді «все під котролем», й все трекається, хто яке рішення прийняв, й нічого не втіче, автора кожного коментаря, й кожен джастіфікейшен видимі...

Так, це якраз приклад працюючого механізму, а не декларації про якість. Ключове тут навіть не сама «група якості», а регулярність, підготовленість та фіксація рішень. Коли айтеми не просто знаходяться, а проходять спільне рев’ю, рішення приймаються свідомо, включно з рішенням нічого не робити, і вся відповідальність та обґрунтування зафіксовані, якість перестає бути абстракцією і стає керованим процесом. За моїм досвідом, саме прозорість прийнятих рішень, а не кількість знайдених дефектів, і є тим, що реально тримає систему під контролем.

Схоже ви відкрили Секрет Полішинеля.
У мене колись був менеджер який говорив прямо «я тут аби заробляти гроші».
І ця лаконічна відповідь пояснює майже усе, що відбувається на ІТ — галері.
Галера продає не продукт, не якість, і навіть не зроблену роботу — клієнт платить за людино-години.
Вайтішник також прийшов на галеру не храми будувати — а заробити щобільше. Але платять йому ставку — отже чим більше робочого часу лайкав котиків (або працював на другій роботі) — тим вигідніше.
За якість нікому не платять додатково: ні девелоперу, ні QA, ні менеджеру, ні галері. Якість не заробляє грошей — але чудово їх економить.
Саме тому в усьому світі з кожним роком на якості економлять усе більше. В Китаї навіть навчилися робити штучні курині яйця з пластика, які на вигляд як справжні — і їх купують!
Ось і весь секрет: рівень якості встановлює той, хто платить гроші!
Як тільки якість впаде занадто — гроші перестануть платити і ринок змусить щось робити. А поки клієнт платить за гівно — його і отримує.

— Синку, купи в мене пиріжки! Дуже смачні!
— А з чим вони у вас, бабусю?
— Ну, тут різні. З картоплею, капустою, м’ясом, гімном...
— Що?! З гімном?! Навіщо ж ви їх продаєте?!
— То вони ж безплатні.
— Та ж яка різниця! Ну хто їстиме гімно?! Ні, звичайно, задарма — це круто! Але ж це гімно!
— Ну то береш!?
— От!.. Але ж ви, бабусю, й дивна.
— Бери, синку, смачні ж пиріжки.
— Хе... Гімно в тісті, ну смішно ж.
— Бери-бери.
— Ну давайте. Візьму у вас один із капустою, один із м’ясом і... та що там, і два з гімном.

Якість не заробляє грошей напряму, вона керує вартістю майбутнього: підтримки, змін, масштабування, репутації.
Проблема в тому, що цей горизонт часто довший за контракт, квартал або бонусну схему, тому він випадає з рішень.
Ринок дійсно «покарає», але зазвичай із затримкою.
І коли це стається, платити доводиться вже не галері й не окремим інженерам, а бізнесу в цілому. Тому питання не в тому, чи «люблять» якість. Питання в тому, хто і на якому горизонті приймає рішення. Там, де горизонт короткий якість завжди програє.
Там, де він довший вона стає економічно раціональною. Це не ідеалізм, просто різні моделі відповідальності.

Якість — це ілюзія, яку всі підтримують

Для тих хто не знає фізику, світ сповнений магії.
Задача інженера зробити абстрактну якість вимірюваною величиною. Але чомусь це для багатьох людей (можливо навіть для переважної більшості людей в індустрії) є відкриттям. Власне те, що я це пишу у відповідь до Lead Test Engineer, Quality Assurance, лише підтверджує проблему.

На будь якому проєкті, де я контриб’ютив — кого не запитай, усі «за якість».

Рівно до першого конфлікту із дедлайном.
А потім якість стає «не на часі».

Тайм ту маркет — це один з якісних атрибутів. Він має бути виміряний, пріоритезований та врахований відповідно. Йдемо читаємо книжку www.amazon.com/...​Engineering/dp/0321815734 (не пам’ятаю чи там є тайм ту маркет, але з ним можна розібратись вже після Зе Книжки)

По-перше, перестати вірити в героїзм QA

Якщо реліз «врятували» в останній момент це не успіх....
Якість помирає не на тестуванні. Вона помирає на:
1) нечітких вимогах,

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

Для тих хто не знає фізику, світ сповнений магії

а те що айтішники знають фізику, можна вважати не більше ніж припущенням

Погоджуюсь: якість має бути вимірюваною. Але вимірюваність не дорівнює керованості.
Time to market є атрибутом якості, доки він не домінує над іншими без явного управління trade-off’ами.
Відповідальність QA за нечіткі вимоги коректна лише там, де QA має ownership і право блокувати реліз.
А героїзм QA — симптом відсутності управлінських рішень, а не проблема професії.
Наша практика: фіксований баланс delivery / стабілізації
У команді частина capacity зарезервована завжди: 70–80% нові фічі і 20–30% техборг, рефакторинг, стабілізація
Цей відсоток не «вибивається» дедлайном і
не зникає перед релізом.
QA тут не «ловить баги в кінці»,
а підтверджує, що ризики або закриті, або свідомо прийняті.

Time to market є атрибутом якості, доки він не домінує над іншими без явного управління trade-off’ами.

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

Відповідальність QA за нечіткі вимоги коректна лише там, де QA має ownership і право блокувати реліз.

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

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

Чудово. Тоді про що була стаття та оті всі фрази про героїзм?

Можу здогадатись, що це був просто крик душі після прой..ного менеджментом релізу. Тоді так би і написали, що це не обговорення, а просто виплеснути емоції. Розумію що це треба, часто сам так роблю.

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

Так, це типовий технічний борг.
Коли пріоритет лише нові фічі, система втрачає підтримуваність, зростає складність змін і швидкість розробки падає, а не зростає.
Без виділеного часу на рефакторинг і фікс дефектів time-to-market погіршується в середньостроковій перспективі.

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