XP (Extreme Programming) Pratikleri

1-)Planlama Oyunu:Ufak kağıtlara yazılmış önerilerdir.Planlama işinin nasıl geliştiğini gösterir.Waterfallda planlama işi uzun sürdüğünden çevik süreçlerde süreden kazanç olur.Planlama zamanının azaltılması başlangıç için şarttır.
2-)Ufak Sürümler:2 ya da 6 aylık sürümler çıkar.En çok kullancılacak olan yerler ilk başa konulur.Riski azaltır.Sürümler üst üste eklenerek gider.Gereksinimler yanlış belirlenirse, sürümler çok kısa olur anlamlı birşeyler ortaya konulmazsa zaman kaybı olur.Süre uzun olursa başa dönme zor olur.
3-)Metafor:Basitleştirilmiş sistem mimarisidir.Sistem içerisindeki alt sınıfları gösteren modellemedir.Proje gelişirken ilk akla gelen şeyler basit bir şekilde çizilir.
4-)Basit Tasarım:Xp de projeye başlarken tasarım olmadan kod ilede başlayabiliriz.Ama yinede başlangıç için ufak bir tasarım olabilir.Tasarım kod geliştikçe kötüye gidecektir.
5-)Test Güdümlü Geliştirme(TDD):Gerekinimler waterfall da koda dönüştürülür.Kodu oluşturur.XP de gerekinimler kodu değil testleri güdümler.Önce testi yaz gereksinim neyi istiyorsa sonra kodu yaz.Testler müşteri ile yapılır.Basitleştirir.Tek amaç vardır oda testi geçebilecek kadar kod yazmak.Sistemin güvenliği daima kontrol altındadır.Testler iyi bir dökümantasyon olur., amaç sadece testi geçmek olunca kod kısa olur.Dezavantajları, amaç sadece testi geçmek olunca tasarım bozulabilir.Gerekli test yazılamayabilir.Takımı ikna etmek zordur.
6-)Refactoring(Yeniden Yapılandırma):Devamlı bir iyileştirme ile gitmeyi sağlar.Testler yazılınca tasarım daha karmaşık oluyor.Testler tamam olunca tasarıma bakıp iyileştirme yapılır.Avantajı değişim maliyetini düşürür.Dezavantajı ise tasarım değişirken koda zarar verebilir.Örneğin bir üniversite projesinde tasarım öyle değiştiki fakülte silindi bu duruma testler göçer.
7-)Pair Programming (İkili Programlama):İkili takımlar halinde çalışıldığından hergün takım değişebilir.İki kişi farklı düşünebilir.Maliyet yükselir.Herkesin sistemdeki tüm bileşenlerden haberi olur.
8-)Kollektif Sahiplik:Tüm takım herşeyi bilir.Herkes kendi gereksinimi için başkasının kodu ile uyum olmazsa diğer kişinin kodunu değiştirebilir.Dezavantaj olarak aynı anda 2 sürüm olabilir.Değişim için kodu bozabilir.
9-)Sürekli Bütünleşme:Bir test ileride 3 4 teste bağımlı olur.Bütünleşerek gider.Hergün değişiklikler sisteme eklenir.Uyumluluk sorunları erkenden önlenmiş olur.Dezavantajı, ayrı bir bilgisayarda zaman ayırmak gerekir.
10-)Kodlama Standartı:Kodlama için standart oluşturulmalıdır.Büyük harf küçük harf vb metod isimleri falan herkes farklı şekilde adlandırabilir onu önlemeliyiz.Bunun için kodda ortak bir anlayış olmalıdır.Tüm ekip standar koda uymalıdır.Ekip tarafından standart kabul edilmelidir.
11-)Haftada 40 Saat:Ortalama günde 8 saatten 5 gün yeterlidir.Dinlenme sayesinde ekipten tam performans alınır.Fazla mesai verimliliği düşürür.
12-)Müşterinin Yanında Olmak:Müşteriden bir kişinin proje bitene kadar ekiple beraber olmasıdır.Bu duruma müşteriyi ikna etmek zordur.Ek maliyet getirecektir.Müşteriden ekibe katılan kişi kullanıcı hikayesini yazar.Takıma erken geribildirim (feedback) yapar.

« »