Оригінальна стаття – Watch Out for Ambiguous Requirements, переклад – Марʼяна Кухтин, ревью – Олександра Серебрянська (Business Analysis Community Kyiv).
Деякі внутрішньо неоднозначні слова, яких краще уникати під час написання вимог або будь-чого іншого.
Відтоді, як я почав свою кар’єру консультанта, я переглянув десятки документів з вимогами від своїх клієнтів. Ці документи часто рясніють двозначними словами та фразами. Як читач, я сам можу вловити одну форму двозначності: твердження, які я можу інтерпретувати як такі, що мають кілька можливих значень. Однак інший тип двозначності важче виявити. Це коли кілька людей читають те саме твердження та тлумачать його по-різному.
Неоднозначна мова може змусити членів команди працювати над різними цілями, рухаючись у протилежних напрямках. Неминучим результатом є переробка, коли неоднозначність виявляється і всі нарешті доходять згоди щодо значення твердження.
Найголовнішою метою написання вимог — або, насправді, написання будь-чого — є чітка та ефективна комунікація. Є багато внутрішньо неоднозначних термінів, яких краще уникати під час написання вимог. Точно визначити, що ви хочете сказати, вимагає трохи більше роботи, але ці інвестиції в чітке мислення та висловлення принесуть великі дивіденди.
У таблиці нижче наведено кілька неоднозначних слів і фраз, які я рекомендую не використовувати під час написання вимог. Ваші колеги по команді, клієнти та інші зацікавлені сторони будуть раді цьому.
Неоднозначні терміни (англ.) | Неоднозначні терміни (переклад укр.) | Способи покращення |
acceptable, adequate | прийнятний, адекватний | Визначте в чому саме полягає прийнятність і як система може це оцінити |
and/or | та/або | Укажіть, чи ви маєте на увазі «і», «або» чи «будь-яку комбінацію з опцій», щоб читачеві не довелося вгадувати |
as much as practicable | наскільки це можливо | Не залишайте на розсуд розробників що практично/ можливо. Позначте цей пункт як TBD (буде визначено) і встановіть дату на це |
at least, at a minimum, not more than, not to exceed | принаймні, як мінімум, не більше ніж, не перевищуючи | Вкажіть мінімальні та максимальні допустимі значення |
best, greatest, most | найкращий, найбільший, найбільш [..] | Вкажіть, який рівень досягнення є бажаним і мінімально прийнятний рівень досягнення |
between, from X to Y | між, від X до Y | Визначите, чи включені кінцеві точки в діапазон |
depends on | залежить від | Опишіть природу залежності. Чи інша система надає вхідні дані для системи, має бути встановлено інше програмне забезпечення, перш ніж ваше програмне забезпечення може бути запущене, чи ваша система покладається на іншу для виконання деяких обчислень або послуг? |
efficient | ефективний | Визначте, наскільки ефективно система використовує ресурси, як швидко вона виконує певні операції або як швидко користувачі можуть виконувати певні завдання в системі |
fast, quick, rapid | швидкий, стрімкий, миттєвий | Вкажіть мінімально допустимий час за який система виконує певну дію |
flexible, versatile | гнучкий, універсальний | Опишіть способи, в які система повинна бути здатна адаптуватися до зміни робочих умов, платформ або бізнес потреб |
i.e., e.g. | тобто, напр. | Багатьом людям незрозуміло, що з цього означає «тобто, а саме» (i.e., в розумінні що повний список значень буде представлений), а що означає «напр.» (e.g., в розумінні що лише певні приклади будуть представлені). Використовуйте слова вашою рідною мовою, не плутаючись в абревіатурах латиною |
improved, better, faster, superior, higher quality | покращений, кращий, швидший, кращий ніж, вищої якості | Кількісно визначте, наскільки краще чи швидше є адекватним покращенням у конкретній функціональній області чи аспекті якості |
including, including but not limited to, and so on, etc., such as, for instance | включаючи, включаючи, але не обмежуючись, і так далі, і т. д., такі як, наприклад | Перерахуйте всі можливі значення чи функції, а не лише приклади, або створіть відсилку для читача на місце розташування повного списку. Інакше різні читачі можуть по-різному інтерпретувати те, що є повним набором елементів, про який йдеться, або де цей набір зупиняється |
in most cases, generally, usually, almost always | у більшості випадків, взагалі, зазвичай, майже завжди | Уточніть, коли вказані умови або сценарії не застосовуються, і що відбувається тоді.
Опишіть, як користувач або система можуть відрізнити один випадок від іншого. |
match, equals | відповідає, дорівнює | Визначте, чи чутливе порівняння тексту до регістру (case-sensitive) та чи означає це, що фраза “містить” “починається з” чи “є точним збігом”. Для дійсних чисел укажіть ступінь точності порівняння (до якої цифри після коми має бути збіг) |
maximize, minimize, optimize | максимізувати, мінімізувати, оптимізувати | Вкажіть максимальне та мінімальне допустимі значення деякого параметра |
normally, ideally | нормально, ідеально | Визначте ненормальні або неідеальні умови та опишіть, як система повинна поводитися в таких ситуаціях |
optionally | опціонально (за бажанням, необов’язково) | Уточніть, чи мається на увазі вибір розробника, вибір системи чи вибір користувача |
probably, ought to, should | напевно, має, повинен | Буде чи не буде? |
reasonable, when necessary, where appropriate, if possible, as applicable | розумно, коли це необхідно, де це доцільно, якщо це можливо, відповідно до обставин | Роз’ясніть, як розробник або користувач можуть зробити це судження |
robust | надійний | Визначте, як система має обробляти винятки та реагувати на несподівані умови роботи |
seamless, transparent, graceful | бездоганний, прозорий, витончений | Що для користувача означає «бездоганність» або «витонченість»? Перекладіть очікування користувача в конкретні характеристики продукту, які можна моніторити |
several, some, many, few, multiple, numerous | кілька, деякі, багато, небагато, кілька, численні | Вкажіть кількість або мінімальну та максимальну межі діапазону |
shouldn’t | не повинен | Намагайтесь сформулювати вимоги як твердження, описуючи те, що буде робити система |
state-of-the-art | сучасний | Роз’ясніть значення цієї фрази для зацікавленої сторони |
sufficient | достатній | Вкажіть, скільки чогось становить достатність (достатню кількість) |
support, enable | підтримувати, робити можливим | Визначте, які саме функції, що виконуватиме система, будуть підтримкою певної можливості |
user-friendly, simple, easy | зручний, простий, легкий | Опишіть характеристики системи, які задовольнять потребам та очікуванням клієнта щодо зручності використання |
До теми – User Story та Acceptance Criteria: пишемо чіткі та зрозумілі вимоги
1 thought on “ВІГЕРСОПЕДІЯ – Клята неоднозначність, Карл!”