Промяна на изискване
Накратко: Изискванията се променят, и това е нормално. Опасно е, когато промяната мине без запис. Анализът на въздействието тръгва от промененото изискване по матрицата към тестовете и към зависимите изисквания. Изискването има версии, а базовата линия е договореният набор версии, срещу който се работи. Промяна след нея минава през заявка, оценка и одобрение от човека, който отговаря за изискването.
Проблем
Тестът, който „сгреши“
В понеделник на среща маркетингът казва: „От днес безплатната доставка е от 60 €“. Програмистът сменя числото още същия ден.
Във вторник тестът „Количка за 50,00 €: доставката е безплатна“ пада. QA записва дефект: „Доставката е 4,90 € при поръчка точно 50,00 €“. Програмистът го затваря: „Така е поискано.“ QA пита: „Къде е написано?“ Никъде. Изискването още казва 50 €, а помощната страница на сайта също.
Два дни отиват в спор чия версия е вярна. Промяната не е била грешна. Грешно е, че мина без запис.
Идеята
Анализ на въздействието
Преди да се смени нещо, се пита: какво още зависи от него? Това е анализът на въздействието (impact analysis). Матрицата от предишния урок го прави бърз:
- Намираш реда на промененото изискване.
- Всяка отметка на реда е тест, който трябва да се прегледа.
- За всеки такъв тест решаваш: сменя се, остава същият или вече не трябва.
- Питаш кои нови тестове трябват за новото правило.
„Прегледан“ не значи „сменен“. Прагът става 60 €. „Количка за 120,00 €: доставката е безплатна“ се преглежда и остава същият. „Количка за 50,00 €“ се сменя: вече е 4,90 €. А трябват и два нови теста, на новата граница: 59,99 € и 60,00 €.
Освен тестовете въздействието стига и до други неща: екрана на количката, помощната страница, рекламата, отчета на счетоводството. Матрицата показва тестовете. Останалото го знае анализаторът, а често и заинтересованите страни.
Пробвай
Срокът за връщане става 30 дни
Отбележи връзките. После, във втората стъпка, избери кои тестове трябва да се прегледат при промяната.
Тестове
- Т-1: Получена на 1 октомври, връщането е заявено на 15 октомври: приема се.
- Т-2: Получена на 1 октомври, връщането е заявено на 16 октомври: отказва се.
- Т-3: Изпратена, още недоставена поръчка: връщането се отказва.
- Т-4: Платена, още неизпратена поръчка: отказът се приема.
- Т-5: Изпратена поръчка: отказът не се приема.
- Т-6: Доставена поръчка, връщане на петия ден: приема се.
Натисни клетката, където тестът проверява изискването; отново, за да махнеш връзката. Стрелките местят между клетките, Space или Enter отбелязва.
| Изисквания | Т-1: Получена на 1 октомври, връщането е заявено на 15 октомври: приема се. | Т-2: Получена на 1 октомври, връщането е заявено на 16 октомври: отказва се. | Т-3: Изпратена, още недоставена поръчка: връщането се отказва. | Т-4: Платена, още неизпратена поръчка: отказът се приема. | Т-5: Изпратена поръчка: отказът не се приема. | Т-6: Доставена поръчка, връщане на петия ден: приема се. | Покрито от |
|---|---|---|---|---|---|---|---|
| И-1 Продукт се връща до 14 дни от получаването. | 0 | ||||||
| И-2 Връща се само доставена поръчка. | 0 | ||||||
| И-3 Платена поръчка се отказва преди изпращането. | 0 | ||||||
| И-4 Изпратена поръчка не може да се откаже. | 0 | ||||||
| Проверява | 0 | 0 | 0 | 0 | 0 | 0 |
Еталонната матрица
- И-1: Т-1, Т-2, Т-6
- И-2: Т-3, Т-6
- И-3: Т-4
- И-4: Т-5
Кои тестове трябва да се прегледат? Т-1, Т-2, Т-6. „Т-2“ се сменя: 16 октомври вече се приема. „Т-1“ и „Т-6“ остават верни, но „Т-1“ вече не е на границата. Трябват и два нови теста: 31 октомври (приема се) и 1 ноември (отказва се).
Матрицата казва три теста: тези на реда на И-1. Т-6 е в анализа, защото проверява и срока, макар да е и за доставената поръчка. Тестовете за отказа (Т-4 и Т-5) не зависят от срока за връщане.
Идеята
Изискванията зависят едно от друго
Понякога промяната е в едно изискване, а числото стои и в друго. Прагът от 50 € е в две изречения:
- И-1: доставката е безплатна при поръчка от 50,00 € включително;
- И-2: под 50,00 € доставката е 4,90 €.
Сменяш И-1 на 60 €, а И-2 остава с 50 €. Сега поръчка за 55 € не е нито безплатна, нито под 50 €. Двете изисквания си противоречат.
Затова анализът не спира на реда в матрицата. Пита и кои изисквания зависят от промененото. Добре воденият списък пази и тези връзки, между изискванията. Тогава И-2 излиза в анализа сам, а с него и неговите тестове.
Идеята
Версии и базова линия
Изискването не се презаписва. То получава нова версия:
| Изискване | Версия | Текст | От кога | Кой реши |
|---|---|---|---|---|
| И-1 | 1 | безплатна доставка от 50,00 € | 1 март | собственикът |
| И-1 | 2 | безплатна доставка от 60,00 € | 16 ноември | собственикът, по заявка на маркетинга |
Старата версия остава. Клиент с поръчка за 55 € от миналата седмица има право на безплатна доставка: по версия 1, която тогава е важала.
Базовата линия (baseline) е договореният набор от изисквания, всяко в точна версия, срещу който екипът работи. Например „изискванията за пускането на 16 ноември“. Тестовете и матрицата се връзват към нея: „Т-1 проверява И-1, версия 1“. Когато някой каже „по изискванията“, базовата линия отговаря на въпроса „по кои?“.
След като базовата линия е договорена, промяна не се прави на среща, с една дума. Тя минава по път.
По-точно, за любопитните
IREB CPRE разглежда версиите, конфигурациите и базовите линии в главата за управлението на изискванията. Конфигурацията е набор от изисквания, всяко в една версия. Базовата линия е конфигурация, която е стабилна и договорена, често за едно пускане, и се променя само по установения ред за промени.
В BABOK v3 съответните задачи са в областта Requirements Life Cycle Management: Maintain Requirements (изискванията се поддържат верни и с история) и Approve Requirements (договарянето и одобрението, след което изискванията могат да се ползват като база за работа). Самото понятие „baseline“ се ползва и в двете програми, но с малко различни думи, затова учи определението от програмата, по която се явяваш.
Идеята
Кой одобрява промяната
Пътят на промяната има три стъпки, и всяка е на различен човек:
- Заявка. Всеки може да поиска промяна: маркетингът, клиент, складът. Анализаторът я записва: какво, защо, от кога.
- Оценка. Анализаторът, QA и програмистите казват какво пипа и колко струва. Това е анализът на въздействието.
- Решение. Решава човекът, който отговаря за изискването и за бюджета. В Scrum това е собственикът на продукта (Product Owner). В голяма организация може да е съвет за промените (Change Control Board), където са бизнесът, техническите хора и QA.
Решаващият не е този, който иска най-силно, нито програмистът, който ще смени числото. Решаващият вижда цената и казва „да“, „не“ или „да, но от следващия месец“.
Това е управлението на промените (change control). В гъвкав екип то е леко: промяна на стори, което още не е в работа, е разговор със собственика и нов ред в списъка. Тежко е за промяна на нещо, което вече е договорено, направено или пуснато.
По-точно, за любопитните
BABOK v3 описва оценката на промените като задача Assess Requirements Changes (в областта Requirements Life Cycle Management). Как се взимат решенията за промени и кой ги одобрява, се договаря по-рано, в плана за управление на изискванията (Plan Requirements Governance), а одобрението е задачата Approve Requirements.
IREB CPRE описва съвета за промените (Change Control Board) и заявката за промяна (change request) като част от управлението на изискванията. Колко формален е редът, зависи от проекта: в регулирана област всяка промяна има подпис, а в малък екип стига запис и разговор.
ISTQB CTFL v4.0.1 (раздел 1.4.4) нарежда сред ползите от проследимостта и анализа на въздействието при промени.
Пробвай
Пътят на промяната
Подреди пътя на промяната на прага от заявката до пускането.
Анализаторът записва заявката за промянаАнализ на въздействието: изисквания, тестове, екрани, текстовеМаркетингът иска прагът за безплатна доставка да стане 60 €Изискването получава нова версия, а базовата линия се обновяваТестовете се сменят, програмистът сменя прага и всичко минаваСобственикът на продукта решава, като вижда ценатаПромяната се пуска на датата от новата версия
Решението идва след оценката: собственикът трябва да види цената, преди да каже „да“. Програмистът сменя числото след новата версия на изискването, не преди нея. Иначе става като в понеделника от началото на урока.
Упражнение
Прагът става 60 €
1. Прагът за безплатна доставка. Промяната е в И-1, но не само там.
Отбележи връзките. После избери кои тестове трябва да се прегледат, когато прагът стане 60 €. Внимавай къде още стои числото 50.
Тестове
- Т-1: Количка за 50,00 €: доставката е безплатна.
- Т-2: Количка за 49,99 €: доставката е 4,90 €.
- Т-3: Количка за 120,00 €: доставката е безплатна.
- Т-4: Количка без продукти: поръчката се отказва.
- Т-5: В количката има 10 тениски. Добавяне на още една се отказва.
- Т-6: Количка за 55,00 €: доставката е безплатна.
Натисни клетката, където тестът проверява изискването; отново, за да махнеш връзката. Стрелките местят между клетките, Space или Enter отбелязва.
| Изисквания | Т-1: Количка за 50,00 €: доставката е безплатна. | Т-2: Количка за 49,99 €: доставката е 4,90 €. | Т-3: Количка за 120,00 €: доставката е безплатна. | Т-4: Количка без продукти: поръчката се отказва. | Т-5: В количката има 10 тениски. Добавяне на още една се отказва. | Т-6: Количка за 55,00 €: доставката е безплатна. | Покрито от |
|---|---|---|---|---|---|---|---|
| И-1 Доставката е безплатна при поръчка от 50,00 € включително. | 0 | ||||||
| И-2 Под 50,00 € доставката е 4,90 €. | 0 | ||||||
| И-3 Празна количка не се поръчва. | 0 | ||||||
| И-4 В количката има най-много 10 бройки от продукт. | 0 | ||||||
| Проверява | 0 | 0 | 0 | 0 | 0 | 0 |
Еталонната матрица
- И-1: Т-1, Т-3, Т-6
- И-2: Т-2
- И-3: Т-4
- И-4: Т-5
Кои тестове трябва да се прегледат? Т-1, Т-2, Т-3, Т-6. Прагът стои и в „И-2“: „под 50,00 €“ става „под 60,00 €“, затова се преглежда и „Т-2“. „Т-1“ и „Т-6“ се сменят: при 50,00 € и при 55,00 € доставката вече е 4,90 €. „Т-2“ и „Т-3“ остават верни, но „Т-2“ вече не е на границата. Новите тестове са 59,99 € и 60,00 €.
Редът на И-1 дава Т-1, Т-3 и Т-6. Но И-2 зависи от същото число: „под 50,00 €“ трябва да стане „под 60,00 €“. Затова се преглежда и Т-2. От четирите теста се сменят два (50,00 € и 55,00 €), а два остават. Количката (Т-5) и празната поръчка (Т-4) не зависят от прага.
Тест
Провери се
Свързани уроци
Раздел „Свързани уроци“- Нужно отпреди: Видове изисквания · Какво е стори · Критерии за приемане · Матрицата на проследимостта
- Продължава в: Какво покритието не казва · Приемното тестване с бизнеса · Мерене след пускането · Промо кодове: от заявката до пускането
- Задачи по темата: Проследимост