Kısa yanıt
Çoğu zaman yeniden yazmak yerine aşamalı düzeltme daha az riskli ve daha hızlı değer üretir; çalışan iş kuralları ve veri çok değerlidir. Yeniden yazma ancak veri modeli veya bağımlılıklar mevcut yapıyı aşılamaz biçimde kısıtlıyorsa ve geçiş riski kabul edilebiliyorsa gündeme gelmelidir.
Düzeltmenin güçlü olduğu koşullar
İş kuralları doğru çalışıyor, sistem kurulabiliyor ve sorunlar belirli modüllerde toplanıyorsa aşamalı iyileştirme değerlidir. Önce kritik akışların testleri ve gözlemleme eksikleri tamamlanabilir.
Düzeltmenin önkoşulu, değişiklik yapmayı güvenli kılmaktır: kritik akışlar için otomatik testler, hata izleme ve tekrarlanabilir kurulum. Bu temel yoksa önce onu kurmak hem düzeltme hem yenileme kararını sağlamlaştırır.
Yenilemenin gerekebileceği koşullar
Desteklenmeyen bağımlılıklar, değiştirilemeyen veri modeli veya kalıcı operasyon kısıtları daha geniş değişim gerektirebilir. Yine de yeni sürümün eski iş kurallarını ve veriyi taşıma yükü hesaba katılmalıdır.
Yenileme gerekse bile çoğu zaman tek seferde değil dilimler halinde yapılabilir: yeni bir parçayı eskisinin yanında kurup akışları tek tek taşımak. Bu yaklaşım büyük bir geçiş gününün riskini azaltır.
Karar kaydı
Düzeltme, kısmi yenileme ve tam yeniden yazma için aynı hedefleri kullanın. Maliyet, geçiş riski, iş kesintisi ve ilk değer üretme süresini belgeleyin. Yeni teknoloji kullanma isteği tek başına yeniden yazma gerekçesi değildir.
Kararı üç seçenek için aynı ölçütlerle kaydedin: ilk değer üretme süresi, geçiş riski, iş kesintisi ve sonraki bakım maliyeti. Ekibin yeni teknolojiye duyduğu heyecan ya da eskiye duyduğu rahatsızlık gerekçe değildir; ölçülebilir bir fark gerekçedir.
Karar öncesi küçük bir deneme
Kritik bir akışı seçin ve hem düzeltme hem yeniden kurma yoluyla küçük bir dilim olarak deneyin. Ne kadar sürdüğünü, hangi sürprizlerle karşılaşıldığını ve sonucun ne kadar test edilebilir olduğunu kaydedin. Bu deneme tahminlerden çok daha güvenilir bir karar zemini sağlar.
Karar vermeden önce karşılaştırın
Aşağıdaki tablo bir başlangıç çerçevesidir. Her satırı kendi sisteminiz için doldurun; bir satırda kanıtınız yoksa karardan önce o kanıtı üretecek küçük bir ölçüm planlayın.
Sık sorulan sorular
Düzeltme ya da yeniden yazma kararında en sık sorulan sorular.
Eski teknolojide yazılmış olması tek başına yeniden yazma sebebi mi?
Hayır. Eski olmak yanlış olmak demek değildir. Desteklenmeyen bağımlılıklar, güvenlik riski veya o teknolojiyi bilen ekip bulunamaması gibi somut sonuçlar sorun yaratıyorsa gerekçe bunlardır.
Yeniden yazma ne kadar risklidir?
Eski sistemin örtük iş kurallarını yakalamak, veriyi taşımak ve eski ile yeni sistemi bir süre paralel yürütmek genellikle beklenenden fazla emek ister. Riski küçültmek için dilimler halinde ve ölçülebilir kabul ölçütleriyle ilerleyin.
Kısmi yenileme ne demek?
Sorunlu bir modülü veya katmanı ayırıp yeniden kurmak, geri kalanı korumak demektir. Ortak veri modeli ve arayüzler net tanımlanırsa iyi bir orta yoldur.
Karar için dış görüş almalı mıyım?
Ekip içi yargılar çoğu zaman bir seçeneğe bağlılık taşır. Bağımsız bir değerlendirme kanıtı karşılaştırılabilir kılar; yarım kalan yazılım projesini devralma hizmetimiz bu tür kararları kapsar.