Dağınık özellik isteklerini net kabul kriterlerine, minimal bir UI/API planına ve birkaç küçük commit'e nasıl dönüştüreceğinizi öğrenin — Claude Code görev kapsamı.

GET /items/{id} ekranı render etmek için gerekli durumu döner\n- POST /items/{id}/update kullanıcı değişikliklerini kabul eder ve güncellenmiş durumu döner\n\nGirdi ve çıktıları paragraf değil, düz nesneler olarak yazın. Zorunlu vs isteğe bağlı alanları, ve yaygın hatalarda (not found, validation failed) ne olacağını belirtin.\n\nVeritabanına dokunmadan önce hızlı bir auth kontrolü yapın. Kim okuyabilir, kim yazabilir bir cümlede ifade edin (örneğin: “oturum açmış her kullanıcı okuyabilir, sadece admin yazabilir”). Bu atlanırsa yeniden iş çıkar.\n\nSon olarak, neyin saklanması gerektiğine ve neyin hesaplanabileceğine karar verin. Basit bir kural: gerçekleri saklayın, görünümleri hesaplayın.\n\n## Claude Code'u kullanarak kapsamlı bir görev oluşturma\n\nClaude Code, net bir hedef ve sıkı bir kutu verdiğinizde en iyi sonucu verir. Dağınık isteği ve kısıtları (tarih, etkilenen kullanıcılar, veri kuralları) yapıştırın. Sonra kapsamlı bir çıktı isteyin ki içinde şunlar olsun:\n\n1. Kapsamın düz dille tekrarı ve kısa kabul-kriterleri checklist'i.\n2. 3–7 commitlik küçük bir sıra, her biri net bir sonuçla.\n3. Her commit için muhtemel dosya veya klasörler ve içlerinde yapılacak değişiklikler.\n4. Her commit için hızlı bir test planı (bir mutlu yol ve bir kenar durumu).\n5. Kapsam dışı notlar.\n\nClaude Code yanıt verdikten sonra onu bir inceleyici gibi okuyun. “Performansı iyileştir” veya “daha temiz yap” gibi ifadeler görürseniz, bunları ölçülebilir ifadeler isteyerek düzeltin.\n\n### Mini örnek (iyi görünene ne demek)\n\nİstek: “Aboneliği duraklatma özelliği ekle.”\n\nKapsamlı sürüm şöyle diyebilir: “Kullanıcı 1 ila 3 ay arası duraklatabilir; bir sonraki fatura tarihi güncellenir; admin duraklatma durumunu görebilir.” Kapsam dışı: “Prorasyon değişiklikleri yok.”\n\nBundan sonra commit planı pratik olur: bir commit DB ve API şeklini içinsin, bir commit UI kontrolleri, bir commit doğrulama ve hata durumları, bir commit uçtan uca testler için.\n\n## Çalışmayı küçük, incelenebilir commit'lere bölün\n\nBüyük değişiklikler hataları gizler. Küçük commit'ler incelemeleri hızlandırır, rollback'leri güvenli kılar ve kriterlerden sapmayı fark etmenizi sağlar.\n\nYararlı bir kural: her commit bir davranışı açmalı ve bunu kanıtlayacak küçük bir yol içermelidir.\n\nYaygın bir sıra şöyle görünür:\n\n- Veri modeli veya migration (gerekirse) + testler\n- API davranışı ve doğrulama\n- UI bağlama, boş ve hata durumlarıyla\n- Loglama veya analiz sadece gerekiyorsa, sonra küçük cilâ\n\nHer commit'i odaklı tutun. “Buradayken” refactor'larından kaçının. UI basit olsa bile uygulamanın uçtan uca çalışır kalmasını sağlayın. Migration, davranış ve UI'yi tek commit'e sıkıştırmayın, güçlü bir nedeniniz yoksa.\n\n## Adım adım: “Raporları dışa aktar”\n\nBir paydaş der: “Raporları dışa aktarabilir miyiz?” Bu çok seçim saklar: hangi rapor, hangi format, kim dışa aktarabilir ve teslimat nasıl çalışır.\n\nTasarımı değiştiren yalnızca gerekli soruları sorun:\n\n- v1 için hangi rapor tipleri kapsamda?\n- v1 için hangi format gerekli (CSV, PDF)?\n- Kim dışa aktarabilir (adminler, belirli roller)?\n- Direkt indirme mi yoksa e-posta ile mi teslim?\n- Limitler var mı (tarih aralığı, satır sayısı sınırı, zaman aşımı)?\n\nCevapları şöyle varsayın: “Sales Summary raporu, sadece CSV, manager rolü, direkt indirme, son 90 gün.” Şimdi v1 kabul kriterleri somut olur: yöneticiler Sales Summary sayfasında Export'a tıklayabilir; CSV ekran tablosundaki sütunlarla eşleşir; export mevcut filtreleri dikkate alır; 90 günden daha fazla aralık seçilirse net bir hata gösterir; 50k satıra kadar indirme 30 saniye içinde tamamlanır.\n\nMinimal UI planı: tablo aksiyonları yakınında bir Export butonu, oluşturulurken bir yükleniyor durumu ve kullanıcının sorunu nasıl düzelteceğini söyleyen bir hata mesajı (örneğin “90 gün veya daha az seçin”).\n\nMinimal API planı: filtreleri alan ve oluşturulmuş CSV'yi dosya yanıtı olarak dönen tek bir endpoint, tabloyla aynı sorguyu yeniden kullanan ve sunucu tarafında 90 günlük kuralı uygulayan bir yapı.\n\nSonra bunu birkaç sıkı commit'te gönderin: önce sabit mutlu yol için endpoint, sonra UI bağlama, sonra doğrulama ve kullanıcıya dönük hata mesajları, sonra testler ve dokümantasyon.\n\n## Yaygın kapsam hataları (ve nasıl kaçınılır)\n\n### Gizli gereksinimler sızar\n\n“Takım rolleri ekle” gibi istekler davet etme, düzenleme ve mevcut kullanıcılar için ne olacağı hakkında kurallar saklayabilir. Tahmin yaptığınızı fark ederseniz, varsayımları yazın ve bunları soru veya açık kural haline getirin.\n\n### UI cilâsı ana davranışla karışır\n\nBir görev hem “çalışsın” hem de “göze hoş görünsün” deyince günler kaybolur. İlk görev davranış ve veriye odaklansın. Stil, animasyon ve boşlukları takip eden bir görev haline bırakın; eğer bunlar kullanılabilirlik için gerekli değilse sonraya alın.\n\n### Tüm kenar durumlarını v1'de çözmeye çalışırsınız\n\nKenar durumlar önemlidir ama hepsi ilk sürüme girmez. Güveni sarsabilecek birkaçını ele alın (çift gönderimler, çakışan düzenlemeler) ve geri kalanları açık notlarla erteleyin.\n\n### Hata durumları ve izinler “sonra”ya iter\n\nYazmazsanız, kaçırırsınız. Kabul kriterlerine en az bir olumsuz yol ve en az bir izin kuralı dahil edin.\n\n### Doğrulanamayan kriterler\n\nHızlı veya sezgisel gibi ifadelerden kaçının; bir sayı veya somut kontrol ekleyin. Bunları incelemede kanıtlayabileceğiniz şekilde değiştirin.\n\n## Koda başlamadan önce hızlı kontrol listesi\n\nBir ekip arkadaşının zihin okumadan inceleyip test edebilmesi için görevi sabitleyin:\n\n- Sonuç ve kapsam dışı: sonuç için bir cümle + 1–3 açık kapsam dışı maddesi.\n- Kabul kriterleri: düz dilde 5–10 test edilebilir kontrol.\n- UI durumları: minimum loading, empty, error ve success durumları.\n- API ve veri notları: en küçük endpoint şekli ve veri değişiklikleri, kim okuyup yazabilir.\n- Commit planı ve testler: 3–7 commit, her biri kısa kanıtla.\n\nÖrnek: “Saved searches ekle” işi “Kullanıcı bir filtreyi kaydedip sonra tekrar uygulayabilir” olur; kapsama alınmayacaklar: “paylaşım yok”, “sıralama değişikliği yok.”\n\n## Sonraki adımlar: inşa ederken kapsamı sabit tutun\n\nBir kez kapsamlanmış bir göreviniz olduğunda, onu koruyun. Koda başlamadan önce istekte bulunanlarla hızlı bir akıl kontrolü yapın:\n\n- Kabul kriterilerini okuyun ve sonucun eşleştiğini onaylayın.\n- İzinleri, boş durumları ve hata davranışlarını teyit edin.\n- Kapsam dışı olanları tekrar onaylayın.\n- Kriterleri karşılayan en küçük UI ve API değişikliklerinde anlaşın.\n- Nasıl demo yapılacağına ve “done”un neye benzeyeceğine karar verin.\n\nSonra kriterleri iş yapılan yerde saklayın: ticket'ta, PR açıklamasında ve ekibin gerçekten baktığı her yerde.\n\nEğer Koder.ai (koder.ai) üzerinde geliştiriyorsanız, önce planı kilitleyip sonra buradan kod üretmek işe yarar. Planning Mode bu iş akışına uygundur; snapshot ve rollback denemeler yapmanız gerektiğinde işleri güvenli tutar.\n\nYeni fikirler geliştirme sırasında ortaya çıkarsa, kapsamı sabit tutun: bunları takip listesine yazın, kriterleri değiştiriyorsa durup yeniden kapsamlayın ve commitleri her seferinde tek bir kritere bağlayın.İşi bitmiş halde kullanıcının ne yapabileceğini bir cümleyle yazmaya başlayın, sonra 3–7 test edilebilir kabul kriteri ekleyin.\n\nEğer “doğru” davranışı tartışmadan tanımlayamıyorsanız, görev hâlâ belirsiz demektir.
Hızlı formatı kullanın:\n\n- As a [user]\n- I want to [action]\n- So I can [goal]\n\nSonra beklenen davranıştan tek bir somut örnek ekleyin. Örnek veremiyorsanız, sorunun son kez ne zaman olduğunu yeniden anlatmalarını isteyin: hangi ekrandaydınız, neye tıkladınız, ne beklediniz?
Önce kısa bir “Definition of done” listesi (geçmesi gereken kontroller), sonra ayrı bir “Nice-to-have” listesi yazın.\n\nVarsayılan kural: uçtan uca çalışmayı kanıtlamak için gerekliyse "Done"; değilse "Nice-to-have" içine alın.
Kapsamı değiştiren birkaç soruyu sorun:\n\n- Kim erişecek (tier ve roller)?\n- Teslim tarihi nedir ve en küçük kabul edilebilir sürüm hangisi?\n- Beklenen davranıştan bir örnek nedir?\n- Boş durumlarda, hatalarda ve yavaş bağlantılarda ne olur?\n- Nasıl onaylayacağız (özgül kriter veya metrik)?\n\nBunlar eksik kararları görünür kılar.
Edge case’leri kapsam maddesi olarak ele alın, sürpriz olarak değil. v1 için güveni sarsabilecek olanları kapsayın:\n\n- Boş durum\n- Doğrulama hataları\n- İzin reddi\n- Ağ/API hataları\n- Geri alma/rollback davranışı (ilgiliyse)\n\nDiğerleri açıkça kapsam dışı bırakılabilir.
Uygulamada iyi kabul kriterleri test edilebilir ifadeler olmalıdır:\n\n- Given bir başlangıç durumu\n- When kullanıcı X yapar\n- Then Y olur\n\nEn az bir hata durumu ve bir izin kuralı ekleyin. Testlenemeyen bir kriter varsa, onu yeniden yazın.
Tam olarak hangi ekranların değişeceğini ve her ekranda görünen tek somut değişikliği isimlendirin.\n\nAyrıca gereken UI durumlarını listeleyin:\n\n- Loading\n- Empty\n- Error (yeniden deneme var mı)\n- Success (toast/inline mesaj/güncellenmiş liste)\n\nKopya (buton metni, hata mesajları) da kapsamda olsun, hatta geçici metinse onaylayacak kişiyi not edin.
Sözleşmeyi küçük tutun: v1 için genellikle bir okuma ve bir yazma yeterlidir.\n\nŞunu tanımlayın:\n\n- Girdi/çıktıları basit nesneler olarak (zorunlu vs isteğe bağlı alanlar)\n- Yaygın hatalar (not found, validation failed)\n- Tek cümlelik auth kuralı (kim okuyabilir/yazabilir)\n\nGerçekleri saklayın; görünümleri hesaplayın.
Kutulu bir teslim isteyin:\n\n- Yeniden ifade edilmiş kapsam + kabul checklist'i\n- 3–7 commit, her biri bir davranışı açar\n- Commit başına muhtemel dosyalar\n- Hızlı test planı (mutlu yol + bir edge)\n- Açık kapsam dışı maddeler\n\nSonra belirsiz ifadeleri (“daha temizle”) ölçülebilir hale getirin.
Varsayılan sıra:\n\n- Veri/model değişikliği (gerekirse) + testler\n- API davranışı + doğrulama\n- UI bağlama ile boş/hata durumları\n- Gerekliyse son cilâ\n\nParmak kuralı: bir commit = bir kullanıcıya görünür yeni davranış + onu kanıtlayacak kısa yol. “Buradayken refactor”ları özellik commitlerine karıştırmayın.