← Back to list

Test-Driven Development Eğitim Serisi — Bölüm 33 — Kurumsal TDD Benimsetme Stratejileri

Faz 7: Sosyoloji, Süreç ve Olgunluk

Sahin Yelkenci · 2026-07-21 08:02 · 0 claps · 17.6 min read
#test-driven-development #engineering-culture #organizational-change #software-craftsmanship #agile-transformation
Open on Medium ↗
Wiki topics: CUL · Culture & Media 📋 · Product Management 🛠️ · Crafts & DIY

Test-Driven Development Eğitim Serisi — Bölüm 33 — Kurumsal TDD Benimsetme Stratejileri

Faz 7: Sosyoloji, Süreç ve Olgunluk

» İçindekiler » Bu Bölüm Neden Önemli » Kurumsal Dönüşümün Takım Pratiğinden Farkı » Kotter’ın 8-Adım Change Management Modeli » Diffusion of Innovations: Adoption Eğrisi » Internal Champions Stratejisi » Pilot Project Pattern » TDD ROI Hesaplama » Conway’s Law’un Kurumsal Boyutu » Dirençle Başa Çıkma » Spotify Model ve TDD » Kültürel Dönüşüm Timeline’ı: 3–5 Yıl Gerçeği » Bölüm 34'e Köprü » Üç Gözlem Sorusu » Felsefi Mühür

» Bu Bölüm Neden Önemli

Faz 7'nin beşinci bölümündeyiz. Bölüm 29'da bireysel psikolojiyi, 30'da takım dinamiklerini, 31'de code review kültürünü, 32'de legacy code’a TDD getirmeyi işledik. Şimdi en üst seviyeye geliyoruz: kurumsal ölçek. Bir takım TDD pratiğine geçiş yapabilir; bu yıllar alır, ama mümkündür. Buna karşılık, bir kuruluşun bütün takımlarını TDD’ye getirmek — 50, 100, 500 geliştirici — niteliksel olarak farklı bir problem. Çünkü artık tek bir takımın iç dinamikleri değil; organizational change management’in tüm karmaşıklıkları gündemde. Yönetim desteği, bütçe, eğitim programları, kültürel dönüşüm, direncin yönetilmesi, başarı göstergeleri — hepsi bir araya gelir.

Türk yazılım kültüründe kurumsal TDD benimsetme girişimleri, çoğu zaman iki yaygın biçimde başarısız olur. Birinci biçim: tepeden inme zorla. Üst yönetim “bundan sonra TDD yapacaksınız” der; teknik liderler PR template’lerine “TDD’yi belgele” satırı ekler; eğitim verilir; ama bireysel motivasyon yokken yüzeysel uyum sağlanır. Test’ler yazılır ama anlamsız; coverage metric’i tutturulur ama davranış doğrulanmaz. İkinci biçim: bireysel coşku, kurumsal kayıtsızlık. Birkaç senior geliştirici TDD’yi içselleştirir, blog post’lar yazar, konferans konuşur; ama kurumun geri kalanı kayıtsız kalır. “İyi, sen yapıyorsun, biz devam edelim” — pratik yayılma olmaz.

Bu bölümün özgün katkısı, kurumsal TDD benimsetmenin sistematik metodolojisini ortaya koymaktır. John Kotter’ın 8-adım change management modeli, Everett Rogers’ın diffusion of innovations teorisi, internal champion’lar stratejisi, pilot project pattern’i, TDD ROI’sinin somut hesaplanması, Conway’s Law’un organizasyonel boyutu, dirençle başa çıkma teknikleri, ve kültürel dönüşüm timeline’ı — hepsi bu bölümde işlenir. Bölümün sonunda, bir CTO’nun veya VP of Engineering’in kurumsal TDD dönüşümü tasarlaması için sistematik bir kılavuzu olur.

Bir başka önemli mesele, gerçekçi zaman çerçevesidir. Kurumsal kültürel dönüşüm, “üç ayda olur” değildir; tipik olarak 3–5 yıl alır. Bu sürenin kabul edilmesi, başarılı dönüşümün ilk koşuludur. Hızlı sonuç bekleyen yönetim, sabırsızlıkla yarı yolda vazgeçer; “TDD denedik, olmadı” diyerek geri çekilir. Buna karşılık, gerçekçi timeline ile başlayan, ara hedefler tanımlayan, sustained effort gösteren kuruluşlar, gerçek dönüşümü başarır. Bu bölüm, sabırlı ve sistematik yaklaşımın somut adımlarını söyler.

» Kurumsal Dönüşümün Takım Pratiğinden Farkı

