90 günlük planın
Eski monolit
İşi o döndürüyor, kimse tamamını bilmiyor ve her değişiklik riskli geliyor.
Örnek durum (kurgusal)Raporların, zamanlanmış işlerin ve başka araçların da bağlı olduğu tek büyük bir veritabanına sahip, on yıllık bir uygulama.
1–30. günler
Dinle ve haritasını çıkar
OdakSistemin işi nasıl yaptığını yargılamadan önce gerçekte ne yaptığını öğren.
Adımlar
- En önemli üç iş akışını istekten veritabanına ve geri, uçtan uca izle.
- Veritabanını okuyan ya da ona yazan diğer her şeyi listele: raporlar, zamanlanmış işler, başka uygulamalar.
- Her mühendise kodun hangi bölümünden uzak durduğunu ve nedenini sor.
- Kıdemlilere, zamanları olsa ilk neyi öğreteceklerini sor.ekibine göre
- CI hattını incele: neler çalışıyor, ne kadar sürüyor, ekip neyi atlıyor?yayın sürecine göre
Neden
Sistem zaten çalışıyorsa ilk iş, geliri getiren kısmı bozmamaktır. Gerçek akışların haritası, değişikliğin nerede ucuz, nerede tehlikeli olduğunu gösterir.
Kaçınılacak risk
Harita ortada yokken modernizasyon yol haritası sözü vermek.
İzlenecek işaretler
- Üç ana akış, notlara bakmadan anlatılabiliyor.
- Ekibin uzak durduğu alanlar, her biri bir sahiple birlikte yazıya dökülmüş.
31–60. günler
Riski düşük küçük adımlarla güven kazan
OdakBütün sistemi yenilemeye değil, bir sonraki değişikliği daha güvenli kılmaya odaklan.
Adımlar
- Yoğun kullanılan bir akışta bir dikiş noktası (seam) bul ve onu bugünkü davranışı sabitleyen testlerle çevrele.
- Aynı akışa loglama ya da alarm ekle; kötü bir değişiklik, kullanıcılar bildirmeden önce fark edilsin.
- Veritabanı şemasına dokunan değişiklikler için bir kod incelemesi kontrol listesinde anlaş.
- İlk kazanımda bir kıdemliyi yeni başlayan bir mühendisle eşleştir; klavyede yeni başlayan olsun.ekibine göre
- Bozulan derlemeyi düzeltmeyi ekibin ilk önceliği yap ve en yavaş adımı kısalt.yayın sürecine göre
Neden
Riski azaltan küçük kazanımlar, ileride daha büyük bir değişiklik için gereken güvenilirliği sağlar. Dikiş noktaları, eski kodu önce yeniden yazmadan test etmeyi mümkün kılar.
Kaçınılacak risk
Kritik yolda olmayan kodu zevke göre yeniden düzenlemek.
İzlenecek işaretler
- En yoğun akışın testleri var ve her değişiklikte çalışıyor.
- Bu çalışmalar devreye girerken monolitin değişiklik hata oranı (change fail rate) sabit kalıyor ya da iyileşiyor.
61–90. günler
Yönü belirle ve arkasında dur
OdakBaştan yazmak yerine, çıkışı net tek bir "strangler fig" dilimi öner.
Adımlar
- Sınırları net tek bir yetenek seç ve onu monolitin yanında duran yeni bir bileşene yönlendir.
- Kararı yazıya dök: ne taşınıyor, ne kalıyor, nasıl geri dönülüyor.
- Haritayı ve dilim planını sisteme bağımlı olan kişilerle paylaş.
- İnceleme sorumluluğunu dönüşümlü hale getir; bilgi ve onay yetkisi kıdemlilerle sınırlı kalmasın.ekibine göre
- Yayın paketlerini küçült: her yayında daha az değişiklikle daha sık yayın yap.yayın sürecine göre
Neden
Kademeli değişim maliyeti ve riski zamana yayar, değeri erkenden gösterir. Yazılı bir geri dönüş yolu, öneriye "evet" demeyi kolaylaştırır.
Kaçınılacak risk
Eski ve yeni yolu planlanandan uzun süre yan yana çalıştırmak.
İzlenecek işaretler
- İlk dilim gerçek trafiğe hizmet ediyor ve geri alınabiliyor.
- Sisteme bağımlı olanlar planı tek cümleyle anlatabiliyor.
- Dağıtım sıklığı artarken değişiklik hata oranı sabit kalıyor.
İlk etapta dokunulmayacaklar
Baştan yazma tartışması. Sistemi sıfırdan yazmak, eski sistemin gerçekte ne yaptığını öğrenmenin en pahalı yoludur.
Özgeçmişteki pratiklere dayanıyor
Bu planın dayandığı özgeçmiş satırları. Alışkanlıkların nereden geldiğini gösterir; ekibin için vaat edilen sonuçlar değildir.
- Eski bir sistemi modernleştirme
Şirketin iç iş akışı ve İK platformunun modernizasyonunu yönetiyorum; eski web-forms sistemini modern bir web uygulaması, API ve yeni bir iş akışı motoruyla değiştiriyoruz.
DIGITURK · Ara 2023 - Günümüz - Güvenlik sıkılaştırma ve performans testleri
Eski ve modern sistemlerde güvenlik sıkılaştırmasını ve performans testlerini yönettim; yeni iş akışı modüllerini iskeletleyen araçları devreye aldım.
DIGITURK · Ara 2023 - Günümüz - Günlük teslimat ve kod incelemeleri
Geliştirme ekibinin günlük teslimatını ve kod incelemelerini yönettim.
MAKDOS · Ağu 2020 - Eki 2023
Kaynakça
Genel liderlik ve teslimat pratikleri bu yayımlanmış kaynaklardan gelir. Her aşama dayandığı kaynakları gösterir.
- Picking the Right Transition Strategy (yeni sekmede açılır)Michael D. Watkins · Harvard Business Review · 2009 · abonelik gerektirebilir
STARS durumları (sıfırdan kuruluş, toparlanma, hızlı büyüme, yeniden hizalama, başarıyı sürdürme) ve yeni bir liderin planı neden duruma göre kurması gerektiği.
- Why you must move fast to get the right team in place (yeni sekmede açılır)Michael Watkins · I by IMD · 2022
Ücretsiz okunabilir. Beş STARS durumunu sayar; ilk yılın önemli ekip kararları için bir son tarih koy; sorunlar ne kadar ağırsa değişiklikler o kadar hızlı ve derin olmalı.
- Legacy Seam (yeni sekmede açılır)Martin Fowler · martinfowler.com · 2024
Michael Feathers'ın tanımıyla dikiş noktası (seam), davranışı o noktayı düzenlemeden değiştirebildiğin yerdir; eski kodu test altına almanın yolu.
- DORA’s software delivery performance metrics (yeni sekmede açılır)DORA · dora.dev
Değişiklik teslim süresi, dağıtım sıklığı, başarısız dağıtımdan kurtarma süresi, değişiklik hata oranı ve dağıtım yeniden işleme oranı; uygulama ya da servis başına ölçülür ve ekipleri kıyaslamak için değil, zaman içinde iyileşmek için kullanılır.
- Capabilities: Continuous integration (yeni sekmede açılır)DORA · dora.dev
Küçük paketleri ana dala en az günde bir kez birleştir, otomatik testleri birkaç dakikada tut ve bozulan derlemeyi her işten önce düzelt.
- Strangler Fig (yeni sekmede açılır)Martin Fowler · martinfowler.com · 2024
Eski bir sistemi tek seferde baştan yazmak yerine, yanına kurulan yeni parçalarla kademeli olarak değiştir.