Çevik Yazılım Geliştirme Metodolojileri

Emine Öztürk
3 min readJan 20, 2021

Çevik Yazılım Geliştirme

Çevik, dünyada yazılım süreçlerinin daha esnek ve daha güçlü olması için kullanılan aynı zamanda yazılım sürecini kısaltan bir yazılım geliştirme metodolojisidir. Bu metodolojide proje küçük yinelemelere ayrılır ve bu yinelemeler tek başına proje gibi düşünülerek geliştirilir. Her yinelemenin sonunda proje ekibi tarafından müşteriye proje hakkında bilgi verilir. Çevik ile her projenin 2–4 hafta sürmesi beklenmektedir. Her yinelemenin kendi çalışan bir sistem olması beklenir. Bunun sonucunda müşteriye çalışan yazılım teslim edilerek müşteri memnuniyetinin artması sağlanır.

Çevik’in hızı proje ekip çalışanlarının birbirleriyle iletişimine bağlıdır. Ayrıca projenin parçalara ayrılması geriye dönerek hataların düzeltilmesini kolaylaştırır. Genel hatlarıyla çevik metotlar verimliliği yüksek, esnek, hata oranı düşük, hızlı ve ucuz çözümler sağlamaktır.

Çevik Yazılım Geliştirme Manifestosu

Kent Beck ve değişik çevik metotların temsilcileri olan 16 arkadaşı 2001 yılında bir araya gelerek ortak noktalarını içeren bir çevik manifestosu yayınladılar. Bu manifestoda;

· Süreçler ve Araçlar yerine Bireyler ve Etkileşimler,

· Kapsamlı Belgeler yerine Çalışan Yazılım,

· Sözleşme Görüşmeleri yerine Müşteri İlişkileri,

· Plan İzleme yerine Değişikliğe Açıklığın,

daha önemli ve öncelikli olduğu söylenmiştir.

Çevik Yazılım Geliştirme Prensipleri

· Birinci öncelik, müşteriye hızlı ve sürekli olarak kullanılabilir yazılım teslimatı yapmaktır.

· Kodlamanın ilerleyen bölümlerinde de gereksinim değişiklikleri kabul edilir, esneklik vardır.

· Mümkün olduğunca kısa zaman aralıklarında çalışan, kaliteli yazılım teslimatı yapılır.

· Analistler, uzmanlar, yazılımcılar, testçiler vs. tüm ekip elemanları birebir iletişim halinde birlikte çalışırlar.

· İyi projeler motivasyonu yüksek kişiler etrafında kurulabilir. Ekibe ihtiyaç duydukları desteği ve ortamı sağlamak ve onlara güvenmek önemlidir.

· Ekip içerisinde kaliteli bilgi akışı için yüz yüze iletişim önemlidir.

· İlerlemenin birincil öncüsü çalışan bir yazılımdır.

· Çevik süreçler, sürdürülebilir geliştirmeyi destekler.

· Sağlam teknik alt yapı ve tasarım, çevikliği artırır.

· Basitli önemlidir.

· En iyi mimariler ve tasarımlar kendini organize edebilen ekipler tarafından yaratılır.

· Düzenli aralıklarla ekip kendi yöntemlerini gözden geçirir ve verimliliği artırmak için gerekli iyileştirmeleri yapar.

Çevik Yazılım Geliştirme Yaklaşımının Sağladığı Avantajları

Çevik yazılım geliştirme yaklaşımı benimsenen projelerde, yazılım ekibinin motivasyonu sürekli yüksek seviyede olur. Bu durum üretkenliği artırır ve yazılım kalitesini de artırır. Kısa sürede müşteri memnuniyeti sağlanır. Bunun yanında yazılım geliştirme maliyetleri düşer.

Yazılım Projelerinde Yaygın Uygulanan Çevik Metodolojiler

Extreme Programming

Extreme programming (XP), Kent Beck tarafından 1999 yılında yazılım geliştirme disiplini olarak ortaya çıkmıştır. XP kolay, grup içi iletişime önem veren, geri dönüşlerin daha fazla olanak sağlayan yazılım geliştirme yöntemidir.

XP’nin Temel Değerleri

a) İletişim

b) Basitlik

c) Geri bildirim

d) Cesaret

XP Pratikleri

a) Planlama Oyunu

b) Ekipte Müşteri

c) Önce Test

d) Basit Tasarım

e) Çiftli Programlama

f) Sürekli Entegrasyon

g) Kısa Aralıklı Sürümler

h) Yeniden Yapılandırma

i) Ortak Kod Sahiplenme

j) Benzetim

k) Kodlama Standartı

l) Haftada 40 Saat

Scrum

Yazılım projelerini yönetmede kullanılır. Yinelemeli ve artımlı bir çevik yazılım geliştirme metodolojisidir. Scrum, Rugby sporundaki bir hücum taktiğinin adıdır. Rugby’ de olduğu gibi Scrum’da takım toplanır, planlama oyunu oynar ve görevler dağılarak herkes tek bir hedef için çalışır. Bu taktik de amaç tüm oyuncularla birlikte topu karşı sahaya taşıyarak atak yapmaktır.

SCRUM, Jeff Sutjerland ve Ken Schawaber tarafından 90’lı yılların ortalarında geliştirilmiştir. Çevik yazılım geliştirme metodolojileriyle uygulanabilecek proje yönetim yaklaşımıdır. Scrum ilk bakışta çok basit kuralları olan yönetimsel modeldir. Bu modelin gereksinimlerin açıkça belli olmayan, değişime açık, karmaşık yazılım projelerinin yönetimi için kullanımı uygundur. Scrum esnek bir yönetim sunarak yazılım projesinde izlenmesi gereken adımların detaylı olarak açıklanmasına gerek yoktur. Karmaşık yazılım işlerini küçük parçalara bölerek geliştirmeyi savunur.

Scrum Temel Kavramlar

· Roller (roles)

- Ürün Sahibi

- Scrum Yöneticisi

- Scrum Takımı

· Toplantılar

- Koşu Planlama

- Koşu Gözden Geçirme

- Günlük Scrum Toplantısı

· Bileşenler/Araçlar

- Ürün Gereksinim Dokümanı

- Koşu Dokümanı

- Sprint Kalan Zaman Grafiği

Rational Unıfıed Process

Test Driven Development

Feature Drıven Development

Lean Development

Dynamic System Development Methodology

Microsoft Solutıon Framework

TEŞEKKÜRLER…

EMİNE ÖZTÜRK

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

No responses yet

Write a response