Bir takım kendi pratiğini değiştirebilir; 8–10 kişi anlaşıp yeni alışkanlıklar geliştirebilir. Kurum, niteliksel olarak farklı bir varlıktır:

Boyut 1: Multiple takım koordinasyonu. 5, 10, 50 takım birden hareket etmek zorunda; her birinin kendi kültürü, liderliği, hızı var. Bir takımın işe yarayan yaklaşımı, başka takım için anlamsız olabilir.

Boyut 2: Standartlaşma vs özerklik dengesi. “Her takım TDD yapar ama nasıl yapacağı kendine bağlı” — bu denge zor. Çok katı standart, takımları sınırlar; çok serbest yaklaşım, tutarlılığı bozar.

Boyut 3: Yönetim katmanları. Senior leadership, middle management, team leads — her seviyenin farklı endişeleri, farklı motivasyonları var. Hepsinin desteği sağlanmadan, dönüşüm yarıda kalır.

Boyut 4: Bütçe ve yatırım. Bireysel pratik bedava; kurumsal dönüşüm para ister. Eğitim, danışmanlık, araç, zaman — hepsinin somut maliyeti var.

Boyut 5: Ölçüm ve ilerleme. Bireyselde “ben yapıyorum, hissediyorum” yeterli; kurumsalda metric’lerle ilerleme belgelenmeli. Yönetim ROI gösterir; takımlar gelişimi görür.

Boyut 6: Direnişin ölçeği. 1–2 dirençli takım üyesi yönetilebilir; 200 dirençli geliştirici, sistematik bir change management yaklaşımı ister.

Bu boyutlar, kurumsal TDD benimsetmesini bir engineering management problemi olmaktan çıkarıp organizational psychology problemine taşır. Aşağıda bu problemin sistematik anatomisini ele alacağız.

» Kotter’ın 8-Adım Change Management Modeli

John Kotter (Harvard Business School, professor of leadership), 1996'da yayımlanan Leading Change kitabıyla, kurumsal değişim yönetiminin kanonik modelini ortaya koydu. Bu model, “bir kuruluş niye değişimleri başaramaz” sorusunun cevabını sistematik 8 adımda verir. Modern TDD benimsetme girişimlerine doğrudan uyarlanabilir.

Adım 1: Aciliyet hissi yaratmak (Establish a sense of urgency). Değişimin gerekli olduğunu hissettirmek. Mevcut durumun sürdürülemez olduğunu, alternatifin daha iyi olduğunu somutlaştırmak. TDD bağlamında: production incident’lerin maliyetini gösterin. Geçen yılki bug-related downtime’ın iş tarafına maliyeti ne? Customer churn rate’i ne? Eğer bu rakamlar tutuluyorsa, “test pratiği eksikliği bize X TL’ye mal oluyor” mesajı çok güçlüdür.

Adım 2: Yönlendirici koalisyon oluşturmak (Form a guiding coalition). Dönüşümü götüren çekirdek bir grup. Sadece üst yönetim değil; orta seviye managerlar, senior engineers, etkili kişiler. Bu grup, çapraz fonksiyonel ve çapraz hiyerarşik. TDD bağlamında: CTO + VP of Engineering + birkaç senior tech lead + 2–3 vocal advocate developer. Bu 7–10 kişilik koalisyon, dönüşümün omurgası olur. Düzenli haftalık toplantılarla ilerlemeyi koordine eder.

Adım 3: Vizyon ve strateji geliştirmek (Develop a vision and strategy). Net bir hedef + somut bir yol haritası. “TDD yapacağız” yeterli değil; “3 yıl sonra şu noktada olacağız, şu metric’lerde şu seviyede olacağız” anlamlı. TDD bağlamında: 3 yıllık vizyon — “%80 takımımız strict TDD pratiği yapacak, kritik path’lerde %90+ coverage olacak, mean time to recovery %50 düşecek”. Bu hedefler somut, ölçülebilir.

Adım 4: Vizyonu iletmek (Communicate the change vision). Dönüşümü herkese, sürekli, çok farklı kanalla anlatmak. Bir email yetmez; aylık town hall, demo seansları, success story paylaşımları. TDD bağlamında: aylık “engineering all-hands” toplantısı; her ay bir takımın TDD success story’sini paylaşması; internal blog’da makaleler; her sprint review’da test metric’lerinin gösterilmesi.

Adım 5: Eylem için yetkilendirmek (Empower employees for broad-based action). İnsanların değişimi pratikte uygulayabilmesi için engelleri kaldırmak. Bürokrasi, eski sistemler, eski politikalar — hepsi temizlenmeli. TDD bağlamında: CI/CD pipeline’ları kurmak (yoksa); test framework’leri standardize etmek; eğitim bütçesini ayırmak; mob programming için zaman tanımak; legacy code refactor’una yer açmak.

