Extreme programming (ekstrem programlama), sürekli değişmekte olan gereksinimleri karşılayabilmek ve yazılım ekibinin verimliliği en yüksek seviyede tutabilmek amacıyla tercih edilen bir yazılım geliştirme metodolojisidir. Ekip olarak yazılım geliştirirken kullanılan bu disiplin, kullanıcının da (müşteri ya da tester) ekibin bir parçası olmasını ve sürekli olarak her arayüzün ve her aşamanın sık sık test edilmesini sağlar. Ürün geliştirilmeye devam ettiği sürece minör güncellemeler ile sürüm güncellenir ve tüm aşamalarda da testler tekrarlanır.
bkz: Waterfall Yazılım Geliştirme Modeli Nedir?
Extreme programming metodolojisinde dokümantasyon gibi gerekli süreçlerden ziyade testlere ve ekipteki herkesin bütünü takip edebilmesine odaklanılır. Ancak extreme programming disiplinin verimli olabilmesi için ekip sayısının en az 2-3 ve en fazla da 8-9 limitlerinde olması faydalı olacaktır. Bu limitler içerisindeki ekiplerde deploy edildikten sonra karşılaşılacak hataların minimize edildiği ve yazılım ekiplerinin sıklıkla karşılaştıkları proje deadlinezamanını yetiştirememe dertleri en aza inmiş olur.
Extreme programming'de tasarım, test,, database, backend, ux vb. konularında kişiler kendi kodlarını yazmazlar, herkes her alanda kod yazabilir ve bu sebeple daha çok birden çok full stack developer'ın bir araya geldiği yazılım geliştirme projelerinde tercih edilir. Bazı kişilerin uzmanı olan konular ona bırakılabilir, ama herkes az ya da çok her alan hakkında bilgi sahibi olduğu için temel geliştirme aşamaları ortak olarak yapılır.
Editör editi: sitedeki bazı diğer benzer başlıklar için;
bkz: CSS bir programlama dili midir?
bkz: Programlamada Encapsulation (Kapsülleme) Nedir?
bkz: Programlama Dillerinde Kalıtım Nedir?
bkz: Programlama dillerinde hata ayıklama (debugging) nasıl yapılır?
bkz: Programlama dillerinde while (true) ifadesi ne işe yarar?
bkz: Programlamada metodların static olması ile olmaması arasındaki fark nedir?