Рішення про те, чи потрібно виставляти інтерфейс для нетехнічного персоналу для зміни правил бізнесу, багато в чому залежить від декількох факторів, включаючи цілі проекту, вартість проекту, термін експлуатації та співвідношення знань до невідомих в проект.
Наприклад, якби я вважав, що ніхто не буде використовувати інтерфейс правил, я б, мабуть, відмовився від його реалізації. Однак, якби я мав підстави вважати, що зміни будуть часті і що різні кінцеві користувачі очікують, що будуть застосовані різні правила, то я б розглядав можливість роботи над побудовою такої функціональності.
Я вирішив зробити це над проектом, і пройшло багато років, перш ніж ця функція була широко використана. Я підозрював, що в кінцевому підсумку у нас з’являться кінцеві користувачі, які хочуть самі налаштувати речі, тому ми реалізували цю функціональність на частини.
Він починався як щось, що можуть використовувати лише певні люди, такі як розробники чи адміністратори. Інтерфейс був незграбний, але корисний, якщо ви знали, що робите. Але до того часу, коли продукт наближався до завершення, логіка правил роботи двигуна з правилами стала корисною, і наша команда дизайнерів надала йому прекрасний, орієнтований на клієнтів інтерфейс користувача.
Якби я робив це по-іншому, я міг би вибрати іншу архітектуру баз даних тільки тому, що крива навчання висока. Але коротше кажучи, побудова цього на ранньому етапі призвела до того, що згодом багато функцій, що стоять перед клієнтом, без головних болів повертаються до коду і рефактор, щоб включати всі динамічні правила.