Не можеш контролювати належно й повно — краще не роби цього взагалі.
Не можеш організувати повноцінну реакцію на виявлені під час контролю відхилення — не витрачай ресурсів на сам контроль.
Краще, якщо це можливо, повноцінно перевірити результат на попередньому чи наступному етапі, ніж організовувати контроль лише для годиться.
Розташування точок контролю в процесі — цікава й непроста справа.
Є багато теоретичних міркувань на цю тему. А я хочу навести один із реальних випадків.
Зараз буде трохи деталей і специфіки, але без них не обійтися...
Щоразу, перш ніж додати перевірку певних умов у роботу програми, потрібно подумати, кому надавати результати цієї перевірки. Чи зможуть ці користувачі щось із ними зробити.
Іноді цієї логіки не дотримуються.
В одній із компаній, де впроваджували інформаційну систему, виникла проблема в операторів введення даних. Під час роботи в системі в них періодично з'являлося повідомлення про помилку, яке заважало працювати. Оператори через свого керівника просили прибрати повідомлення.
Розбираюся.
Виявляється, за порядком роботи контрагентам після оформлення замовлення мало надходити повідомлення електронною поштою. І під час введення замовлення оператор періодично отримував ненависне повідомлення: «Не задано e-mail контрагента. Операцію перервано». Документ не проводився.
Оператор зазвичай не мав доступу з правом редагування адрес контрагентів. Тобто виправити ситуацію самостійно він не міг, продовжити роботу — теж. І перетворювався на такого собі «підганяльника»: починав шукати «правду» — хто відповідає за цього контрагента? Хто знає адресу його електронної пошти? Кому потрібно написати, щоб потрібна інформація з'явилася в системі?
З погляду керівника операторів — марнування часу.
З погляду програміста, який не бачить і не проєктує весь процес, усе зроблено правильно:
— не всі контрагенти мають адреси електронної пошти, тому вимагати обов'язкового заповнення цього реквізиту під час створення контрагента не можна.
— на етапі проведення замовлення для цього контрагента, коли стає зрозуміло, що потрібно надіслати листа, перевіряється наявність e-mail. І добре, що перевіряється, бо можна й просто отримати помилку або, що ще гірше, залишити адресата без листа.
Контроль виконується. Проблема вирішується.
З погляду аналітика процес організовано неоптимально. Потрібна ще одна точка контролю: після введення контрагента в систему, але до його вибору в цьому документі. І якщо процесу «Ведення реєстру отримувачів розсилки» ще немає, його потрібно створити. І перевіряти там.
Залежно від специфіки підприємства можливі й інші рішення. Наприклад, надати операторові права на введення e-mail, якщо він знає, де взяти цю інформацію.
Головне — не залишати ситуацію такою, як вона є.