Yazılımda Geri Dönülemez Kararlar Nerede Alınır?

Yazılımda Geri Dönülemez Kararlar Nerede Alınır?

Yazılımda Geri Dönülemez Kararlar Nerede Alınır?

Yazılım projelerinde en tehlikeli kararlar genelde “büyük” görünenler değildir.

Framework seçimi, dil tercihi, araçlar… Bunlar konuşulur, tartışılır, değiştirilebilir.

 

Geri dönülmez olanlar ise çoğu zaman sessizce alınır.

 

 

En erken anlar en kalıcı izleri bırakır

Bir projeye başlarken söylenen bazı cümleler vardır:

 

  • “Şimdilik böyle yapalım”

  • “Sonra değiştiririz”

  • “Buna sonra bakarız”

İşte geri dönülemez kararlar genelde tam burada başlar.

 

Çünkü bu anlarda:

  • Yapı şekillenir

  • Alışkanlıklar oluşur

  • Sistem büyümeye başlar

Ve zaman geçtikçe “sonra” hiç gelmez.

 

 

 

Veri modeli kararları: en sessiz kilitlenme

Bir veri modelini ilk kurduğunda çok az kişi heyecanlanır.

Ama zamanla her şey ona bağlanır.

 

Alan adları, ilişkiler, varsayımlar…

Hepsi koddan önce düşünceyi kilitler.

 

Sonradan değiştirilebilir mi?

Evet, teoride.

Pratikte ise:

 

  • Tüm sistemi etkiler

  • Eski kararları savunanlar çıkar

  • Risk almak zorlaşır

Bu yüzden veri modeli kararları en geri dönülmez kararlardandır.

 

 

“Geçici” çözümlerin kalıcılaşması

Bir sorun çıkar.

Hızlı bir çözüm üretilir.

“Geçici” denir.

Ama o geçici çözüm:

 

  • Başka bir parçaya bağlanır

  • Bir yerde referans alınır

  • Bir sonraki geliştirici tarafından “standart” sanılır

 

Bir bakmışsın, kimsenin sevmediği ama kimsenin de dokunamadığı bir yapı oluşmuş.

 

Geri dönülmezlik bazen zamandan, bazen cesaretten gelir.

 

 

 

Organizasyonel kararlar koddan daha kalıcıdır

Teknik kararlar kadar tehlikeli olan bir şey daha var:

Kim karar veriyor?

 

  • Kod inceleme kültürü var mı?

  • Mimari kararlar kimden geçiyor?

  • “Hayır” deme hakkı kime ait?

Bu sorular net değilse, sistem sadece teknik olarak değil, zihinsel olarak da kilitlenir.

 

Ve bu tür kararlar genelde belgelenmez.

Ama en zor geri alınanlar da bunlardır.

 

 

Geri dönülmezlik teknik değil, psikolojiktir

Bir noktadan sonra sorun “değiştirebilir miyiz?” değildir.

Sorun şudur:

 

“Değiştirmeye değer mi?”

 

Zaman, emek, ego ve alışkanlıklar devreye girer.

Koddan çok insan faktörü geri dönülmezliği yaratır.

 

 

Son söz

Yazılımda geri dönülemez kararlar:

 

  • Büyük toplantılarda değil

  • Büyük mimari diyagramlarda değil

çoğu zaman:

 

  • Aceleyle

  • “Şimdilik” diyerek

  • Kimse itiraz etmediği için alınır.

 

Bu yüzden en değerli refleks şudur:

Kod yazmadan önce durup sormak.

 

“Bunu gerçekten geçici mi yapıyoruz,

yoksa fark etmeden kalıcı mı kılıyoruz?”

 

Bu soruyu sorabilen ekipler,

geri dönülemezliği en az yaşayanlardır.

Yorumlar

Henüz yorum yapılmamış. İlk yorumu sen yap!