Dr. Volkan Tunalı'nın Kişisel Blogu

Bilgisayar, Teknoloji, Bilim, Sanat

Uç Programlama (Extreme Programming XP) Nedir?

leave a comment

Uç Programlama (XP), yazılım geliştirme süreci boyunca son derece kaliteli olmak koşuluylaçalıştırılabilir kod üretmeye odaklanmış bir yazılım geliştirme metodolojisidir. Yazılım geliştirme sürecinin en temel, en önemli ve final çıktısı ya da ürünü çalıştırılabilir kod olduğundan, XP metodolojisi sürecin en başından itibaren çalıştırılabilir kodu sürecin merkezinde tutmaktadır. İşte bu yüzden bu metodolojinin adı XP’dir.

Uç Programlama kısa adımlardan oluşan tekrarlı bir süreçtir. Her bir tekrar süresi birkaç gün ila birkaç haftadan daha uzun değildir. İlk adımın sonucunda geliştirilmekte olan sistemin minimum seviyede çalıştırılabilir bir örneği üretilmiş olmalıdır. Bu ilk adımdan sonraki her bir tekrar adımında bir önceki adıma göre daha fazla özelliğe sahip ve aynı zamanda iyileştirilmiş bir sürüm ortaya çıkarılması hedeflenmektedir. Bu şekilde sık tekrarlar ile sistemin bütünü
tamamanmış olacaktır.

Uç Programlama, her bir adımda genişletilebilirlik ve sürdürülebilirlik özellikleri bakımından yüksek kalitede kod üretimine önem vermektedir. Her bir adımın temel hedefi geliştirmek ve refactor etmektir. Geliştirmek, yeni işlevler ve özellikler eklemek demektir. Refactor etmek ise çalışan kodun işleyişine zarar vermeden kodun kalitesinin arttırılması amacıyla yeniden yapılandırılması demektir. Refactor etmek, Uç Programlamanın ısrarla üzerinde durduğu bir işlemdir.

Uç Programlama’nın özünde aşağıdaki uygulamalar yer alır:

  • Planlama: Her tekrar adımına basit bir planla başlanır ve gerekli oldukça bu planda değişikliğe ve iyileştirmeye gidilir.
  • Sık ve küçük sürümler: Her tekrar adımında çalışan bir sürüm temel hedeftir. Tekrarlamaların süresi de birkaç haftadan daha uzun olmamalıdır.
  • Basit tasarım: Tasarım mümkün olduğunca basit tutulmalı, gerektiğinde refactor edilmelidir.
  • Önce test: Kod yazılmadan önce yazılacak kodun testinin yazılmasıdır.
  • Refactor etme: Kod tekrarlarından uzak durmak, sade ve temiz kod elde etmek için sürekli olarak refactor edilmelidir.
  • Çift programcı: Kodun hep çiftler halinde yani eşli olarak yazılmasıdır.
  • Sürekli bütünleştirme (Continuos Integration): Her kodlama görevi tamamlanır tamamlanmaz ana sistemle bütünleştirilmelidir.
  • Haftada 40 saat çalışma: Geliştirme ekiplerinin verimli çalışabilmesi için aşırı çalışma saatlerinden kaçınılmalıdır.
  • Müşteri ile yakın iletişim: Müşterinin tam zamanlı olarak geliştirme ekibiyle yakın temas halinde bulunması ve sürece her an dahil olabilmesi gerekir.
  • Kodlama standartları: İsimlendirme, kaynak kod düzenleme ve dokümantasyon için yaygın standartların tüm ekip tarafından benimsenmesi gereklidir.

Written by vtunali

Kasım 18th, 2009 at 12:31 am