Mehmet Ethem SULAN :: Test Güdümlü Yazılım(Test Driven Development) :: XP Pratikleri(Extreme Programming Practices-Aşırı Programlama Teknikleri)

1.Planlama Oyunu–>Tam olarak ne yapilacaginin planini yaparak ise baslanir. Çok detayli bir plana gerek yok.Bu safhada müsteriyle olusturulan kullanici hikayelerine öncelik verilir. Yani bir sonraki iterasyonda yapilmasi gereken isler görüsülür.Sürüm ve iterasyon içerigi tespit edilir ve planlar olusturulur.Palanlama oyununa müsteri, kullanicilar ve programcilar katilir.

2.Ufak Sürümler–>Her sürüm anlam teskil edebilecek mümkün oldugu kadar çalisabilir ufak programdan olusmali. Bu çalisabilir program müsteri ve kullanicilara verilir. Eksik ya da gereksinimleri tam karsilamiyorsa gereksinimler degisiklige ugrayabilir. Bir sonraki iterasyonda bu degisiklik göz önünde bulundurulur. Kisaca eksikleri tespit edip bir sonraki sürümde daha iyi bir ürün elde edilir

3.Metafor–>Programin nasil bir islevi olacagini ekibin gözünde canlandirmak için kullanilan kavramlardir. Ne yapilmasi gerektigi hakkinda fikir sahibi olmak için kullanilir(örnegin alis- veris sepeti, resim birer metafor kavramlari olabilir)

4.Basit Tasarim–>Sade tasarimla sistemin komplex bir hal almasinin önüne geçilir. Basit tasarimin implementasyonu ve gelistirmesi kolay olur.

5.Test Etme–>Sorun yaratabilecek metodlar için test yazilmali. Yapilcak degisikler önceden yazilan testleri kirmamalidir.

6.Yeniden Yapilandirma(Refactoring)–> Tasarim hatalari giderilmeli ve yapilan degisiklikler sisteme entegre edilmelidir. Unit testler yardimiyla yapilan degisikler öncekiyle birlestirilmeli. Bu sekilde hem tasarimin kötüye gitmedi engellenir hem de degisime cevap verilir. Kodlari daha esnek ve anlamli olacak sekilde degistirilebilmeyi saglar.

7.Ikili Programlama–>Iki programci ayni bilgisayarda çalisir. Dönüsümlü olarak biri kod yazarken digeri bakar.

8.Kollektif Sahiplik–> Belli kod bölümlerinden belli programcilar sorumlu degil. Herhangi bir programci gerektigi durumlarda herhangi bir kod parçasini degistirebilir.

9.Sürekli Entegrasyon–>Yeni bilesenler ve degisikler sisteme entegre edilerek test edilir. Böylece yapilan degisiklerden diger programcilar haberdar olur ve olusabilecek hatalar erkenden tespit edilir.

10.Haftada 40 Saat–>Programcinin verimli olabilmesi için belirli zaman araliklarinda çalismali.Programcilari çok fazla çalistirarak yipratilmamalidir.

11.Müsterinin Yaninda Olmak–>Gereksinimleri belirleyen müsteridir. Müsteri istekleri dogrultusunda yazilim gelistirilir. Müsteri ve programcilar sürekli iletisim halinde olmalari gerekir. Bu süreki iletisim projenin tam müsterinin istedigi gibi bir ürün elde edilmesini saglar.

12.Kodlama Standartlari–>Her kes tarafindan anlasilmasi için belli bir kod standartlari uygulanir. Örnegin degisken ve metodlarin isimlendirilmesi.

13.Ayakta Toplanti–>Proje çalisanlari projenin gidisati hakkinda her gün 15 dakikayi asmayacak sekilde bir araya gelerek fikir alis-verisinde bulunurlar. Bu toplanatilar ayakta yapilir

14.Geriye Bakis–>Meydana gelen sorunlari gözden geçirilerek tekrarlanmasini önelemek amaciyla yapilan toplantialrdir.

Not: Bu pratikler birlikte uygulanırsa anlamlı olur.

Write a Comment

Let me know what you think?