2 Aralık 2015 Çarşamba

Extreme Programing(XP) Uygulama Pratikleri

On-site Customer(Ekipteki Müşteri)

Daha önce de dediğimiz gibi XP’de süreç müşteriye göre şekil alır ve onun istekleri doğrultusunda yazılım şekillenir. Bu yüzden müşterinin (genelde bir kişi tercih edilir; ama uyumlu ise birden fazla kişi de olabilir) ekipte olması önemlidir.

Planning Game(Oyun Planı)

XP iteratif (tekrarlanan, ardışık devam eden) ve incremental (değişen, marjinal) bir yazılım metodolojisidir, bu yüzden tam bir takım oyunu gerektirir, bu nedenle her bir sürüm için ekip bir arada planı geliştirir. Plan herhangi bir iş için kaçınılmazdır, aksi halde süreçleri kontrol etmek ve ortaya düzgün bir iş koymak mümkün değildir.

Short Releases(Kısa Sürümler)

XP temelde kısa sürede ortaya çalışan bir uygulama koymak ister, böylece hem müşteri istekleri doğru alınır, hem memnuniyeti sağlanır hem de ekibi canlı tutmayı sağlar. Uzun vadeli işler genelde sıkıcı olabileceği için kısa vadede ortaya çıkan ürün geliştiriciler için de şevk vericidir. Bu yüzden basitlik tercih edilir.

Stand-up Meeting(Ayakta Toplantı)

Bu tür toplantılar en fazla 15 dakika olacak şekilde ayarlanır. Temelde yapılmak istenen projenin durumu hakkında bilgi alışverişinde bulunmaktır.

Retrospective(Geriye Bakış)

Temel amaç yaşanan problemlerin analizini yapmaktır, böylece aynı hatanın gelecekte tekrar etmesinin önüne geçilmiş olur.

Metaphor(Mecaz)

Mecaz kullanmanın maksadı geliştirilecek yazılımın içeriği hakkında ekibin bir fikrinin oluşmasıdır. Örneğin e-ticaret uygulaması geliştirecek ekip için alış veriş sepeti bir metafor olarak kullanılabilir. Böylece metafor ekibe söylendiğinde herkesin kafasında e-ticaret sistemi yazacağı fikri kolaylıkla oluşacaktır.

Collective Ownership(Ortak Sorumluluk)

Klasik modelde programcılar genelde yalnız kendi yazdıkları kodlardan sorumludurlar, klasik yöntemle çalışan programcılar başkalarının kodları üzerinde oynamak istemezler. Oysaki XP’de tüm programcılar kodu sahiplenir, gerektiğinde değiştirir.

Continious Integration(Sürekli Entegrasyon)

Projeye eklenen yeni bölüm veya komponentler sisteme hemen entegre edilir ve test edilirler. Bu hem diğer programcıların da gelişimi görebilmesini sağlar hem de daha sonra yazılımın parçalarını entegre etmek için ekstra zaman kaybı yapılmamış olur.

Coding Standards(Kod Yazma Standartları)

Birden fazla yazılım geliştiricinin yer aldığı uygulamalarda olmazsa olmaz bir durumdur. Ortaya kaliteli ve stabil çalışan bir ürün çıkarılabilmesi için değişken isimlendirmeden, kullanılacak alt yordam, fonksiyon formatına kadar belirlenir. Böylece her programcı bir başkasının koduna müdahale ettiğinde kodu okumakta zorlanmaz ve gerekli değişiklikleri yapabilir.

Sustainable Pace(Kalıcı Tempo)

XP, haftalık 40 saat çalışma planı sunar. Yorgun, uykusuz bir programcı verimli olamayacağı için fazla çalıştırılmasına tamamen karşı çıkar ve günlük 8 saat olmak üzere haftada 40 saat çalışmaya sadık kalır. Böylece projede aksamalar kolay kolay olmaz.

Testing(Test Etmek)

XP testleri çok önemser ve muhakkak yapılması gerektiği üzerinde durur, hatta daha da ileri giderek önce gerekiyorsa test yazılımlarının kodu yazılır, sonra yazılım geliştirme aşamasına geçilir.

Simple Design(Basit Dizayn)

XP’de geliştirilen yazılım en basit hali ile geliştirilir, kompleks olmamasına özen gösterilir, böylece yeni geliştirmeler kolayca entegre edilebilir.

Refactoring(Yeniden Yapılandırma)

Yazılım tasarımı yapılırken yapılan bir hata bazen telafisi zor sorunlara yol açabilir, bunun için yazılan kod parçacığının yeniden yapılandırması gerekebilir.

Pair Programming(Eşli Programlama)


Temelde aynı bilgisayarda iki programcının çalışması tavsiye edilir. Bir programcı yazarken diğer programcı kodlama yapısına dair düşünür ve tavsiyelerde bulunur, sonra diğer programcı yazmaya başlar ve diğeri aynı görevi yerine getirir. Bu hem programcı yedekliliğini sağlar, hem de kod yazanların kalitesinin yükselmesini sağlar.

Hiç yorum yok:

Yorum Gönder