Mehmet Ethem SULAN :: Test Güdümlü Yazılım(Test Driven Development) :: Agile Process XP( Çevik Süreç XP—Extreme Programming)

Yazilim geliştirme süreci analiz,tasarım, kodlama, test, sürüm ve bakım dan oluşur.Proje çalışanları çoğu zaman içgüdüsel korku hissedebilirler. Bunun en büyük sebebi belirsizliktir. Çevik süreç bu belirsizliklerden uzak tutuyor. Yani yazılımcıları düşünüyor. Şelale yöntemini kullanan yazılımcıda mutlaka projenin nereye gidileceğini kafasında hep kurçalar. Bu da programcıya sağlık açısınndan zarar veriyor. Bu iterasyon yöntem de ise testimiz başarılı olduğu anda iş bitti gerisi bir sonraki teste yazılana kadar bizi bağlamaz.

Extreme Programming(XP)

Xp Değerleri–>Basitlik , Geridönüş, Iletişim, Cesaret

Xp Prensipleri

1-Rapid feedback(Hızlı geridönüş) 2-Assume simplicity(Basitliği tercih etmek) 3-Incremental change(Inkrementel değişikler) 4-Embracing change(Değişimi istemek) 5-Quality work(Kaliteli iş)

6-Teach learning(Öğrenmeyi öğret) 7-Small initial investment(Az başlangıç yatırımı) 8-Play to win(Kazanmak için oyna) 9-Concrete Experiments(Somut denemeler) 10-Open, honest communication(Açık ve samimi iletişim) 11-Work with people’s instincs, not against them(Takımın iç güdülerini kullan, onlara karşı koyma) 12-Accepted responsibility(Sorumluluk üstlenmek) 13-Local adaption(Sürecin ortam şartlarına adapte edilmesi) 14-Travel light(Az yükle yolculuk yapmak) 15-Honest measurement(Doğru ölçüm)Xp

Tenknikleri

1-On-site customer(Programcıya yakın müşteri) 2-Standup-meeting(Ayakta toplantı) 3-Planing game(Planlama oyunu) 4-Short releases(Kısa aralıklarla yeni sürüm) 5-Retrospective(Geriye bakış) 6-Metaphor(Metafor yani ne yapılacağını ekibin gözünde canlandırmak) 7-Collective ownership(Ortak sorumluluk) 8-Continuous integration(Sürekli entegrasyon) 9-Coding standart(Kod standartları) 10-Sustainable pace(Kalıcı tempo) 11-Testing(Test etmek) 12-Simple design(Sade tasarım) 13-Refactoring(Yeniden yapılandırma) 14-Pair programming(Eşli programlama)

Bu teknikler hepsi birlikte uygulanamlıdır fakat en önemlisi refactoring ve simple design birbirini tamamlamasıdır bence.

Xp Rolleri

1-Müşteri 2-Programcı 3-Proje Menajeri(Müşteri ve programcıyı bir araya getirir ve takımın karşılaştığı sorunlarda yardımcı olur) 4-Koç(Çevik süreci tanıyan ve nasıl uygulanması gerektiğini bilen uzmandır) 5-Testçi(Müşteri atarfından oluşturulan akseptans testlerini implemente eder ve Junit ile entegrasyon testlerinde diğerlerine yardımcı olur.)

Write a Comment

Let me know what you think?