Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
MakaleYazılım Mühendisliği

Extreme Programming Nedir

Paylaş

Proje yöneticisine kızan programcı sizce ne yapabilir derseniz? Bir düşünün…

Kent Beck adındaki yazılımcı yöneticisine kızıp Extreme Programming kavramını yaratmıştır ve siz bu işi bilmezseniz bu iş böyle yapılır diyerek cevap vermiştir adeta. İşin magazinsel tarafını bir kenara bırakalım ve inceleyelim Extreme Programming Nedir?

Extreme Programming yakında yazacağım konu olan Yazılım Geliştirme Metodojileri’nden sadece biri. EX’de mantık şu. Fazla vakit kaybetmeden, dökümantasyona çok vakit harcamadan yapılmaya çalışılan program geliştirme çeşididir.

EX’in temelinde 4 basit madde yatar. EX dediğimiz yapı bu maddeler ekseninde döner.

  1. Basitlik
  2. Cesaret
  3. Geri Dönüş
  4. İletişim

expas.png

Bu 4 temel maddenin en önemli maddeleri Geri Dönüş ve ekiplerin birbirleri ile iletişiminin sağlıklı olmasıdır. Geri Dönüş yani İsterler proje yapım aşamasındayken değişebilir bu değişim diğer yazılım metodolojileri ne göre hızlıca ekiplere iletişim projeye isteğe göre yön vermeye dayanır.

Ekip’in iletişimi direk müşteri ile olabilmektedir ve ekip denilen kavram projeye katkısı olan tüm bireyleri kapsar. EX’de testler modül modül ya da belirlenen bir tarih zamanında yapılmaya bilir. Basitlik kavramı ise kodun okunulabilirliği ile alakalıdır. Ekip’in istediği her durumda test yapılmasına olanak tanır. Bu testlerde yazılımın çalışıp çalışmadığını da bakılırken ayrıca kod bloklarında gereksiz yazılan fazladan ve 4 madde içerisinde belirtilen “Basitlik” maddesine aykırı gelen bloklarında kontrol edilerek silenebilir. Yazılım mimarisi’nin değişmesi gereken durumlarda “kabullenme” ve “değiştirme” mantığı esas alır. Ekip EX’de sadece proje yapanı kapsamaz EX’de ekibin bir parçası da Müşteridir. İstediği durumda proje aşamasında duruma müdahil olabilmektedir.Bunun avantajı da Geri Bildirimi hemen alarak iletişimin kolaylıkla sağlanabilmesini sağlamaktadır.

EX’in tam anlamıyla dökümantasyona bağlı kalacağı anlamına gelmez anlık değişkenliklere hemen tepki verme prensibine dayanmaktadır. Yazılımlar küçük küçük yapılar yapılarak müşteriye gönderilir ve küçük eklemeler ile proje tamamlanmaya çalışılmaktadır. Sıkça müşteriye gönderilen programlar geri bildiriminde sıkça geldiği anlaşıldığından iletişim sağlıklıdır.

EX’de yazılım ekipleri kendi içlerinde görev paylaşımı yapmaktadırlar (genelinde olduğu gibi) ancak EX’in en önemli özelliklerinden bir tanesi olarak düşündüğüm şey herhangi bir modülü yapan yazılımcı istediği zaman diğer modülü yapan yazılımcının yerine geçebilir ya da müdahil olabilir ve bu uygulama da herhangi bir problem ile karşılaşılmaz. Problemden demek istediğim herhangi bir modül de yazılan kod standardı diğer modüllerde farklılık göstermek. Ekip kendi içerisinde nasıl yazacağını belirler tek tip yazım yapılır ve dediğim gibi basitlik önemlidir.

EX bana göre mükemmel bir yazılım metodolojisi.

Not: İleride EX’e göre yapılan örnek bir proje yakında blogumda olacak (buraya link gelicek)

Paylaş

Diğer Yazılar

javb
Previous

JSP’de Dizi Kullanımı

blank
Next

Turkcell T40 İncelemesi

Next
blank
31 Ekim 2013

Turkcell T40 İncelemesi

Previews
17 Ekim 2013

JSP’de Dizi Kullanımı

javb

5 Comments

  1. Hasan Hüseyin Çakır dedi ki:
    27 Ekim 2013, 02:27

    Merhaba Burak,
    Öncelikle bilgilendirme için teşekkürler, bu kavramı ilk defa duymuştum çünkü. Ancak bu yöntem “Agile” yani “Çevik” yazılım geliştirme metoduna çok benziyor. Bu iki metod arasındaki farkları da açıklayabilir misin? Şimdiden teşekkürler 🙂

    Cevapla
    1. Burak dedi ki:
      27 Ekim 2013, 13:46

      Merhabalar Hasan,
      Aslında sorunuzun cevabını yazının başında belirtmem gerekirdi. Extreme Programming Çevik Yazılım Geliştirme Metodundaki bir Metodolojidir. EX haricinde Çevik Yazılım Geliştirme Metodunda Microsoft Solution Framework , Scrum gibi Metodoloji bulunmaktadır.
      Bu Metodoloji ile Çevik bir yazılım geliştirebilmekteyiz.

      Cevapla
  2. nu dedi ki:
    22 Temmuz 2014, 12:00

    scrumla arasındaki fark projedeki yazılımcıların birbirinin yerini alabilmesi ve scrumun görev dağılımının olup herkesin tek hedefe yönelik çalışması mı?

    Cevapla
    1. Burak dedi ki:
      22 Temmuz 2014, 13:36

      Scrum’dan türemiş bir metodolojidir. Bu XP daha çok programlamaya yönelmesi ile bilinmektedir. Genelde XP ile Scrum beraber kombine edilerek uygulanmaktadır.

      Cevapla
  3. Furkan dedi ki:
    07 Nisan 2020, 13:46

    Merhaba,
    Yakında proje eklenicek(buraya link gelicek) demişsiniz. Fakat yıl 2020 ne zaman gelicek link?

    Cevapla

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Maven Gradle Arasındaki Farklar

Maven Mı? Gradle Mı? Arasındaki Farklar

Java 8 ile birlikte gelen Functional Interface özelliği Kullanım, Örnekler, Consumer, Predicate, Function, Supplier

Java Functional Interface Nedir?

blank

ACID Prensibleri Nedir

Spring Cloud Aws SQS Uygulama Örneği

Spring Boot Cloud AWS SQS Kullanımı

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Amazon Web Services
Vue.js
Gradle
Node.js
Android
Struts
Redis
Röportaj
Spring Data
Spring Cloud Stream
XCode
Debezium
Mikroservis Mimarisi
Video
Spring Native
iPhone Uygulama Geliştirme
Objective C
JPA
Spring Security
PostgreSQL
Apache Kafka
Git
Servlet
Yaptığım Projeler
Maven
Design Patterns
DevOps
Linux
RabbitMQ
PrimeFaces
JDBC
Spring Jdbc Template
Spring
Spring MVC
Manset
Google
Spring Cloud
OCA Java SE 8
Spring Core
Quarkus
Microsoft
Veritabanı
Tanıyalım
Java SE
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale