La decisione se esporre un'interfaccia per il personale non tecnico per modificare le regole aziendali dipende in gran parte da diversi fattori, tra cui gli obiettivi del progetto, il costo del progetto, la durata del progetto e il rapporto tra noti e sconosciuti nel progetto.
Ad esempio, se credessi che nessuno avrebbe usato l'interfaccia delle regole, probabilmente avrei rinunciato a implementarlo. Tuttavia, se avessi motivo di credere che i cambiamenti sarebbero frequenti e che diversi utenti finali si aspetterebbero che siano in vigore regole diverse, prenderei in considerazione l'idea di lavorare sulla creazione di tale funzionalità.
Ho scelto di farlo su un progetto e ci sono voluti anni prima che la funzione fosse mai ampiamente utilizzata. Sospettavo che alla fine avremmo avuto utenti finali che avrebbero voluto personalizzare le cose da soli, quindi abbiamo implementato questa funzionalità a pezzi.
È iniziato come qualcosa che solo alcune persone, come sviluppatori o amministratori, potevano usare. L'interfaccia era goffa, ma utilizzabile se sapevi cosa stavi facendo. Ma al momento del completamento del prodotto, la logica del backend del motore delle regole è tornata utile e il nostro team di progettazione gli ha fornito un'interfaccia utente bella e orientata al cliente.
Se dovessi farlo diversamente, potrei scegliere un'architettura di database diversa solo perché la curva di apprendimento è alta. Ma in breve, la sua creazione iniziale ha portato in seguito a molte funzioni rivolte ai clienti in seguito senza il mal di testa di dover tornare indietro nel codice e riformattarlo per includere tutte le regole dinamiche.