← haandevENTR

Spec-Driven Development'ın Çözmediği Şey: Organizasyon

AI-coded'dan AI-centric'e: Genel bilicilerin geri dönüşü

1. Problemin anatomisi

Bir organizasyonu düşünün. Üst yönetim AI-merkezli bir SDLC'ye geçiş için ciddi baskı yapıyor. Aynı organizasyon takım içi rolleri sert sınırlarla bölmüş durumda: analist, backend, frontend, QA, PO. Sprint'in işleyişi şöyle:

Analist bir feature'ı tanımlıyor ve ekibe veriyor. Bu tanım problemin ortaya konmasıdır; mühendislik analizi değil. Buna rağmen sprint başladığı anda backend ve frontend paralel geliştirmeye başlıyor, çünkü sprint sonunda çıktı beklentisi var. QA bu süre boyunca boşta. Sprint'in son hafta sonunda disiplinlerin çıktıları birleştiriliyor, kontrat uyumsuzlukları giderilmeye çalışılıyor, QA'ya bir ya da iki gün kalıyor; ve o iki günde bu sefer mühendislik boşta. Sprint süresince alınan kararların ürüne etkisi ancak bir sonraki sprint'te PM ve PO ile tartışılabilir hale geliyor çünkü daily stand-up süreleri kişilere verilen 2 şer dakilalık slotlar ile sınırlı. Ekip ise agile ritüellerine bağlı kalmaya zorlandığı ve time-sheet'e yazamayacaklar şeyleri performans raporunda kötü görünmemek için yapmaktan kaçınıyor. Ani gelişen toplantılar ve bilgi aktarımları zorlaşıyor. Basit bir karar alma süreci için ekip arkadaşından müsait slot bekliyorsun ve bazen bloklanmamak adına kararı hızlıca kendin alıyorsun.

İki haftalık sprintçalışma günü12345678910AnalistBackendFrontendQAPM / POtanım devri — mühendislik analizi değilparalel geliştirmeparalel geliştirmetestkontratuzlaştırmaürün etkisi olan kararlar ancak bir sonraki sprint'te tartışılabiliyorsekiz gün — QA boştaiki gün — mühendislik boştahiçbir rol kötü çalışmıyor; sıra yanlış
Sprint'in gerçek şekli. Kapasite ne az ne fazla: yanlış zamanda. Analizin çıktısı olgunlaşmadan geliştirme başlıyor, kontrat en sonda uzlaşıyor, QA sıranın sonuna düşüyor.

Retroperspektif tartışma da genellikle şu ikilemle bitiyor: elde çalışan ama ürün kararına aykırı bir kod var; alternatif, ürün kararına uygun ama baştan yazım gerektiren bir iş. Büyük bir kod tabanında geri alma maliyeti yüksek olduğu için seçim çoğunlukla ilkinden yana yapılıyor. Ürün, kendi kararlarının aleyhine birikiyor.

Bu tabloyu absürt yapan şey hiçbir rolün kötü çalışması değil. Herkes kendi rolünü doğru oynuyor. Absürt olan, sürecin bunu zorunlu kılması. Ve daha önemlisi: bu organizasyona en gelişmiş kod üretme araçlarını verseniz, ortaya çıkacak tek şey aynı uyumsuzlukları daha hızlı üretme kapasitesidir.

2. Teşhis

Sprint içi mini-şelale. Agile, şelale modelini aylara yayılan aşamalardan kurtarmayı vaat etti. Şelaleden kurtulmadık aksine çoğu ekip aynı aşamaları iki haftaya sıkıştırdı. Analiz → geliştirme → entegrasyon → test → ürün geri bildirimi sırası korundu, sadece kutunun boyu küçüldü. Sonuç: şelalenin en kötü özelliği (geri bildirimin en sona kalması) korundu, en iyi özelliği (aşamaya girmeden önce yeterli düşünme süresi) kayboldu.

Kapasite tiyatrosu. QA'nın sprint'in ilk sekiz günü boşta kalması bir kaynak planlama hatası gibi görünür ve genellikle “QA'ya da bir şeyler verelim” diye çözülmeye çalışılır. Bu yanlış teşhistir. QA boşta değil; sırası yanlış. QA'nın asıl çıktısı test yürütmek değil, bir çözümün nasıl yanlışlanacağını tanımlamaktır. Bu spec'in girdisidir, kodun çıktısı değil.

Aynı şey kontrat uyumsuzluklarında da geçerli. Sprint'in son hafta sonunda backend ile frontend'in kontrat uzlaştırması bir entegrasyon sorunu değil, kontratın yanlış zamanda üretilmiş olmasının sonucudur. Kontrat, iki tarafın bağımsız kararlarının artığı olarak ortaya çıkıyor; oysa ortak bir tasarım kararı olmalıydı.

Karar gecikmesi. Ürün etkisi olan bir mühendislik kararı Salı günü alınıyor, ürün ekibi iki hafta sonra öğreniyor. O aradaki iki haftada karar kod olarak katılaşıyor. Geri alma maliyeti, kararın kalitesinden bağımsız olarak kararı savunulabilir hale getiriyor. Kötü kararlar iyi kararları maliyetle yeniyor.

geri alma maliyetikararın kalitesi — bu aralıkta hiç değişmediSalıkarar alınıriki hafta sonraürün ekibi öğrenirkarar kod olarak katılaşıyorRetroda masadaki iki seçenekçalışan ama ürün kararına aykırı kodgeri alma maliyeti yüksekSEÇİLENürün kararına uygun ama baştan yazımdoğru olanELENENkötü kararlar iyi kararları maliyetle yener
Kararın kalitesi sabit kalırken savunulabilirliği her gün artar. Retroya gelindiğinde tartışılan şey artık doğruluk değil, geri alma faturasıdır.

3. Literatürün kör noktası

Bu sorunların hiçbiri yeni değil, ama 2025-2026'nın spec-driven development (SDD) dalgası da bunlara cevap vermiyor; çünkü farklı bir katmanda çalışıyor.

Terimin modern dalgası çoğunlukla Eylül 2025'te açık kaynak yapılan GitHub Spec Kit'e atfediliyor; AWS'nin Kiro'su ve Tessl ifadeyi yaygınlaştırdı. Alandaki referans metin, Thoughtworks'ten Birgitta Böckeler'in martinfowler.com'daki analizi: Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl. Böckeler üç olgunluk seviyesi ayırıyor:

SPEC-FIRSTSPEC-ANCHOREDSPEC-AS-SOURCEspeckodiş bitince spec terk edilirspeckodikisi birlikte yaşarspeckodinsan dokunmazspec birincil artefaktüçü de tek bir geliştirici ile bir agent arasındaki iş akışını tarif eder
Böckeler'in üç seviyesi spec ile kod arasındaki bağı ölçer. Eksik olan boyut şu: bu spec'i kim yazdı ve kaç tane var.