Adım 6: Kısa vadeli kazanımlar yaratmak (Generate short-term wins). İlk 6–12 ay içinde somut başarılar göstermek. Bu kazanımlar dönüşüme momentum verir; şüphecileri ikna eder. TDD bağlamında: pilot takımın 3 aylık metric değişimi (deployment frequency 2x, bug rate %40 düşüş gibi). Bu somut sayılar, “TDD işe yarıyor” mesajının kanıtıdır.

Adım 7: Kazanımları konsolide edip daha fazla değişim üretmek (Consolidate gains and produce more change). Başlangıç başarılarına bağlı kalmamak; sistemik değişikliği derinleştirmek. Yeni pilotlar, yeni metric’ler, yeni kapasiteler. TDD bağlamında: pilot takımın başarısından sonra, 3–4 takıma daha yaymak. Eğitim programını genişletmek. Internal champion’ları artırmak.

Adım 8: Yeni yaklaşımları kültüre yerleştirmek (Anchor new approaches in the culture). Dönüşümü “şu an yapılan” değil “şirketin tabiatı” hâline getirmek. Yeni alışkanlıklar, yeni standartlar, yeni beklentiler.

TDD bağlamında: hiring process’inde TDD bilgi/deneyim soruları; promosyon kriterlerinde TDD discipline’ı; onboarding’de strict TDD beklentisi; her tech talk’ta test pratiklerinin yer alması.

Bu 8 adım, bir kerelik bir checklist değildir; yıllar boyu sürekli geri dönülen bir döngüdür. Her başarılı change initiative, bu adımları en az 2–3 kez tekrar eder.

» Diffusion of Innovations: Adoption Eğrisi

Everett Rogers, 1962'de yayımladığı Diffusion of Innovations kitabıyla, yeniliklerin bir popülasyonda nasıl yayıldığının kanonik modelini sundu. Bu model, bir nüfusun %16'sının “innovators” + “early adopters” olduğunu, %68'inin “majority”, %16'sının “laggards” olduğunu söyler. Yenilik bu eğri boyunca yayılır; ama yayılma sırası ve dinamikleri öngörülebilir.

Innovators (%2.5): Risk almaktan zevk alır. Yeni şeyleri ilk deneyenler. “Beni etkileyen yeni bir teknik var, hemen deneyelim.”

Early Adopters (%13.5): Düşünceli liderler. Innovator’lara bakarlar; eğer bir şey değerli görünüyorsa, kendi yargılarıyla uygulamaya geçerler.

Early Majority (%34): Pratik düşünenler. Early adopter’ların başarısını gördüklerinde benimserler. “Bu işe yarıyor görünüyor, biz de yapalım.”

Late Majority (%34): Şüpheciler. Çoğunluk geçtikten sonra benimserler. Sosyal baskı ve standartlaşma onları zorlar.

Laggards (%16): Direnenler. Son ana kadar eski yöntemde kalırlar. Bazıları hiçbir zaman benimsemez.

Bu eğrinin TDD bağlamında pratik sonuçları:

Strateji 1: Innovator + Early adopter’lara yatırım yap. Bir kurumda 100 geliştirici varsa, ~16 kişi (innovators + early adopters) zaten meraklıdır. Bu kişileri tespit edin; onlara özel eğitim, mentor zamanı, konferans bütçesi verin. Onlar dönüşümün çekirdeği olacak.

Strateji 2: “Chasm”i geçmeye odaklan. Geoffrey Moore’un Crossing the Chasm (1991) kitabı, early adopter ile early majority arasında bir boşluk olduğunu söyler. Innovation’ı early adopter’lar benimser; ama early majority’ye yayılması nadirdir. Bu chasm’ı geçmek için, early majority’nin ihtiyaçlarına özel yaklaşım gerekir: güvenilirlik, basitlik, somut ROI.

Strateji 3: Late majority için sosyal baskı. Bu grup, “herkes yapıyor” mesajıyla harekete geçer. Quarterly metric’ler, internal recognition programları, success story’ler — hepsi bu grup için tasarlanır.

Strateji 4: Laggards için sınırlı çaba. %16 hiçbir zaman benimsemeyecek olabilir. Onlara muazzam çaba harcamak verimsiz; zaman içinde, ya benimserler ya da kuruluşu terk ederler (veya emekli olurlar).

