Büyük bir düşünür şöyle demiş:
The critical complexity of most software projects is in understanding the domain itself.
— Eric Evans
Yani diyor ki, yazılım projelerinde, teknik çözüm geliştirme faaliyeti başlı başına karmaşık bir süreçtir ancak bu süreci sağlıklı bir şekilde tamamlamanın yolu sadece teknik karmaşıklığı ortadan kaldırmaktan değil, daha çok işi, iş süreçlerini, işin terminolojisini doğru anlamaktan geçer. Zaten doğru anlaşılamayan bir soruna getirilen teknik çözümlerin uzun ömürlü olmadığını, uzun vadede kolaylık sağlamaktan çok, başa bela olduğunu birçoğumuz tecrübe etmişizdir. Kaçınız gelişimine katkıda bulunduğunuz bir proje için, “Keşke şurasını tekrar yazabilsek, burasını şuna dönüştürebilsek” şeklinde hasretle iç geçirmiştir?
Peki sorun nerede? Neden iş süreçlerindeki bu karmaşıklığın içinden çıkmak bu kadar çok çaba gerektiriyor?
Yazının devanı...