Aynı yazının eleştirileri de en az sınıflandırması kadar önemli: mevcut araçlar aşırı inceleme yükü ve sahte bir kontrol hissi üretiyor, farklı problem boyutlarına iyi ölçeklenmiyor. Böckeler küçük bir bugfix'i Kiro'ya verdiğinde dört user story ve on altı kabul kriteri almış. Ve spec-as-source hedefiyle model-driven development'ın tarihsel başarısızlığı arasında keskin bir paralellik kuruyor. François Zaninotto'nun Kasım 2025 tarihli Spec-Driven Development: The Waterfall Strikes Back yazısı da aynı yere işaret ediyor; hatta daha sert: SDD, kodlamadan önce ağır dokümantasyon fikrini diriltiyor ve çevikliği markdown katmanlarının altına gömme riski taşıyor. Zaninotto'nun yerine önerdiği şey “Natural Language Development”: zor problemi çok sayıda küçük ve test edilebilir parçaya bölüp agent'a küçük adımlar attırmak.

Bu eleştirilerin hepsi yerinde. Ama dikkat edin: hepsi tek bir geliştirici ile bir agent arasındaki iş akışı hakkında. Hangi markdown dosyası, hangi sıra, hangi araç, ne kadar ayrıntı. Bölüm 1'deki organizasyonun sorunu bu değildi. Onun sorunu, spec'i kimin yazdığı, kaç tane spec olduğu, hangi rolün ne zaman devreye girdiği ve ürün kararının kod katılaşmadan önce mi sonra mı alındığıydı.

SDD literatürü araç katmanını çözdü. Organizasyon katmanı büyük ölçüde boş. Bu yazı o boşluğu doldurmayı deniyor.

Zaninotto ile nerede aynı çizgideyiz

Zaninotto'nun eleştirisini reddetmiyorum; büyük ölçüde paylaşıyorum. Problemi küçük ve test edilebilir parçalara bölmek doğrudur; ama bu, her parçaya bütün olarak yaklaşmayı gerektirir. Dikey bölme (küçük ama uçtan uca dilim) ile yatay bölme (backend spec'i ayrı, frontend spec'i ayrı) aynı şey değildir. Bu yazıda itirazım ikincisinedir. “Spec bütündür” ilkesi spec'in büyük olmasını değil, bölünmemiş olmasını gerektirir; küçük bir spec de bütün olabilir.

DİKEY BÖLME — küçük ama bütünbefeqaürünbefeqaürünbefeqaürünher dilim tek başınayanlışlanabilirYATAY BÖLME — büyük ama parçalıbackend spec'ifrontend spec'iqa spec'ihiçbir katman tek başınabir şey vaat edemezbütünlük büyüklük değil, bölünmemişliktir
İtiraz spec'in küçük olmasına değil, yatay bölünmesine. Küçük bir spec de bütün olabilir.

İki noktada ise ayrışıyoruz ve ikisi de Zaninotto'nun yönteminin yanlış olduğunu değil, kapsamının beyan edilmediğini gösteriyor.

Birincisi, öğrenme kodunun nereye gittiği. Zaninotto hatalardan iterasyonu savunuyor; bu yazı da savunuyor. Fark, o kodun ana dala girip girmediğinde. Ana dalda biriken deneysel kod, LLM üretiminde en pahalı hata kaynağı olan kirli context'i üretir. Bunun gerekçesini Tip 2 bölümünde ayrıntılandırdım.

İkincisi, tersinirliğin varsayılan kabul edilmesi. Zaninotto'nun modeli, her şeyin ucuza yeniden yapılabildiği bir dünyada çalışıyor; ve verdiği örnek bunu ele veriyor: Claude Code ile yaklaşık 10 saatte üretilmiş bir 3D heykel aracı. Tek geliştirici, düz bir üretim hattı, sıfır tüketici, migration yok, deprecation takvimi yok, ikna edilecek pazar yok. Bu koşullarda gerçekten her şey tersinirdir ve kapı (çözüm yaklaşımlarını tersinir olması veya olmamasına göre ayırmak. Bezos, 2015 hissedar mektubu; tip-1 ve tip-2 kapılar) kurmak israftır. Ama iş dallandıkça, ürünün spec kapsamı dışındaki parçaları ve başka tüketiciler o karara bağlandıkça tersinmezlik doğar ve geri almak artık tüketiciye dokunmayı gerektirir.

Yani Zaninotto'nun yaklaşımı tek ürün, çizgisel üretim hattı ve genellikle tek geliştirici koşullarında doğrudur. Aşağıdaki modelde de bir karşılığı vardır: Tip 2'nin K2 ıraksama fazı tam olarak bu koşulları yapay olarak yeniden kurar; kod ana dala girmediği için tüketici grafiği tanımı gereği boştur, dolayısıyla orada hızlı iterasyon yalnızca meşru değil, tercih edilendir.

4. Kritik ayrım: AI-coded ve AI-centric

Tartışmayı netleştiren tek bir eksen var ve çoğu kurumsal “AI dönüşümü” programı bu ekseni hiç görmüyor.

AI-coded, AI'ın spec tamamlandıktan sonra devreye girmesidir. İnsanlar düşünür, tartışır, karar verir, spec'i olgunlaştırır; AI kod yazar. AI burada çok hızlı bir uygulayıcıdır ve başka bir şey değildir.

AI-centric, AI'ın spec'in oluşumuna katılmasıdır. Araştırma ortağı, soru üretici, çelişki bulucu, ön inceleme mercii. Kod yazması bu işlevin yanında ikincil kalır.

AI-CODEDAI çok hızlı bir uygulayıcıdırinsanlardüşünür · tartışır · karar verirspecolgunlaşırAIburadan sonrakoduygulamaAI-CENTRICkod yazması ikincil kalırproblemspec'in oluşumuAIaraştırma ortağısoru üreticiçelişki bulucuön inceleme merciispeckodtek fark: AI spec'in sonrasında mı, yoksa oluşumunda mı
Bu eksen küçük görünür ama organizasyon şemasını belirleyen şey tam olarak budur. Solda AI bir uygulayıcı, sağda bir ortak.

Fark önemsiz görünebilir ama organizasyon şemasını belirleyen şey tam olarak budur. AI-coded bir dünyada spec üretmenin maliyeti hâlâ insan koordinasyonuna bağlıdır; yani spec'i kim yazacaksa, o kişinin bilmediği her şey için başka bir insana ihtiyacı vardır. AI-centric bir dünyada bu doğru değildir: bir kişi, bilmediği alanda yeterli derinliğe talep üzerine ulaşabilir.

Uzmanlığı iki türe ayıralım:

Yerleşik derinlik:

