Tamam ben birçok kez karşılaştım, ama burada biraz daha abartılı kötü durum senaryosu.
Bir müşteri "hey bize bu küçük görevi yapmak için bu küçük modülü yapabilir misin?"
Ben: "Elbette sorun yok".
Yani bütçeler ve kısıtlamalar vb. Dayanarak, bazı mimarlık atlamak ve içine dalış ve ter yok.
Sonra başka bir modül istiyorlar. Ve başka. Ve bazı geliştirmeler. Ve tüm bunlar çok yavaş olur, yıllar boyunca aklınıza gelir. Ve bilmeden önce, korkunç bir şekilde tasarlanmış bu canavar uygulamasına sahipsiniz.
Küçük bir şey yapmanız istendiğinde ne yaparsınız? Büyümeye devam edip etmeyeceğini bilmiyorsunuz ... müşteri ekleme yapmaya devam edip etmeyeceğini (ve onlar da yapmayacak).
Her şeyin üzerinde küçük bir mimarlık yapamazsınız, çünkü sonuçta sadece küçük bir uygulama ve "tüm sesi biliyorum ki" derseniz başka bir yere gidecekler. -o-the-line güvenlik ve endişelerin ayrılması Aslında bu fantastik falan filan falan filan yapacak bir bağımlılık enjeksiyon aracı ile gidelim ".
"Evet doğru" derler ve bir başkasına giderler.
Bütçe, zaman ve algı, uygulamanın kendisini tasarlamak kadar önemlidir.
Buna nasıl yaklaşılmalı?
Sanırım soru gerçekten "Küçük bir uygulama gibi görünen şeyin nihai sonucuna ilişkin tüm bilgilere sahip olmadığınızda, mimari ve tasarım kararlarını erken vermekten nasıl kaçınmanız (veya azaltmanız) tamamen sonra uygun değil mi?