Bu segmentasyon, kurumsal change initiative’leri rasyonel önceliklendirmenin temelidir. Herkesi aynı anda ikna etmeye çalışmak yerine, eğri boyunca sıralı yayılmaya odaklanmak.

» Internal Champions Stratejisi

Yukarıdaki Rogers eğrisi pratik bir karara götürür: internal champion’ları tespit etmek ve onlara yatırım yapmak.

Champion kim?

  • Teknik olarak güçlü (saygı görüyor)
  • TDD’ye samimi olarak inanmış (yüzeysel değil)
  • İletişim yeteneği var (öğretebiliyor)
  • Etki alanı geniş (takımı dinliyor; başka takımlarla bağlantısı var)
  • Sabırlı (uzun vadeli düşünüyor)

Bir kuruluşta tipik olarak 100 geliştirici başına 3–5 champion potansiyeli var. Bu kişilerin tespit edilmesi, onlara özel yatırım, dönüşümün hızını dramatic biçimde etkiler.

Champion’lara yatırım nasıl?

Yatırım 1: Eğitim bütçesi. Konferanslara gönderin (XP Conference, ETE — European Testing Conference, NDC). İleri seviye eğitim programları. Kitap bütçesi. Mentorluk için dış uzmanlarla zaman.

Yatırım 2: Zaman ve özerklik. Champion’ların TDD ile ilgili initiative’lere zaman ayırabilmesi gerekir. “Bu hafta 1 gün sen TDD eğitim programı tasarla” gibi konkret zaman ayrımları.

Yatırım 3: Visibility ve recognition. Champion’ların başarıları görünür kılınmalı. Internal blog, tech talk’lar, recognition programları. “Bu ay TDD champion’u olarak X kişiyi anıyoruz” gibi.

Yatırım 4: Topluluk inşası. Champion’ların birbirleriyle bağlantısı sağlanmalı. Aylık champion meetup’ları, internal Slack channel, ortak refactor maraton’ları.

Yatırım 5: Karar alımına dahil etme. Champion’lar, kurumsal teknoloji kararlarında konsültatif rol almalı. PR template tasarımı, CI/CD pipeline kararları, eğitim programı içeriği — hepsi onların görüşüyle yönetilmeli.

Bu yatırımların ortak amacı: champion’ların uzun vadeli bağlılığını sağlamak ve onların etrafında organik bir hareket yaratmak. Champion’lar dirençli, sabırlı, içsel motivasyona sahip; onları yetiştirmek, kurumsal dönüşümün en yüksek ROI’li yatırımıdır.

» Pilot Project Pattern

Tüm kurumda aynı anda TDD’yi başlatmak garantili başarısızlıktır. Çok büyük, çok hızlı; resistance, confusion, burnout doğurur. Doğru yaklaşım: pilot project.

Pilot tanımı: Bir takım, sınırlı süre, açık hedefler. Yeni pratikleri burada test eder; öğrenilen şeyler diğer takımlara yayılır.

İyi bir pilot’un özellikleri:

  • Hevesli takım: Zorla atanmış değil, kendi isteyen takım. Internal champion’lar burada.
  • Greenfield veya semi-greenfield project: Tam legacy’de pilot zor (Bölüm 32). Yeni mikroservis, yeni feature gibi.
  • Sınırlı süre: 3–6 ay. Ölçülebilir hedeflerle.
  • Açık metric’ler: Deployment frequency, bug rate, lead time vs. başlangıç ve son metric’leri.
  • Düzenli retrospektif: Aylık seanslarla “ne işe yaradı, ne yaramadı” konuşulması.
  • Visibility: Pilot’un ilerlemesi tüm kuruluşa görünür. Engineering newsletter, town hall.

Pilot sonrası adımlar:

Adım 1: Lessons learned belgele. Pilot süresince öğrenilenler — neyin işe yaradığı, neyin yaramadığı, hangi araçların kullanıldığı — sistematik biçimde belgele.

Adım 2: Playbook oluştur. Diğer takımların izleyebileceği bir kılavuz. “Sizin takım da TDD’ye geçmek isterse, şu adımları izleyin.”

Adım 3: İkinci dalga pilotlar. 3–4 takım birden, pilot’un öğrettikleriyle. Yine 3–6 ay süreyle.

Adım 4: Yaygınlaştır. Pilot dalgaları başarılı olduktan sonra, kurumsal standart. Şimdi “TDD yapan azınlık” değil, “TDD yapmayan azınlık” durumu.

Bu sıralı yayılma, Rogers’ın diffusion eğrisini pratikte uygular: pilot’lar early adopter’larda başlar; başarı görüldükten sonra majority benimser.

» TDD ROI Hesaplama

