Перейти до змісту
Увійти

Теорія

Критерії приймання: що означає «готово»

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

~8 хв читання · 9 вправ · 250 балів

Перед початком

Готово — на чию думку?

Знову запуск фізики в Klasna: перелік результатів роботи готовий, з власниками й діапазонами трудомісткості. Leo пропонує написати для програми «хороші уроки», а Vira заперечує: фрилансери-автори не знатимуть, що вона має на увазі.

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

Критерії приймання: побажання, перетворене на перевірку

Критерії приймання — умови, які можна перевірити й яким має відповідати один результат роботи; їх погоджують до початку роботи, і названа людина проводить перевірку. Вони перетворюють «готово» з думки на рішення, яке хтось може ухвалити конкретного дня.

«Хороші уроки» — результат роботи, який ніхто не може прийняти. Це побажання: фрилансери-автори не можуть на нього орієнтуватися, і ніхто не може сказати «ні» без сварки, бо кожен вкладає в «хороші» своє. Порівняй: «кожна тема іспиту з механіки має план уроку, і рецензія Vira не знаходить фактичних помилок». Автори знають, що робити; Vira знає, що перевіряти; розділ або проходить, або повертається.

Перевір кожен кандидат у критерії питанням чи може він не пройти? «Цікавий і сучасний», «автори зробили все, що могли» й «Leo подобається» не можуть провалитися жодного конкретного дня, тож і прийняти з ними нічого не можна.

  • Так
    «Кожна тема іспиту з механіки має план уроку; рецензія Vira не знаходить фактичних помилок»
  • Не так
    «Хороші уроки»

    Побажання, яке не можна ні прийняти, ні відхилити.

Названий приймальник, який не виконував роботу

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

Хто підходить? Той, хто покладатиметься на результат роботи, або експерт, що може його оцінити. Для програми й добірок задач це Vira: вона знає фізику для іспиту, і її репетитори викладатимуть за цим матеріалом. Для сторінки чесний приймальник — керівник проєкту: не будував її і може пройти шлях родини, перевіривши тестовою покупкою з телефона. Для введення репетиторів у роботу, результату Roman, приймальник — хтось інший, не Roman.

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

  • Так
    «Сторінка: приймає керівник проєкту після тестової покупки з телефона»
  • Не так
    «Добірки задач: приймають їхні автори»

    Автор не бачить, що пропустив.

Перетвори кожне розмите слово на перевірку зі способом

Експерти зазвичай описують якість словами: добра добірка задач для Vira — «правильна, на рівні іспиту й з відповідями». Кожне слово стає критерієм, щойно спитаєш, як ти це перевіриш у реальний день.

«Правильна» для трьохсот задач не може означати розв'язати всі. Вона може означати вибірку з порогом: Vira розв'язує випадкову вибірку з 20 задач і не знаходить фактичних помилок. «З відповідями» стає перевіркою за полями: кожна задача має відповідь і тему іспиту. А оскільки перевірка може не пройти, домовся про правило на випадок провалу зараз: якщо у вибірці знайдено помилку, це ознака, що їх більше, тож добірка повертається, автор перевіряє її всю, а Vira бере нову вибірку.

Поза критеріями лишаються надії на кшталт «якісні задачі» чи «учням сподобається». Вони можуть бути правдою, але ніхто не скаже в конкретний день, чи їх досягнуто, тож вони не можуть вирішити, чи прийнято добірку.

  • Так
    «Vira розв'язує випадкову вибірку з 20 задач: жодних фактичних помилок. Кожна задача має відповідь і тему»
  • Не так
    «Задачі якісні»

    Ніхто не перевірить у конкретний день.

П'ять кроків від слова до критерію

Перетворення слова про якість на критерій приймання йде за п'ятьма кроками, кожен спирається на попередній.

  1. Візьми розмите слово: добірка має бути «правильною».
  2. Спитай, що ти побачиш, якщо це правда: задачі без фактичних помилок.
  3. Обери спосіб перевірки: Vira розв'язує випадкову вибірку, бо триста задач не розв'яже ніхто.
  4. Задай поріг: вибірка з 20 задач, жодної фактичної помилки.
  5. Домовся, що буде в разі провалу: автор перевіряє всю добірку, а Vira бере нову вибірку.

