Neden kodu yeniden yapilandirmak (refactoring) artik sadece bir zihin aktivitesidir?
Eskiden bir yazilim ürünü icin gelistirilecek özelliklerin bir maliyeti vardi. Buna göre de yer yer öncelik siralamasi yapilirdi. Simdi bu maliyet hemen hemen ortadan kalkmis durumda.
Maliyetin kaybolmaya yüz tutmasi, yazilimci olarak istedigimizi yapacagiz anlamina gelmiyor. Neden yazilim yaptigimizi hatirlayalim. Yazilim müsterisi icin yapilir. Yazilim müsteri gereksinimlerinin tatmin edildigi bir aractir. Durum böyle iken maliyet yerine odaklanmamiz gereken tek nokta müsteri memnuniyetidir.
Müsteri memnuniyeti sadece geri bildirim ile ölcülebilir. Bu sebeple Extreme Programming gibi yöntemlerle müsterinin karsisina her iki haftada bir yeni bir sürüm cikarirdik. Bu zaman dilimi artik günlere ve saatlere düsmüs durumda.
Maliyetin yerine yazilimda en önemli faktör olan memnuniyet almistir. Bu yazilimcinin nasil yapildigina degil, ne yapilmasi gerektigine odaklanmasini mümkün kilarken, cok hizli degisiklikler yaparak, müsterinin piyasa rekabet kosullarina adapte olmasi kolaylastirir olacaktir.
Bundan böyle yazilimda yap-boz mentalitesi hakim olacaktir. Klasik yöntemlerde test yazmadan yeniden yapilandirma (refactoring) mümkün olmadigi icin yazilimcilar yaptiklarini bozmaya ve yeniden yapmaya cesaret edemezlerdi. Bu problem ortadan kalkmistir. Her yeni bir uygulama özelligi MVP statüsündedir ve her an cöpe atilabilir ve yeniden yapilabilir.
Yeni refactoring yöntemi budur. Artik refactoring fiziksel kod üzerinde degil, zihinde olusan mental model üzerinde uygulanmaktadir. Bunun yansimasi olarak MVP ler olusur, cöpe atilir ve yeniden yapilir. Bu yüzden yazilimda refactoring artik sadece bir zihin aktivitesidir.