Bir CTO veya VP of Engineering, üst yönetime gittiğinde “TDD’ye yatırım yapalım” demek yeterli değildir. Somut ROI gösterilmesi gerekir. Aksi takdirde, “buraya bütçe ayrım, oradan kesim” tartışmasında, soyut “iyi pratik” argümanları kaybeder.

TDD ROI’nin somut bileşenleri:

Bileşen 1: Cost of late bug detection. Barry Boehm’in 1981'de yayımladığı Software Engineering Economics kitabı ve Capers Jones’un araştırmaları, bir bug’ın gerçekleştiği aşamaya göre maliyetinin dramatic biçimde arttığını gösterir:

  • Requirements aşamasında yakalanan bug: 1x
  • Design aşamasında yakalanan bug: 5x
  • Code aşamasında yakalanan bug: 10x
  • Testing aşamasında yakalanan bug: 50x
  • Production’da yakalanan bug: 100–1000x

Bu eksponansiyel artış, TDD’nin neden mali değer ürettiğini söyler. Bug’ları code aşamasında yakalamak, production’da yakalamaktan 100 kat ucuz.

Bileşen 2: Lead time iyileştirmesi. DORA metric’lerine göre (Bölüm 30), yüksek performanslı takımlar 2,555 kat daha hızlı lead time’a sahip. Eğer feature delivery cycle’ınız 3 aydan 3 güne düşerse, iş tarafının kazandığı opportunity value hesaplanabilir.

Bileşen 3: Mean time to recovery iyileştirmesi. Production’da incident yaşandığında, ne kadar hızlı recovery yapabiliyorsunuz? Test pratiği güçlü olan takımlar, recovery’yi daha hızlı yapar; bu direkt revenue protection.

Bileşen 4: Talent retention. Yüksek kaliteli geliştiriciler, kalitesiz kod tabanlarında çalışmak istemez. TDD pratiği yapan kuruluşlar, top talent’i daha iyi tutar; recruitment ve onboarding maliyetleri düşer.

Bileşen 5: Customer satisfaction ve churn. Buggy bir ürün, müşteri kaybeder. Test pratiği güçlü olan ürünler, daha az hata, daha yüksek müşteri memnuniyeti, daha düşük churn.

Bir somut hesaplama örneği:

“Geçen yıl 47 P1/P2 production incident’imiz oldu. Her birinin ortalama maliyeti:

  • Engineering time: 8 saat × 4 kişi = 32 saat = 80,000 TL (saatlik fully loaded cost)
  • Lost revenue (downtime): 50,000 TL
  • Customer support overhead: 20,000 TL
  • Toplam: 150,000 TL × 47 = 7,050,000 TL/yıl

Eğer TDD ile bu incident’lerin %50'sini önleyebilirsek, yıllık 3,525,000 TL tasarruf. TDD eğitim ve danışmanlık yatırımı: 500,000 TL (one-time) + 200,000 TL/yıl (ongoing). ROI: %500+ ilk yıl, sonraki yıllarda daha yüksek.

Bu tür somut sayılar, üst yönetimde ciddi bir dildir. Soyut “iyi pratik” argümanlarının yerini, business case’in netliği alır.

» Conway’s Law’un Kurumsal Boyutu

Bölüm 30'da Conway’s Law’u takım düzeyinde ele aldık. Kurumsal düzeyde, bu yasa daha dramatic sonuçlar doğurur.

Melvin Conway’in gözlemi: “Sistemleri tasarlayan kuruluşlar, kendi iletişim yapılarını yansıtan tasarımlar üretirler.” Kurumsal düzeyde:

Hiyerarşik bir kuruluş, hiyerarşik bir sistem üretir

Siloed departmanlar, monolitik sistemler üretir

Cross-functional takımlar, cross-cutting sistemler üretir

Autonomous takımlar, mikroservis mimarileri üretir

Bu, TDD’nin başarısı için kritik bir nüans: TDD bireysel bir disiplin gibi görünse de, kurumsal yapı onun başarısını şekillendirir.

Vaka 1: Geliştirici ve QA ayrı departmanlar. Geliştirici “kodu yazarım, QA test eder” zihniyetiyle çalışır. TDD doğal değildir; çünkü “test ben yazmam” inanışı kurumsal yapıdan gelir.

Vaka 2: Cross-functional product teams. Geliştirici + QA + designer aynı takımda. Test sorumluluğu paylaşılır; TDD doğal bir pratik hâline gelir.

Vaka 3: Mikroservis-aligned takımlar. Her takımın bir servisi, baştan sona kontrolü. Test discipline’ı takım çapında inşa edilir; çünkü sorumluluk komple onlarındır.