Kişide kalıcı olarak bulunan, yıllarla ve yara izleriyle kazanılmış derinlik.

Talep üzerine derinlik:

Gerektiğinde, AI destekli araştırma ve inceleme ile ulaşılan derinlik.

Sert disiplin ayrımı, yerleşik derinliğin tek seçenek olduğu dünyanın kurumudur. Talep üzerine derinlik yeterince iyi hale geldiğinde, bu kurumun ekonomik gerekçesi buharlaşır. Bu yazının tezi budur.

5. AI öncesi akrabalar

Önerinin her mekanizmasının AI öncesinden bir atası var ve bunları anmak tezi zayıflatmaz; aksine “shiny new thing syndrome” eleştirisine karşı zırh sağlar.

AI ÖNCESİ AKRABALARSet-based concurrent engineeringShape UpDual-track agileTersinir ve tersinmez kararlarConway yasasıTeam TopologiesToyota · Ward ve ark., 1995 → K2 ıraksama moduSinger · Basecamp, 2019 → shaping ve betting'in ayrılmasıSy, 2007 · Cagan ve Patton → teslimatın keşfe tabi kılınmasıBezos, 2015 hissedar mektubu → K3 kapısı1968 → ekip sınırları mimariyi belirlerSkelton ve Pais, 2019 → bölünme ekseni yataydan dikeyeAynı yönLLM'ler yeni bir yönicat etmiyor; mevcut biryönün önündeki maliyetengelini kaldırıyorlar
Altı ata, tek yön. Yön daha önce de tarif edilmişti; kod üretim maliyetleri bizi o yöne gitmemeye itti.

Set-based concurrent engineering (Toyota; Ward, Liker, Cristiano ve Sobek, Sloan Management Review, 1995). Tek bir çözümü erken seçip üzerinde iterasyon yapmak yerine, birden çok rakip çözümü paralel geliştirip kısıtlar netleştikçe elemek. “The Second Toyota Paradox” olarak anılan bulgu şuydu: geç karar vermek, doğru anlaşıldığında daha hızlıdır. Bu yazıdaki “ıraksama modu” doğrudan bunun torunudur; ve önemi şurada: kanıtla eleme mantığı, big-design-up-front'un zıddıdır. Zaninotto'nun waterfall itirazına verilecek cevap burada yatıyor.

Shape Up (Ryan Singer, Basecamp, 2019; çevrimiçi ücretsiz). Shaping, betting ve building'in ayrı faaliyetler olması; tahmin yerine “appetite”; backlog yerine betting table. Kritik detay: shaping işi, cycle ekiplerine paralel çalışan küçük bir kıdemli grup tarafından yapılır ve bir pitch bahse konu olmadan build ekipleriyle tartışılmaz. Sprint eleştirisi bu yazınınkiyle neredeyse aynı: sabit ritim, olgunlaşmamış işi üretime itiyor.

Dual-track agile (Desirée Sy'nin 2007'deki çalışmasından çıkıp Marty Cagan ve Jeff Patton ile yaygınlaştı). Keşif ve teslimatın ayrı izler olarak yürütülmesi. Bu yazının önerisi bunun radikalleştirilmiş hali: iki paralel iz değil, teslimat izinin keşif izine tabi kılınması.

Tersinir ve tersinmez kararlar (Bezos, 2015 hissedar mektubu; tip-1 ve tip-2 kapılar). Formüldeki K3 kapısının doğrudan dayanağı.

Conway yasası (1968) ve Team Topologies (Skelton ve Pais, 2019). Ekip sınırlarının mimariyi belirlemesi ve stream-aligned ekip fikri. Bu yazıda önerilen dönüşüm, Team Topologies'in on yıldır söylediği şeyin hızlanmış hali olarak da okunabilir: bölünme ekseni yataydan (katman) dikeye (akış) döner.

Yani LLM'ler yeni bir yön icat etmiyor. Mevcut bir yönün önündeki maliyet engelini kaldırıyorlar. O yön daha önceden de tarif edilmişti ama kod üretim maliyetleri bizi o yöne gitmemeye itti.

6. SDD sonrası üç organizasyon tipi

SDD'yi benimsemiş organizasyonlar tek bir şeye dönüşmüyor. Üç ayrı yapıya ayrışıyorlar ve aralarındaki fark, verimlilik farkının tamamını açıklıyor.

Başlangıç noktası (SDD öncesi): Disiplin uzmanlarının hem tasarımı hem kodu ürettiği klasik agile. Problemin Anatomisi bölümündeki organizasyon burada.

BAŞLANGIÇTİP 1TİP 2TİP 3SDD öncesiparçalı specortak specgenel bilicitasarım + kodikisi de disiplindeürünspecspecspecspecuyumsuz kodmakine hızındatek specyakınsamış · bütünkod — LLMAItek spectek yazar · çok incelemekod — LLMSPEC SAYISISPEC SAYISISPEC SAYISISPEC SAYISIYAZARYAZARYAZARYAZARyokn11n disiplinn ayrın uzlaşır1 kişiklasik agiledrift fabrikasıyakınsama hibritiAI-centricverimlilik farkının tamamını bu iki satır açıklıyor
Dört yapı, iki ölçü: kaç spec ve kaç yazar. Organizasyon şemanız ne derse desin, tipinizi bu iki sayı belirliyor.

Tip 1; Parçalı spec: drift fabrikası

Disiplin uzmanları kendi spec'lerini ayrı ayrı yazar, kodu AI üretir.

Bu, en yaygın ve en tehlikeli geçiş biçimi, çünkü mevcut organizasyon şemasını hiç değiştirmeden benimsenebilir. Herkes kendi alanının spec'ini yazar, herkes kendi agent'ını çalıştırır, herkes hızlanır. Yönetim tablosunda her şey iyi görünür.

Sorun şu: ayrı zamanlarda, ayrı profesyoneller tarafından, ayrı bağlamlarla yazılmış spec'ler tanım gereği uyumsuzdur. Eskiden bu uyumsuzluk insan hızıyla üretiliyordu; şimdi makine hızıyla üretiliyor. Bölüm 2'deki üç patoloji ortadan kalkmaz, şiddetlenir:

ESKİDEN — insan hızıortak problemdaraynı sapma açısıaz kodla birikirŞİMDİ — makine hızıortak problemgenişaynı sapma açısı, çok daha fazla kodla birikir
Tip 1 uyumsuzluğu yaratmaz; onu ölçekler. Sapma açısı aynı kalır, sapmanın altına dökülen kod hacmi büyür — ve geri alma faturası onunla birlikte.

