Не можешь контролировать нормально и полно - лучше не делай этого вообще.
Не можешь организовать полноценную реакцию на выявленные в результате контроля отклонения - не трать ресурсы на сам контроль.
Лучше выполнить полноценный контроль раньше или позже по процессу (если такое возможно), но не организовывать контроль "для галочки".
Расстановка точек контроля в процессе - интересное и не простое дело.
Есть много теоретических выкладок на эту тему. Ну, а я хочу привести один из реальных случаев.
Сейчас будет немного деталей, специфики, но без них нельзя...
Каждый раз, перед тем, как "поставить проверку" неких условий в процессе работы программы необходимо подумать кому давать результаты этой проверки. Смогут ли эти пользователи с этими результатами что-то сделать.
Иногда эта логика не соблюдается.
В одной из компаний, где проходило внедрение информационной системы, возникла проблема у операторов набора. В процессе работы в системе у них периодически возникло сообщение об ошибке, которое мешало им работать. Операторы, в лице их руководителя, просили убрать сообщение.
Разбираюсь.
Оказывается по процессу контрагентам после того, как на них заказ оформлен, должно уходить письмо-извещение. По почте. И при наборе заказа, периодически оператор получал ненавистное сообщение: "Не задан e-mail контрагента. Операция прервана". И документ не проводился.
У оператора, как правило, не было доступа с правами редактирования к адресам контрагентов. Т.е. поправить ситуацию оператор сам не мог, продолжить выполнять свою работу тоже. И превращался в "пинарика" - эдакого сотрудника, который начинал искать "правду": кто отвечает за этого контрагента? кто знает адрес его электронной почты? кому нужно написать письмо, чтоб нужная информация появилась в системе?
Неоптимальная потеря времени, с точки зрения руководителя операторов.
С точки зрения программиста, который процесс весь не видит, его не конструирует, все сделано правильно:
- не все контрагенты имеют адреса эл. почты и требовать этот реквизит обязательным к заполнению при создании контрагента нельзя.
- на этапе проведения заказа по этому контрагенту, когда становится понятно, что письмо нужно отправить, проверяется наличие e-mail. (И хорошо, что проверяется, а то можно и просто "свалиться" в ошибку, или, чего еще хуже, просто оставить адресата без письма).
Контроль выполняется. Проблема решается.
С точки зрения аналитика - процесс организован не оптимально. Нужна еще одна точка контроля. После ввода контрагента в систему, но до выбора контрагента в этом документе. И если процесса "Ведение реестра получателей рассылки" еще нет, то его нужно создать. И проверять там.
В зависимости от специфики предприятия возможны и иные решения, например, дать права на ввод e-mail операционисту (допустим он знает, где взять эту информацию).
Главное не оставлять ситуацию в том виде, в котором она есть.