Pratik sonuç: TDD’yi yaygınlaştırmak isteyen bir kuruluş, kendi yapısını da dönüştürmek zorundadır. Sadece teknik dönüşüm yetmez; organizasyonel re-design gerekir. Bu re-design olmadan, TDD pratiği yapay kalır; çünkü insanlar kendi yapılarının tersine çalışmaya zorlanır.

Inverse Conway Maneuver, bu nüansın pratik uygulamasıdır: istediğiniz mimariye uygun organizasyon kurun. Cross-functional takımlar istiyorsanız, departmanları kaldırın; product team’leri kurun. Mikroservis mimari istiyorsanız, autonomous takımlar kurun; her takımın açık scope’u olsun. TDD pratiği istiyorsanız, test sorumluluğunu takımdan ayrı bir QA departmanına vermeyin; takımın kendisine bırakın.

» Dirençle Başa Çıkma

Kurumsal TDD initiative’lerinde direnç kaçınılmazdır. Bölüm 29'da bireysel direnci işledik (cognitive dissonance, status quo bias, loss aversion); kurumsal düzeyde, bu boyutlara ek olarak:

Direnç 1: Manager pressure. “Feature’lar gecikiyor, test bırak” mesajı. Bu, kısa vadeli düşünmenin tezahürüdür. Çözüm: ROI hesaplamasını (yukarıda işledik) yönetim diline tercüme etmek; “şimdi yavaşlamak, sonra hızlanmak” mesajını somut sayılarla desteklemek.

Direnç 2: Senior developer direnci. Bölüm 29'da işlediğimiz cognitive dissonance kurumsal versiyonu. “Ben 20 yıldır test yazmadan başarılıydım, neden değişeyim?” Çözüm: doğrudan saldırmak yerine, bu kişileri pilot’lara dahil etmek; champion’larla pair programming organize etmek; kendi gözleriyle değeri görmelerini sağlamak. Eğer hâlâ direnirlerse, organizasyonel düzeyde değerlendirme.

Direnç 3: “Process bürokrasisi” itirazı. “Çok kural koyuyorsunuz, biz yaratıcılığımızı kaybedeceğiz.” Çözüm: bürokratik değil, enabler olarak çerçeveleme. TDD bir kural değil, bir disiplin; yaratıcılığı kısıtlamak değil, geliştirmek için.

Direnç 4: “Teslimat hızı düşecek” korkusu. Kısa vadede haklı; uzun vadede yanıltıcı. DORA metric’leri ile (yüksek performanslı takımlar 200x daha hızlı deploy yapıyor) somut karşı kanıt sunulabilir.

Direnç 5: “Eski kod buna uygun değil” itirazı. Bölüm 32'de detaylı işlediğimiz legacy code zorluğu. Çözüm: incremental adoption (boy scout rule, hot spots, sprout method).

Direnç 6: Eğitim bütçesi itirazı. “Bunca para harcamayı kabul edemeyiz.” Çözüm: ROI hesaplaması; ya da küçük başlamak — bir takımla pilot, sonra yatırımı artırmak.

Direncin yönetilmesinde Edgar Schein’in argümanı yardımcıdır: Organizational Culture and Leadership (1985) kitabında Schein, kültürel değişimin iki yönlü olduğunu söyler. Hem yeni davranışların çekici hâle getirilmesi, hem eski davranışların maliyetinin görünür hâle getirilmesi. Yalnız “TDD harika” demek yetmez; “TDD yapmamanın bize maliyeti şu” da denmesi gerekir.

» Spotify Model ve TDD

Spotify model, 2010'larda Henrik Kniberg ve Anders Ivarsson’ın yazılarıyla popülerleşen organizasyonel pattern. Squad (küçük cross-functional takım), Tribe (squad’lar topluluğu), Chapter (squad’lar arası teknik uzmanlık grupları), Guild (gönüllü topluluk) hierarchisi.

Bu model TDD adoption için özellikle uygundur, çünkü:

Squad düzeyinde: TDD pratiği takım çapında benimsenir; cross-functional yapı, sorumluluk dağıtımını destekler.

Chapter düzeyinde: Backend developer’lar bir chapter olarak buluşur; TDD pratiklerini paylaşır, ortak standartlar geliştirir.

Guild düzeyinde: “TDD Guild” gönüllü bir topluluk olarak kurulur. Kuruluş çapından geliştiriciler katılır; aylık tech talk’lar, ortak kata seansları, internal blog post’lar. Champion’ların doğal evi.