Tip 1'in ayırt edici özelliği şudur: eski agile'ı ortadan kaldırmaz, onu SDLC'nin omurgası olmaya zorlar. Sürekli çıktı beklentisi, artık spec üretiminde de geçerli bir baskı haline gelir ve her disiplin kendi tarafında yarına kadar yaşayacak çözümler üretir. Drift'in asıl kaynağı burasıdır; ve pek çok organizasyon “AI dönüşümü yaptık” diyerek tam olarak burada duruyor. Tip-1'i asla durulmaması gereken bir organizasyon hedefi olarak görüyorum.

Tip 2; Ortak spec: yakınsama odaklı hibrit

Disiplin uzmanları bir araya gelip tek bir spec üzerinde çalışır. Agile'ın işe yarar kısımları korunur ama döngüler kod üretmek için değil spec üretmek için koşturulur. Kod üretimi ucuz bir uygulama adımı olarak LLM'e bırakılır.

Bu, saf AI-coded bir modeldir: AI spec olgunlaşana kadar bir PoC fabrikası veya research kaynıağı olmak dışında devrede değildir.

Çalışma birimi. Bir döngünün “tamamlandı” tanımı sahaya çıkan bir özellik değil, yakınsamış bir spec'tir. Yakınsamış demek: bütün paydaş disiplinler onu okumuş ve kendi tarafından çürütmeye çalışmış, çürütememiştir; yanlışlanabilirlik kriterleri yazılıdır; kontratlar spec'in parçasıdır; ürün etkisi olan kararlar işaretlenmiş ve onaylanmıştır.

Spec bütündür. Bir feature, bir bugfix ve bir davranış değişikliği farklı kapsamlara sahiptir ama aynı bütünlük kuralına tabidir. Özellikle davranış değişikliği: pazarda ürün olduğu için backfill, codegen, deprecation ve pazarı ikna etme spec'in gövdesidir, “sonra düşünülecek yan işler” değil.