Порядок не випадковий. Без кроку 2 обереш спосіб, що міряє не те (наприклад, рахує кількість задач). Без кроку 3 порогу нема до чого застосувати. А правило на випадок провалу має сенс, лише коли вже є перевірка, яка може не пройти. Ті самі п'ять кроків працюють для «точного» тесту Danylo чи сторінки, що «викликає довіру».

  • Так
    Слово → що побачиш → спосіб → поріг → правило на випадок провалу
  • Не так
    Стрибнути від «правильна» одразу до «Vira схвалює»

    Ні способу, ні порогу: досі побажання.

Невелика перевірка — швидкий тест, а не доказ

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

«Працює й точний» від Danylo стає таким: тест визначає трьом учням пілоту той самий рівень, що Vira знаходить сама після двадцятихвилинної розмови, працює на телефоні й ноутбуці, і кожен результат зберігається. Це швидкий тест (smoke check): він ловить зламаний тест до старту, наприклад помилку в підрахунку, що всім ставить найвищий рівень.

Він не доводить, що тест точний. Три збіги можуть статися випадково; чи правильно тест визначає рівень, покаже лише більше учнів, у даних за лютий. Запиши це обмеження в критерій («лише швидкий тест; точність визначення рівня перевіримо на даних лютого»), щоб пізніше ніхто не цитував трьох учнів пілоту як доказ і щоб хтось справді подивився на лютневі дані.

  • Так
    «Швидкий тест: троє учнів пілоту збігаються з рівнем від Vira. Точність перевіримо на даних лютого»
  • Не так
    «Пілот пройдено, отже тест точний»

    Три випадки нічого не доводять.

Критерії приймання й визначення готовності

Два види «готово» працюють на різних рівнях, і плану потрібні обидва.

Визначення готовності (definition of done) — один чекліст для всієї роботи, яку випускає команда. У команди Danylo він є: кожен випуск має код, переглянутий другим розробником, і протестований. Від частини до частини він не змінюється.

Критерії приймання належать одному результату роботи: що ця сторінка має робити для родин. Вона показує пакети на 8, 16 і 32 уроки з цінами, дає записатися на фізику від початку до кінця й працює на телефоні; перевірка — тестова покупка з телефона.

Рядок «сторінка має викликати довіру» — ні те, ні інше: це побажання, доки не стане перевіркою. А коли результат роботи не проходить критерій перед стартом і спонсор однаково приймає його з відомою вадою, це письмовий виняток за підписом Leo, а не тихий пропуск. Розрізнення всіх чотирьох показує, яку саме обіцянку виконала робота.

  • Так
    «Прийнято з відомою вадою: дві задачі в роботі; підписав Leo 25 січня»

    Виняток, письмово.

  • Не так
    Вважати командний чекліст випуску критеріями приймання сторінки

    Він нічого не каже про потреби родин.

Погоджуй критерії до початку роботи

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

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

Розбіжності вітаються, але рано. Якщо автори вважають вибірку з 20 надто суворою, нехай сперечаються зараз, і домовтеся: скажімо, 20 задач, одна описка допустима, фактичних помилок — жодної. Погоджені в жовтні, критерії — спільна ціль. У січні, за три тижні до старту, та сама розмова — сварка про те, чи комусь заплатять, коли всі втомлені, а дата фіксована.

  • Так
    Надіслати авторам критерії приймання разом із завданням на розділ
  • Не так
    «Спершу подивімося на добірки, а тоді вирішимо, що означає правильно»

    Критерії, що пасують до будь-чого.

Коли критерій не пройдено: виправити, вирізати або виняток із підписом

Критерії перевіряються в погані дні. За три дні до старту вибірка Vira з 20 задач добірки 2 знаходить дві фактичні помилки, і всі хочуть просто виправити ці дві.

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

Чого ніколи не варто робити, так це тихо опускати планку («дві на 20 цього разу нормально») чи мовчки приймати. І те, і те знецінює всі інші критерії.

Як це складається докупи: перевірювані критерії для кожного результату роботи, названий приймальник, погодження заздалегідь і чесна реакція на провал. Наступний урок: перелік довший за доступний час, тож ти розподілиш його на обов'язкове, бажане й можливе.

  • Так
    «Добірка 2 не пройшла вибірку. Варіанти для Leo: повна перевірка до 30-го, старт без неї або виняток із підписом»
  • Не так
    «Дві помилки на 20 — цього разу майже норма»

    Тихо опущена планка.

Готові потренуватися?

Виконайте вправи уроку й отримайте 250 балів, коли пройдете його вперше.

Розпочати вправи