Tribe düzeyinde: TDD pratiği tribe-wide metric’lerle takip edilir; iyi performanslı squad’lar diğerlerine örnek olur.

Bu yapı, bireysel/takım/kurumsal hierarchisini ölçeklenebilir biçimde birleştirir. Bir Türk kurumu için doğrudan kopyalamak gerekmez; ama prensipleri (autonomous squad’lar + cross-cutting expertise grupları + gönüllü topluluk) genel olarak uygulanabilir.

» Kültürel Dönüşüm Timeline’ı: 3–5 Yıl Gerçeği

Kurumsal kültürel dönüşüm, hızlı bir süreç değildir. Tipik timeline:

Ay 0–6: Foundation.

  • Aciliyet hissi yaratma
  • Guiding coalition oluşturma
  • Vizyon belgeleme
  • Pilot takım seçimi
  • Eğitim bütçesi onayı

Ay 6–12: Pilot.

  • Pilot takım TDD pratiğini başlatır
  • Metric’ler takip edilir
  • Lessons learned belgelenir
  • İlk başarı paylaşımı

Ay 12–18: Wave 1.

  • 3–5 takım birden TDD’ye geçer
  • Pilot playbook kullanılır
  • Champion network büyür
  • Internal training programı başlar

Ay 18–30: Wave 2.

  • Kurumsal genişleme
  • TDD Guild kurulur
  • DORA metric’leri kurumsal dashboard’da
  • Hiring kriterlerinde TDD

Ay 30–48: Consolidation.

  • TDD “default pratik” hâline gelir
  • Direnç gösteren küçük gruplara odaklı çalışma
  • Legacy code’da boy scout rule yaygın
  • ROI somut belgelenir

Ay 48–60: Culture.

  • TDD kuruluşun kimliğinin parçası
  • Yeni katılanlar onboarding’de doğal benimser
  • Resistance neredeyse yok
  • Sürekli iyileşme döngüsü

Bu 5 yıllık timeline, hızlı görünebilir veya yavaş; kurumun büyüklüğüne, başlangıç durumuna, leadership commitment’ına bağlı olarak. Önemli olan, gerçekçi beklentiler. “6 ayda TDD kültürü kurmak” hedef koymak, başarısızlığa davetiyedir.

Türk yazılım kuruluşları için ek nüans: yöneticilerin sabırsızlığı. Çoğu Türk yönetici, “üç ayda sonuç istiyoruz” kültürüne sahip. Kurumsal TDD dönüşümünün sponsorluğu, yıllarca taahhüt isteyen bir süreçtir. Bu taahhüt yokken, dönüşüm yarıda kalır; “denedik, olmadı” sonucu doğar.

» Bölüm 34'e Köprü

Bu bölümde, kurumsal TDD benimsetmenin sistematik metodolojisini işledik. Kotter’ın 8-adım change management modelini, Everett Rogers’ın diffusion of innovations teorisini, internal champion’lar stratejisini, pilot project pattern’ini, TDD ROI’nin somut hesaplama yöntemini, Conway’s Law’un kurumsal boyutunu, dirençle başa çıkma tekniklerini (Edgar Schein perspektifi), Spotify model’in TDD ile uyumunu, ve 3–5 yıllık kültürel dönüşüm timeline’ını detaylı işledik. Faz 7'nin beşinci bölümü, bir CTO veya VP of Engineering için kurumsal TDD dönüşümü tasarımının sistematik kılavuzunu sundu.

Bir sonraki bölümde — serinin son bölümünde — TDD’nin geleceğine bakıyoruz. AI ile birlikte yaşayan bir dünyada (Copilot, Claude, ChatGPT gibi LLM’ler kod yazıyor), TDD’nin yeri ne? Formal verification, property-based testing, generative testing, mutation testing — bu modern teknikler TDD’yi nasıl değiştirir? Yapay zekanın test yazmaya katkısı ne, riski ne? Bölüm 34, serinin closing reflection’u olacak; TDD’nin 23 yıllık tarihinden (Kent Beck’in 2003 Test-Driven Development by Example kitabından bu yana) sonraki 20 yılda nereye gideceğine dair sistematik bir bakış.

» Üç Gözlem Sorusu

Birinci soru: Kuruluşunuzda, yukarıdaki Kotter 8-adım modeline göre, hangi adımdasınız? Sense of urgency oluşturuldu mu? Guiding coalition var mı? Vizyon belgeli mi? Bu dürüst değerlendirme, sonraki adımları belirler. Bir adım atlanmışsa, dönüşüm tıkanma riskindedir.