İki mod (Dual-track agile'ın discovery/delivery ikilisiyle akraba). Keşif modunda amaç seçenek üretmektir; kod ucuzdur ve atılmak üzere yazılır. keşif modunda üretilen hiçbir kod ana dala girmez.

Bu kural iki ayrı sorunu birden çözüyor ve ikincisi LLM ile hayatımıza giren bir sorun.

Birincisi, geri alma maliyetidir: bir yaklaşımı denemenin bedeli, onu terk etmenin bedelini içermemelidir. Bu klasik argüman ve set-based engineering'den beri biliniyor.

İkincisi ve bugün daha kritik olanı context kirliliği. Terk edilmiş kodun ana dalda durması eskiden dağınıklıktı; artık üretimi aktif olarak yönlendiren bir girdidir. Çünkü codebase artık yalnızca bir artefakt değil, aynı zamanda bir prompt'tur. İnsan geliştiricinin bant dışı hafızası vardır; “o klasöre bakma, orası ölü” bilgisi kabile bilgisinde durur. Agent'ın böyle bir hafızası yoktur; repo, hafızanın kendisidir. Vazgeçilmiş bir yaklaşım ağaçta kaldığında agent bunu “denendi, olmadı” olarak değil, “bu projenin yerleşik deseni” olarak okur ve bir sonraki üretimlerin şablonu yapar. Klasik teknik borç doğrusal birikir; context borcu kendini çoğaltır, çünkü her üretim onu bir kat daha pekiştirir. “Sonra temizleriz” ucuz bir taahhüttü; artık değil.

İnsanlar uzun zamandır teknik borçtan bahsediyor. Ama şimdi elimizde, teknik borcu daha önce hiç mümkün olmayan şekillerde biriktirmemize izin verecek yepyeni bir kredi kartı var.

Armando Solar-Lezama, MIT Bilgisayar Bilimleri ve Yapay Zekâ Laboratuvarı profesörü, The Wall Street Journal röportajı.
ANA DALA GİRERSEana dalterk edilmiş yaklaşımagent: repo = hafızaüretim nüretim n+1üretim n+2“denendi, olmadı” değil —“bu projenin yerleşik deseni”context borcu kendini çoğaltırGİRMEZSEana dalkeşif dalıkod atılırkarar kaydıhangi yaklaşım denendihangi ölçümle elendihangi kısıt ortaya çıktıkod atılır, bulgu kalırcodebase artık yalnızca bir artefakt değil, aynı zamanda bir prompt'tur
Klasik teknik borç doğrusal birikir; context borcu çoğalır, çünkü her üretim onu bir kat daha pekiştirir. Sağdaki kural kodu atar, öğrenmeyi tutar.

Keşif modunun çıktısı silinen bir dal değil, bir karar kaydıdır. Kural yalnızca “kodu atın” biçiminde uygulanırsa öğrenme de atılır ve aynı deney altı ay sonra tekrar koşulur. Kod atılır, bulgu kalır: hangi yaklaşım denendi, hangi ölçümle elendi, hangi kısıt ortaya çıktı. Bu kayıtlar Tip 3'ün ihtiyaç duyduğu külliyatın hammaddesidir.

Karar modunda amaç seçenekleri elemek ve tek bir bütüne inmektir. Geleneksel sprint'in hatası bu iki modu aynı anda ve aynı kod tabanında çalıştırmasıydı: keşif yaparken production kodu yazıyorduk, bu yüzden keşfin sonucu bizi bağlıyordu.

Roller: uygulayıcıdan kısıt sağlayıcıya. Disiplinler ortadan kalkmaz; işlevleri değişir.

RolEski işleviTip 2'deki işlevi
AnalistProblemi tanımlar, devrederSpec oturumunun kolaylaştırıcısı; problemi sahiplenmeye devam eder
BackendKendi tasarımını yaparVeri modeli, tutarlılık, ölçek kısıtlarını spec'e dayatır
Client/FrontendKendi tasarımını yaparEtkileşim, durum yönetimi, performans kısıtlarını dayatır
QASonda test ederBaşta yanlışlanabilirlik kriterlerini yazar
PM/POSonraki sprint'te tepki verirDöngü içinde ürün kararlarının karşılığını verir
Infra/GatewayEn sonda devreye girerOperasyonel ve maliyet kısıtlarını erken dayatır

Kritik nokta: bir frontend mühendisinin “bu sayfalama modeliyle sonsuz kaydırma mümkün değil” demesi bir detay değil, ana spec'i geçersiz kılan bir kısıttır.

Formül. Sprint'in yerine zaman kutusu değil kanıt kutusu geçer:

Zaman kutusu değil — kanıt kutusugenişlik, aşamanın tipik süresini temsil ediyorK0K1K2K3K4K5ProblemKısıt haritasıKeşifKarar + specUygulamaDoğrulamane değişiyor,kim içinkısıtlar + çürütmelerQA kriterleri yazarPoC turları,atılabilir kodtek, bütün,kontratları içerenLLM ağırlıklıüretimK1 kriterlerinekarşı kanıtçözüm yokproduction kodu yokçıktı: kanıtkimse çürütemiyoren kısa aşamasürpriz yokTERSİNMEZ KARARLAR — tip-1veri şeması · public API kontratı · ücretlendirme · migration · deprecation takvimiK3'ügeçemezTERSİNİR KARARLAR — tip-2K4'e ertelenir, tartışılmaz; yanlış çıkarsa değiştirilirK4 uzuyorsa hata K4'te değil — K3 yakınsamamıştır
Kapılar süreyi değil kanıtı ölçer. K3 tek gerçek kapıdır: tersinmez olan her şey onun solunda kalmak zorundadır.

Tersinirlik kuralı. Tersinir kararlar (tip-2) K4'e ertelenir, tartışılmaz. Tersinmez kararlar (tip-1); veri şeması, public API kontratı, ücretlendirme, migration, deprecation takvimi; K3'ü geçemez.

Ama “tersinmez” kelimesi burada özenli bir tanım gerektiriyor, çünkü yaygın kullanımı yanıltıcı. Tersinirlik kararın bir özelliği değildir; kararın artı ona bağlananların özelliğidir. Aynı karar birinci günde tersinir, dört yüzüncü günde tersinmezdir ve arada kararın kendisi hiç değişmemiştir. Tersinmezliği yaratan şey kod yazmak değil, birinin ona bağımlı hale gelmesidir; üstelik bu bağımlılar çoğu zaman spec'in kapsamı dışındadır: ürünün başka parçaları, başka ekiplerin kodu, entegratörler, sözleşmeye bağlanmış müşteri davranışları.

GÜN 0GÜN 400arada kararın kendisi hiç değişmedikarartüketici yokgrafik boşTERSİNİRertelenir, tartışılmazkararürünün başka parçalarıbaşka ekiplerin koduentegratörlersözleşmeye bağlı davranışlarTERSİNMEZtersinirlikürünün yaşı ve dallanması →monoton azalır — geri dönüşü yoktersinirlik bir başlangıç koşuludur, kalıcı bir özellik değil
Kapı için öznel olmayan test: bu kararın spec sınırı dışında tüketicisi var mı? Sıfırsa tersinir, sıfırdan büyükse değil.

Bu, K3 kapısına öznel olmayan bir test verir. Soru “bu önemli bir karar mı” değildir; bu tartışılır ve tartışma kıdemle kazanılır. Soru şudur: bu kararın spec sınırı dışında tüketicisi var mı? Sıfırsa tersinirdir; ertelenir, tartışılmaz, yanlış çıkarsa değiştirilir. Sıfırdan büyükse tersinmezdir; K3'ü geçemez, çünkü geri almak artık tüketiciye dokunmayı gerektirir. Bölüm 6'nın başında sayılan backfill, codegen, deprecation yönetimi ve pazarı ikna etme kalemleri tam olarak bu tüketici grafiğinin faturasıdır.

Buradan çıkan ilke, bu yazının en pratik cümlesi olabilir: tersinirlik bir başlangıç koşuludur, kalıcı bir özellik değil. Ürün yaşlandıkça ve dallandıkça monoton olarak azalır. Sıfır günündeki bir projede her şey tersinirdir ve bu yüzden kapı kurmak israftır. Bölüm 1'deki organizasyonun sorunu, tersinirliğin çoktan tükendiği bir kod tabanında hâlâ sıfır günü varsayımıyla çalışmasıydı.

Ölçeklendirme kuralı. Kapılar feature'ın büyüklüğüyle değil, tüketici grafiğiyle ölçeklenir. Spec sınırı dışında tüketicisi olmayan bir iş; çoğu bugfix, çoğu iç iyileştirme; K0'dan K4'e doğrudan geçer ve kapı ritüeli hiç çalışmaz. Bu kural olmadan model, tek satırlık bir null kontrolü için dört user story üreten araçlarla aynı hataya düşer.

Tip 2 gerçek bir kazanım sağlar. Ama bir tavanı vardır ve tavan şudur: koordinasyon maliyeti hâlâ insan sayısıyla çarpımsal büyür. Beş disiplinin aynı spec üzerinde yakınsaması, beş takvimin, beş bağlamın ve beş egonun senkronize edilmesi demektir. Tip 2 uyumsuzluğu çözer, koordinasyonu çözmez.

Tip 3; Genel bilici yazarlığı: AI-centric model

Burada organizasyon şemasının kendisi değişir.

Spec'i tek bir genel bilici yazar. Tek oturumda değil; birden fazla oturumda, titizlikle detaylandırarak. Yanında AI destekli araştırma vardır: bilmediği alanlarda soru-cevap ve tartışma turlarıyla talep üzerine derinliğe ulaşır. Kurduğu teknik kararlar frontier modeller tarafından ön incelemeden geçirilir. Sonuçta ortaya çıkan şey, tek bir zihnin kurduğu ama defalarca sınanmış, bütün bir spec'tir.

Buradaki incelik şu: spec'in tek yazarı olması, tek görüşle yazılması demek değildir. Aksine, çok görüşlülük yazarın içine taşınmıştır. Tip 2'de backend uzmanı ile frontend uzmanı arasındaki gerilim iki insan arasında bir toplantıydı; Tip 3'te aynı gerilim tek bir insanın birden çok inceleme turunda ürettiği bir çelişki listesidir. Bütünlük artık uzlaşmayla değil, yazarlıkla sağlanır.

TİP 2 — uzlaşmaTİP 3 — yazarlıkANBEFEQAPO10 senkronizasyon kanalıbeş takvim, beş bağlam, beş egogenelbiliciaraştırma turuön incelemeçelişki listesisoru-cevap4 kanal — hepsi asenkronçok görüşlülük yazarın içine taşınmıştırbütünlük artık uzlaşmayla değil, yazarlıkla sağlanır
Tip 2'nin maliyeti kişi sayısıyla çarpımsal, Tip 3'ünki doğrusal büyür. Üç tip arasında Tip 3'ü en zaman-etkin yapan şey budur.

Ekonomik sonucu keskindir: Tip 2'nin çarpımsal koordinasyon maliyeti ortadan kalkar. Bu yüzden Tip 3 üç tip arasında açık ara en zaman-etkin olanıdır.

Ve ekip kavramının içi boşalır.

Artık bir feature üzerine spec yazıp her döngüde bir çıktı üreten “ekip” yoktur. Aynı ürün üzerinde çalışan bir grup insan vardır. Kimin hangi feature'ı sahiplendiği döngüden döngüye değişir. Sprint review'un yerini, döngü sonlarında yapılan show-and-tell oturumları alır; ve bu oturumların işlevi de değişmiştir. Artık paydaşa iş onaylatmak için değil, herkesin ürünün hangi yöne gittiğinden haberdar olması için yapılır. Tip 3'te en kıt kaynak, onay değil durum farkındalığıdır.

AI-centric SDLC'nin sert disiplin uzmanlıkları yerine genel bilicileri değerli kılması tam olarak buradan gelir. Uzmanlık ölmez; fiyatı düşer, çünkü talep üzerine erişilebilir hale gelir. Değerli olan, sistemin bütününü zihninde tutup sınırlar arası çelişkileri fark edebilen kişidir; çünkü bu, talep üzerine erişilemeyen tek yetenektir.

7. AWS AI-DLC: en yakın komşu

Tip 3'e bugün en yakın kurumsal öneri AWS'nin AI-DLC'si (AI-Driven Development Life Cycle). Kurallar awslabs/aidlc-workflows deposunda açık kaynak ve Claude Code, Kiro, Cursor, Codex CLI, opencode ya da GitHub Copilot gibi araçlara takılabiliyor. Ölçek fikri vermesi açısından: v2 dalı, 11 alan uzmanı ve 2 salt-inceleme agent'ından oluşan 14 agent'lık bir kadroyla 33 aşamalı bir iş akışı tanımlıyor ve her kapıyı insanın onaylamasını bekliyor.

Ne yapıyor. Üç faz var: Inception (ne ve neden), Construction (nasıl), Operations (dağıtım ve işletim). Her faz bir sonrakine bağlam besliyor ve artefaktlar depoda kalıcı tutuluyor; “agent'lar unutur, dosyalar unutmaz” mantığı. Sözlük bilinçli olarak değiştirilmiş: sprint yerine bolt (haftalar değil, saatler veya günler), epic yerine Unit of Work, en üstte ise Intent. İki ritüel var: Inception'da Mob Elaboration (ürün, geliştirici, QA ve operasyon birlikte AI'ın sorularını ve önerilerini gerçek zamanlı doğrular), Construction'da Mob Construction (teknik kararlar anlık netleştirilir). Çekirdek felsefe “AI önerir, insan onaylar” ve insanların pasif onaylayıcıya dönüşmemesi için zorunlu kontrol noktaları konmuş.

Rakamlara gelince, dikkatli olmakta fayda var. re:Invent 2025'te AWS 10-15x verimlilik artışlarından ve Wipro'nun yaklaşık üç aylık planlanmış işi beş gün süren dört saatlik mob oturumlarıyla yaklaşık 20 saate sıkıştırmasından bahsetti. Aynı sunum karşı ağırlığı da taşıyordu: yapılandırılmamış AI asistan kullanımında ölçülen kazanç %10-15 bandında. Bunlar satıcı tarafından, satıcının yürüttüğü projelerde üretilmiş sayılar; yön gösterici, doğrulanmamış. Başarısızlık vakaları henüz yayımlanmadı.

AWS AI-DLC'ye katıldığım konular Sabit iki haftalık ritmin reddi; disiplinlerin ayrı ayrı değil aynı oturumda çalışması; bağlamın kalıcı ve versiyonlanabilir olması; kararların sessizce koda gömülmek yerine açıkça yüzeye çıkarılması. Bunlar bu benim de savunduğu şeyler.

Nerede ayrışıyoruz; dört nokta.

AWS AI-DLC — üç faz14 agent · 33 aşama · her kapıda insan onayıInceptionConstructionOperationsne ve neden · Mob Elaborationnasıl · Mob Constructiondağıtım ve işletimsözlük: sprint → bolt · epic → Unit of Work · en üstte Intent · felsefe: “AI önerir, insan onaylar”AYRIM NOKTASIAWS AI-DLCBU MODEL1 · Döngünün yönü2 · AI'ın rolü3 · Mob'un maliyeti4 · Tersinmezlik kapısıbolt: saatler veya günlerdöngüyü kısaltırAI önerir, insan onaylarvarsayılan davranış: kabulmob doğrulamakıdemli dikkati yerkararlar yüzeye çıkar amatersinirliğe göre sınıflanmazçıktı ritmi spec olgunluğundan ayrıkolgunlaşmadıysa döngü uzayabilirinsan çürütür; AI iş ortağıvarsayılan davranış: itirazTip 2 aynı maliyeti kabul ederTip 3 tek yazarlık + asenkron incelemeK3: spec sınırı dışındatüketici var mıhızı kararsızlıkla satın alma riski tam olarak dördüncü satırda duruyor
AI-DLC, Tip 3'ün en olgun kurumsal ifadesi. Eksik olan iki şey: çürütme disiplini ve tersinirlik kapısı.

Birincisi, döngünün yönü. AI-DLC döngüyü kısaltıyor: bolt saatler veya günler. Benim hedefim ve önerdiğim şey döngüyü kısaltmak değil, çıktı ritmini spec olgunluğundan ayırmak. Bir spec olgunlaşmadıysa döngü uzayabilmelidir; olgunlaştıysa uygulama zaten kısadır. “Bolt” kavramı, agile'ın sürekli çıktı beklentisini kısaltarak koruyor; benim teşhisine göre asıl sorun tam olarak o beklentiydi. AWS tarafı şöyle savunulabilir. Wğer saatler veya günler olgunlaşma için yeterli değilse muhtemelen spec kapsamı küçültülmeli gibi bir pencereden bakıyor olabilirler. Haklılık payı var.

İkincisi, AI'ın rolü. AI-DLC'de AI önerir, insan onaylar. Bu yazıda insan çürütür. Fark retorik değil: onaylama modunda insanın varsayılan davranışı kabul etmektir ve AI-DLC'nin kendi tasarımı bu riski kabul edip zorunlu kontrol noktalarıyla telafi etmeye çalışıyor. Çürütme modunda varsayılan davranış itirazdır ve inceleme yükü daha az, daha isabetli olur. Nitekim Böckeler'in “sahte kontrol hissi” eleştirisi de tam bu ayrımı işaret ediyor. Burada AI önermesin insan önersin AI yapılandırsın yani AWS'nin tam zıttı bir yerde durmak da mantıklı değil. Frontier modellerin akıl yürütme kabiliyetleri günden güne artıyor. Ama bu tarafı formulize etmeye açıkça itiraz ediyorum. AI'ı bir contractor ya da supervisor olarak formulize etmek yanlış. Bir iş ortağı olarak görmek ve bu maddedeki rolü insan ile eşit tutmaluyız bazen insan önerir AI onaylar, bazen tersi.

Üçüncüsü, mob'un maliyeti. Bağımsız bir denemenin gözlemi şuydu: dört kişiyle bolt temposunda mob doğrulama, bir sprint'in iki haftaya yaydığı iş için bütün bir öğleden sonrayı yiyor; daha hızlı, ama kıdemli dikkat açısından daha ucuz değil. Bu yazının Tip 2'si aynı maliyeti taşır ve bunu açıkça kabul eder; Tip 3 ise mob'u ortadan kaldırıp yerine tek yazarlık artı asenkron inceleme koyar. Mob, koordinasyon maliyetini görünür kılar ama ortadan kaldırmaz.

Dördüncüsü ve en önemlisi, tersinmezlik kapısı yok. AI-DLC'de kararlar yüzeye çıkarılıyor ama tersinirliklerine göre sınıflandırılmıyor. Bölüm 1'deki organizasyonun en pahalı sorunu; “çalışan ama yanlış” ile “doğru ama yeniden yazım” ikilemi; tam olarak burada çözülmeden kalıyor. Bir kararın açıkça görünür olması, geri alınabilir olduğu anlamına gelmez.

Özetle: AI-DLC, Tip 3'ün en olgun kurumsal ifadesi ve ciddiye alınmayı hak ediyor. Ama Tip 2'nin çürütme disiplinini ve tersinirlik kapısını içermediği için, hızı kararsızlıkla satın alma riski taşıyor.

8. Tip 3'ün ön koşulları; ve neden çoğu organizasyon oraya atlayamaz

Tip 3 en zaman-etkin model, ama doğrudan geçilebilir bir yer değil. Üç ön koşulu var ve bunlar sağlanmadan yapılan geçiş, Tip 1'in daha kendine güvenen bir versiyonunu üretir.

TİP 3genel bilici yazarlığı — en zaman-etkin model123Kurum HafızasıModül SınırlarıGenel bilici arzıörtük bilginindışsallaştırılmış olmasımimari sınırlarınaçıkça savunulmasıkıdemsizler için ayrı birderinleşme yoluTİP 2 — örtük bilgiyi dışsallaştırma makinesiK1 kısıt haritaları ve çürütme turları, Tip 3'ün ihtiyaç duyduğu külliyatı üretirtemel atlanırsa çıkan şey Tip 3 değil, Tip 1'in daha kendine güvenen versiyonudur
Tip 2, Tip 3'ün rakibi değil ön hazırlığıdır. Üç sütunu da o dökümanlaştırma turu ayakta tutuyor.

Ön koşul 1: Kurum Hafızası: örtük bilginin dışsallaştırılmış olması. Bir uzmanın gerçek değeri, sizin production trafiğinizi, on-call geçmişinizi, müşterinizin garip kullanım desenini ve üç yıl önce neden o migration'dan vazgeçildiğini bilmesidir. Frontier modeller bunu bilmez. Genel bilici de bilmez; eğer bu bilgi bir yere yazılmadıysa. Tip 3'ün gerçek gereksinimi budur: karar kayıtları, olay geçmişi, mimari değişmezler ve önceki spec'lerin makine tarafından okunabilir bir külliyat halinde tutulması. Bu külliyat yoksa genel bilici bilgisiz değil, kendinden emin şekilde yanlıştır; ki bu daha kötüdür.

Ön koşul 2: Modül Sınırları: mimari sınırların açıkça savunulması. Conway yasası ters yönde de çalışır. Ekip sınırları yapaydı ama görünürdü; sistemin okunabilir belgesiydi. Bağımsız genel biliciler ayrı feature spec'leri üzerinde çalıştığında birleştirme problemi kaybolmaz, katman değiştirir: kontrat düzeyinden mimari düzeye çıkar. Buna karşı bir mimari değişmezler belgesi ve bunu sahiplenen bir rol (sistem yöneticisi, mimari kurul, adı önemli değil) gerekir. Aksi halde sonuç, hiçbir modül sınırının kimseyi rahatsız etmediği; dolayısıyla hiçbirinin savunulmadığı; dikişsiz bir monolittir.

Ön koşul 3: Genel bilici arzı. Bu en az konuşulan ve en ciddi olanı. Genel biliciler nereden gelecek? Şimdiki genel bilicilerin çoğu, bir alanda uzmanlaşıp sonra yayılarak oluştu. Uzmanlık basamağını kaldırırsanız, on yıl sonra genel bilici üretecek boru hattını da kaldırmış olursunuz. Tip 3'e geçen bir organizasyonun, kıdemsiz mühendisleri için ayrı ve bilinçli bir derinleşme yolu tasarlaması gerekir; yoksa modelin yakıtı biter. Ama popülasyonların kendini dengelemesi de evrim yasasının bir sonucudur. Genel bilicilerin tükendiği noktada sistem genel bilici üretecek yeni bir boru hattını değerli kılacaktır. Bu, başka bir günün endişesi olarak altını çizdiğimiz birşey sadece.

Bu üç ön koşul, Tip 2'nin neden atlanabilir bir aşama olmadığını da açıklıyor. Tip 2'nin K1 kısıt haritaları ve çürütme turları, aslında örtük bilgiyi dışsallaştırma makinesidir. Uzmanlar Tip 2'de yazdıkları kısıtlarla, Tip 3'ün ihtiyaç duyduğu külliyatı üretirler. Yani Tip 2, Tip 3'ün rakibi değil, ön hazırlığıdır.

9. Ölçüm / Principal pozisyonun formüldeki yeri ve verimliliği nasıl ölçmesi gerekitği konusu

Velocity bu modellerde anlamsızdır; ölçtüğü şey (üretilen kod hacmi) artık kıt kaynak değil. Önerilen metrikler:

10. Nerede olduğunuzu nasıl anlarsınız

Basit üç soru:

Tek bir olguyu productiona dahil etmek için kaç tane spec var? Birden çoksa Tip 1'desiniz; organizasyon şemanız ne derse desin.

Tek spec var ama kaç kişinin uzlaşmasıyla yazılıyor? Birden çoksa Tip 2. Tekse Tip 3.

Tek bir olguyu productiona dahil etmek içinkaç tane spec var?birden çoktekTİP 1parçalı spec — drift fabrikasıTek spec var ama kaç kişininuzlaşmasıyla yazılıyor?birden çoktekTİP 2ortak specTİP 3genel bilici yazarlığıorganizasyon şemanızne derse desintipinizi aracınız değil, bu iki cevap belirler
İki soru, üç sonuç. Cevaplar araçtan bağımsızdır; hangi CLI'yı kullandığınız bu ağaçta hiçbir dala karşılık gelmiyor.

11. Sınırlar ve karşı argümanlar

Uzmanlık gerçekten indirgenemez olduğunda tez zayıflar. Derleyici, veritabanı iç mimarisi, kriptografi, gerçek zamanlı sistemler. Bu alanlarda talep üzerine derinlik yeterli değildir ve disiplin sınırı hâlâ ekonomiktir.

Regülasyon ayrımı zorunlu kılabilir. Fintech, sağlık ve ödeme sistemlerinde görevler ayrılığı bir tercih değil, yasal yükümlülüktür. Tip 3 buralarda uygulanamaz.

Ama arada bir form var: Tip 2.5. Yukarıdaki iki itiraz — indirgenemez uzmanlık ve regülasyon — Tip 3'ü çürütmez, sınırını çizer; ve o sınırın tam üstünde duran bir ara yapı vardır. Kuralı basittir: birleştirilebilecek her rol genel bilicide birleşir, dışarıda kalması zorunlu olanlar dışarıda kalır. Zorunluluğun üç kaynağı vardır — regülasyonun görevler ayrılığını dayattığı yerler, alan karmaşıklığının kendi başına bir uzmanlık olduğu yerler ve uzmanlığın gerçekten indirgenemez olduğu yerler — ve üçü de aynı testten geçer: bu derinliğe talep üzerine ulaşılabiliyor mu? Ulaşılabiliyorsa rol birleşir; ulaşılamıyorsa ayrı kalır. Ortaya n değil 1 + n çıkar: spec'i tek bir genel bilici yazar, ama tersinmez kararların dokunduğu her alanın uzmanı onu çürütmek üzere okur.

BİRLEŞEBİLENLERZORUNLU AYRIK — n ALAN UZMANIAnalistBackendClient/FrontendQAPM/POgenelbilicitek spectek yazarincelemeRegülasyonAlan karmaşıklığıİndirgenemez uzmanlıkgörevler ayrılığı yasalkendi başına bir uzmanlıkderleyici · kripto · gerçek zamanlıçürütme turlarıçürütülememiş specregülasyon varsa bu tur imzalıdır1 + n — tek yazar, n çürütücü
Sınırın tam üstündeki ara form. Yazarlık tek kalır; inceleme yalnızca ayrı kalması zorunlu olduğu kadar dağıtılır.

Tip 2.5 iki komşusundan da ayrılır. Tip 2'den farkı yazarlıktadır: spec çok yazarlı bir uzlaşmanın ürünü değil, tek yazarlı bir metnin uzman incelemesinden geçmiş halidir; koordinasyon maliyeti kişi sayısıyla çarpımsal değil, inceleme sayısıyla doğrusal büyür. Tip 3'ten farkı ise incelemenin devredilemezliğindedir: Tip 3 inceleme yükünün bir kısmını modele bırakabilir, Tip 2.5'te en az bir tur insana bağlıdır ve regülasyon söz konusuysa o tur imzalıdır. Pratikte, olgun bir ürün üzerinde çalışan çoğu ekibin gerçekçi hedefi Tip 3 değil burasıdır.

Doğrulama yeni darboğazdır. Üretim on kat hızlandığında inceleme yükü büyür ve bunun ölçülmüş örnekleri var: Scott Logic CTO'su Colin Eberhardt'ın Spec Kit ile gerçek bir feature denemesinde 689 satır kod için 2.577 satır markdown çıkmış, incelemenin çoğu belgelere giden 3,5 saat sürmüş ve yine de bir hata üretime kaçmış. Böckeler'in “aşırı inceleme yükü” eleştirisi bu yazının önerisine de yöneliktir; Tip 2'nin K1 kısıt haritaları bu yükü azaltmak yerine öne çekmeyi hedefler. Tip 3'ün cevabı incelemenin bir kısmını modele devretmektir; ama bu cevabın kendisi Ön koşul 1'e bağımlıdır.

689
satır kod
2.577
satır markdown
3,5
saat inceleme
1
hata yine de kaçtıEberhardt'ın Spec Kit denemesi

Brooks hâlâ haklı olabilir. Yazılımın karmaşıklığı arızi değil özsel bir özellikse, bir spec bunu tanımı gereği tam olarak yakalayamaz. Spec'i tek gerçeklik kaynağı ilan eden her yaklaşım bu duvara çarpar. Bu yazının cevabı, spec'i onay belgesi değil sınanabilir hipotez olarak tanımlamaktır: ıraksama modu tam olarak bu yüzden vardır.

Ve bir ironi. Spec'i bütün tutmanın teknik gerekçelerinden biri, modelin parçayı değil bütünü gördüğünde daha iyi karar vermesidir. Ama belli bir ölçekten sonra bağlam penceresi ve dikkat kaybı spec'i bölmeyi zorunlu kılar. Yani ayrıştırma geri gelir; bu kez insan değil, makine nedenleriyle. Sınırları yok etmiyoruz; kimin rahatsızlığına göre çizildiklerini değiştiriyoruz.

12. Sonuç

Spec-driven development tartışması bugün büyük ölçüde araç tartışması: hangi CLI, kaç markdown dosyası, spec kod ile senkron mu kalıyor. Bu tartışmanın kendisi değerli, ama yanlış katmanda duruyor.

Asıl soru şu: spec'i kim yazıyor, kaç tane var, ve ürün kararı kod katılaşmadan önce mi alınıyor. Bu üç soruya verdiğiniz cevap, aracınızdan bağımsız olarak hangi tipte olduğunuzu belirler. Rolleri sert sınırlarla bölüp herkese ayrı bir agent veren bir organizasyon Tip 1'dedir ve satın aldığı tek şey, uyumsuzluğu daha hızlı üretme kapasitesidir.

kapanan çember— olmuyorherkes her şeyi yaparbütünlük: bir kişininher şeyi bilmesiyleuzmanlaşmasert disiplin sınırlarıyeniden bütünlükbütünlük: bir kişininher şeyi sorabilmesiyleaynı yöne dönüyoruz, aynı yere değil
Çember kapanmıyor. Uzmanlık kaybolmuyor — fiyatı düşüyor; ve varış noktası, başlangıçtan bir kat yukarıda.

Yön açık: disiplinlerin ayrıştığı yapıdan, ortak spec'te yakınsayan yapıya; oradan da genel bilicilerin bağımsız yazarlığına. Bu, herkesin her şeyi yaptığı dönemden uzmanlaşmaya, oradan tekrar bütünlüğe dönen bir çemberin kapanması gibi görünüyor; ama aynı yere dönmüyoruz. Eskiden bütünlük, bir kişinin her şeyi bilmesiyle sağlanıyordu. Şimdi bütünlük, bir kişinin her şeyi sorabilmesiyle sağlanıyor.

Uzmanlık kaybolmuyor. Fiyatı düşüyor. Ve fiyatı düşmeyen tek şey, sistemin bütününü zihninde tutup sınırlar arasındaki çelişkiyi görebilmek.


Kaynaklar

Spec-driven development: araçlar ve eleştiri

AWS AI-DLC

AI öncesi akrabalar

Not: AI-DLC'ye ilişkin verimlilik rakamları AWS ve iş ortakları tarafından, AWS'nin yürütülmesine katkıda bulunduğu projelerde üretilmiştir. Bağımsız doğrulama ve yayımlanmış başarısızlık vakası bulunmadığından bu yazıda yön gösterici veri olarak ele alınmıştır.