---
description: Extreme Programming’in Kuralları
---

# Extreme Programming’in Kuralları

[http://www.extremeprogramming.org/rules.html](http://www.extremeprogramming.org/rules.html)

### Planlama (Planning)

* **Kullanıcı senaryoları** yazılır.
* **Yayın planlaması** yayın takvimini belirler.
* Sık, **küçük versiyonlar** yayınla.
* Proje [**iterasyonlara**](iterative-development-tekrarlamali-gelistirme) bölünür.
* Her iterasyon **İterasyon Planlaması** ile başlar.

### Yönetim (Managing)

* Takıma adanmış, **açık bir çalışma alanı** sağla.
* **Sürdürülebilir bir ilerleme hızı** belirle.
* Her günü **ayakta yapılan toplantı** (standup meeting) başlatır.
* **Proje Hızı** (velocity) ölçülür.
* **İnsanların yerlerini değiştir**.
* Bozulursa **XP'yi düzelt**.

### Tasarım (Designing)

* [**Basitlik**](basitlik-kilit-noktadir-simplicity-is-the-key).
* Bir **sistem metaforu** seç.
* Tasarım oturumları için **CRC kartları** kullan.
* Riski azaltmak için **spike çözümler** oluştur.
* Hiçbir işlev [**gerektiğinden önce eklenmemeli**](never-add-functionality-early-asla-oenceden-islevsellik-ekleme).
* Nerede, ne zaman mümkünse [**yeniden düzenle**](../yazilim-gelistirme-kilavuzu/refactoring/acimasizca-yeniden-duzenleme-refactor-mercilessly).

### Kodlama (Coding)

* Müşteri **her zaman** iletişim için **uygundur**.
* Kod üzerinde anlaşılmış **standartlara** göre yazılmalıdır.
* [**Önce birim testleri**](once-testi-yazmak-code-the-unit-test-first) yazılır.
* Tüm uygulama kodu [**çift programlama**](pair-programming-cift-programlama) ile yazılır.
* **Aynı anda** sadece **bir çift kodunu entegre eder**.
* [**Sık sık entegre et**](../yazilim-gelistirme-kilavuzu/refactoring/integrate-often-sik-entegre-et).
* Adanmış bir **entegrasyon sunucusu** oluştur.
* [**Ortak kod sahipliği**](../yazilim-gelistirme-kilavuzu/refactoring/ortak-kod-sahipligi-collective-code-ownership) uygula.

### Test (Testing)

* Tüm kodların [**birim testleri**](../yazilim-gelistirme-kilavuzu/unit-tests-birim-testleri) olmalıdır.
* Yayınlanmadan önce tüm kodların [**birim testleri**](../yazilim-gelistirme-kilavuzu/unit-tests-birim-testleri) geçmelidir.
* [**Bir hata bulunduğunda**](../yazilim-gelistirme-kilavuzu/bir-hata-bulundugunda-when-a-bug-is-found) testleri oluşturulur.
* [**Kabul Testleri**](../test-gelistirme/kabul-testleri-acceptance-tests) sık sık çalıştırılır ve skor yayınlanır.

![](https://2987934822-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MMVhHkJTh1jcl5YdqbV%2F-MMv5W5Rc0HE3Bmhz9nN%2F-MMv5edrcUrQTu5UdRtj%2Fproject.gif?alt=media\&token=7eaf6572-084a-469a-835b-04729a61b564)