İkinci soru: Kuruluşunuzdaki internal champion’ları tespit edebilir misiniz? Kim bu rolün adayı? Onlara somut yatırım — eğitim, zaman, recognition — yapıyor musunuz? Eğer hayır, dönüşümün organik çekirdeği yok demektir.

Üçüncü soru: TDD ROI’sini somut sayılarla hesapladınız mı? Geçen yılki production incident’lerin maliyetini? Lead time’ın iş tarafına etkisini? Talent retention ile ilişkiyi? Eğer hayır, üst yönetime sunulacak bir business case’iniz yok; dolayısıyla bütçe alma şansı düşük. Bu hesaplamayı yapmaya değer mi?

» Felsefi Mühür

Bu bölümün kapanışı için, Edgar Schein’in (organizational culture’ın kanonik düşünürü) Organizational Culture and Leadership (1985) kitabından, kurumsal dönüşümün özünü söyleyen bir cümleye dönelim:

“Culture is to a group what character and personality is to an individual. It is the accumulated learning of how to survive and thrive, deeply embedded in assumptions and beliefs. You cannot change culture by announcing new rules; you can only change it by changing what people learn, day by day, through their lived experience. Cultural change is the slowest of all changes, but it is the most enduring.”

“Kültür, bir grup için ne ise, karakter ve kişilik de bir birey için odur. Kültür, hayatta kalma ve gelişme konusunda edinilen birikimdir ve varsayımlarla inançlara derinlemesine yerleşmiştir. Yeni kurallar getirerek kültürü değiştiremezsiniz; kültürü ancak insanların günlük yaşam deneyimleri yoluyla öğrendiklerini değiştirerek değiştirebilirsiniz. Kültürel değişim, tüm değişim türleri arasında en yavaş olanıdır, ancak en kalıcı olanıdır.” Edgar Schein, Organizational Culture and Leadership (1985)

Bu cümlenin Türkçesi şudur: Kültür, bireye karakter ve kişilik ne ise, bir gruba odur. Hayatta kalmanın ve başarılı olmanın birikmiş öğreniminin, varsayımlar ve inançlarda derinlemesine gömülü hâlidir. Kültürü, yeni kurallar duyurarak değiştiremezsiniz; sadece insanların gün gün yaşanmış deneyimle ne öğrendiklerini değiştirerek değiştirebilirsiniz. Kültürel değişim, tüm değişimlerin en yavaşıdır; ama en kalıcı olanıdır. Bu cümle, bu bölümün özüdür ve aslında Faz 7'nin temel temasını söyler. TDD’yi bir kurumun kültürüne yerleştirmek, “yeni kurallar duyurmak” ile olmaz; günlük yaşanmış deneyimle olur. Her code review, her pair programming seansı, her mob seansı, her başarılı production incident recovery, her promosyon kararı — hepsi kültürün gerçek inşa noktalarıdır. Bu nokta nokta inşa, yavaş ve görünmez; ama yıllar sonra, geriye baktığınızda fundamentally farklı bir kuruluş görürsünüz. Modern engineering leadership’in en zarif sanatı, bu uzun vadeli kültürel dönüşümü sabırla ve sistematik biçimde yönetmektir; ve TDD, o dönüşümün hem aracı hem semptomu hem hedefidir.

Bir sonraki — ve son — bölümde, TDD’nin geleceğine bakıyoruz. AI çağında TDD, formal verification, property-based testing, mutation testing — modern test pratiğinin önümüzdeki 10–20 yılda nereye gideceğine dair sistematik bir bakış. Serinin kapanış meditasyonu olacak.

**İçindekiler… « Önceki [Bölüm 32 — Legacy Code’a TDD Uygulama] » Sonraki **[Bölüm 34 — TDD’nin Geleceği] » https://gitlab.com/sahin.yelkenci2/tdd-pure-java » https://gitlab.com/sahin.yelkenci2/tdd-spring


메타데이터
post_id
1f0b7bc2133a
slug
test-driven-development-eğitim-serisi-bölüm-33-kurumsal-tdd-benimsetme-stratejileri-1f0b7bc2133a
url
https://medium.com/@sahinyelkenci/test-driven-development-e%C4%9Fitim-serisi-b%C3%B6l%C3%BCm-33-kurumsal-tdd-benimsetme-stratejileri-1f0b7bc2133a
canonical_url
https://medium.com/@sahinyelkenci/test-driven-development-e%C4%9Fitim-serisi-b%C3%B6l%C3%BCm-33-kurumsal-tdd-benimsetme-stratejileri-1f0b7bc2133a
author_url
https://medium.com/@sahinyelkenci
status
ok
fetched_at
2026-07-24 23:22:17