Teknik olmayan personelin iş kurallarını değiştirmesi için bir arayüz ortaya koyup koymama kararı, büyük ölçüde projenin hedefleri, projenin maliyeti, projenin ömrü ve bilginin bilinmeyenlerin bilinmeyenlere oranı gibi çeşitli faktörlere bağlıdır. projesi.
Örneğin, hiç kimsenin kurallar arayüzünü kullanmayacağına inanırsam, büyük olasılıkla onu uygulamayı seçmezdim. Ancak, değişikliklerin sık olacağına ve farklı son kullanıcıların farklı kuralların uygulanmasını bekleyeceğine inanmam için bir nedenim olsaydı, bu tür bir işlevsellik oluşturmak için çalışmayı düşünürdüm.
Bunu bir projede yapmayı seçtim ve özelliğin yaygın olarak kullanılması yıllar sürdü. Sonunda işleri kendileri özelleştirmek isteyen son kullanıcılara sahip olacağımızdan şüphelendim, bu yüzden bu işlevselliği parçalar halinde uyguladık.
Sadece geliştiriciler veya yöneticiler gibi belirli kişilerin kullanabileceği bir şey olarak başladı. Arayüz tıknazdı, ancak ne yaptığınızı biliyorsanız kullanılabilir. Ancak ürün tamamlanmaya yaklaştığında, kural motoru arka uç mantığı işe yaradı ve tasarım ekibimiz ona güzel, müşteriye dönük bir kullanıcı arayüzü verdi.
Farklı yapsaydım, sadece öğrenme eğrisi yüksek olduğu için farklı bir veritabanı mimarisi seçebilirdim. Ancak kısacası, erken inşa edilmesi, daha sonra kodda geri dönme ve tüm dinamik kuralları içermek için yeniden düzenleme yapmak zorunda kalmadan baş ağrısı çeken birçok müşterinin karşılaştığı özelliklere yol açtı.