Agile Hakkındaki Temel Bilgiler

Dijital Guru Makaleler   •   Nisan, 2018

Bilişim sektörüyle alakalı herkesin en az bir kere kulağına gelen veya kullandığı bir terim scrum. Yazılım Mühendisliği için sektörde tercih edilme oranı günden güne artan bir çevik uygulama geliştirme yöntemi diyebiliriz onun için. Bu uygulama geliştirme yönteminin en önemli özellikleri; tekrara dayalı, geliştirmeci ve gözlemci olmasıdır.

Modern yazılım projelerinin devasa boyutlarını düşündüğümüzde, bu karmaşık yapıyı kolaylaştırmak ve projeyi en başında planlamanın ileride vereceği zorlukları azaltmak amacıyla çoğu projede ön planda tutulan bir yöntem. Scrum metodolojisi bu soruna üç ilke ile yaklaşarak, projede yaşanabilecek genel sorunları azaltmaya çalışır:

  • Agile Geliştirme

  • Scrum Methodolojisi

  • Projede Agile Süreci

Transparency: Proje işleyişinde yapılan işlem ve geliştirmelerin anlık olarak kaydedilip diğer geliştiricilere ve müşterilere sunularak tüm proje sorumluları tarafından takip edilebilmesini sağlar.

Inspection: Projede istenilen ürünler ve fonksiyonlar belirlenen bir zaman diliminde (Genellikle büyük projelerde bu süreç 2 haftalık süreler ile işler) teslim edilip, proje sonlanmadan değerlendirebilme imkanı sunar. Bu durum da herhangi bir hatayı başında önleyebilmek adına önemli bir fırsattır.

Adaptation: Projelerde istekler sürekli değişkenlik gösterebilir. Eğer gereksinimler projenin başında tek seferlik değerlendirilip çalışmalar bu düzlemde gerçekleştirilirse, sonradan oluşabilecek istekler hem üreticiyi hem de müşteriyi zaman ve bütçe olarak olumsuz etkileyecektir. Scrum teknolojisinde ise her teslimat sonrası tekrar değerlendirme yapılıp, süreç uyarlanan isteklere göre devam eder. Böylece ham proje üstünden geliştirmeler daha kolay bir şekilde sağlanabilir.

Scrum teknolojisinde nihai hedef projenin başında istenilen ve hayal edilen ürünün; olabilecek en hızlı şekilde, zamandan tasarruf ederek, minimum maliyette ve maksimum kalitede ortaya çıkmasıdır. Bu kadar zor etkeni bir arada tutabilerek, takım çalışmasına en uygun uygulama geliştirme yöntemi olması da tercih edilme oranını arttıran bir diğer önemli etken. Microsoft’un sunduğu Team Foundation Server(TFS) bu işbirlikçi uygulama geliştirme sistemine göre tasarlanan iyi bir örnektir.

Scrum süreç modeli üç farklı rol üzerinde şekillenir. Bunlar; ürün sahiibi, yazılım geliştirme takımı ve Scrum yöneticisi (ustası) olarak ayrılır. Yazılım geliştirme takımı da kendi içinde üç farklı role ayrılır. Bunlar; Yazılımcı, Testçi ve Tasarımcı’dır. Dış roller veya yan roller de diyebileceğimiz kategoride de müşteri, işletme, kullanıcı ve pazarlama vardır.

Ürün Sahibi: Kullanıcı istek ve durum önerilerini ayrıntılı olarak yazılım geliştirme takımı ile paylaşır. İsteklerini Sprint dediğimiz 2 haftalık süreçler halinde takıma iletir.

Yazılım Geliştirme Takımı: Gereksinim ayrıntılarını, istenilen ve elde edilen verileri, hangi zaman çizelgesi üzerinden projenin gerçekleştirileceğini, sonuç verilerini ürün sahibi ile paylaşır.

Scrum Yöneticisi: Yazılım Geliştirme Takımı ve Ürün Sahibi arasında köprü görevini üstlenen kişidir. Ürünü belli standart düzeyinde tutmak, scrum sürecindeki oluşabilecek negatif durumlarla ilgilenmek, takımın önündeki engelleri kaldırmak ile ilgilenir. Yazılım Geliştirme Takımı ile birlikte çalışır ama takıma tabii tutulmaz.

Sprint (Toplantılar) Toplantılar da proje çerçevesinde istenilen ürün geliştirilir. Planlama süresi boyunca belirtilen ürün işlevleri Sprint’te teslim edilir. Yazılım Geliştirme Takımı’nın çalışmaları Taskboard’a göre şekillenir ve Ürün Sahibi’nin belirttiği kullanıcı isteklerine göre aşama kateder.

Teknoloji değişimleri ve dinamik kullanıcı isteklerine optimum uyum sunabilen Scrum Metodolojisiyle bilişim sektöründe gün geçtikçe daha çok iç içe olacağımızı düşünüyorum.

Kaynakça:
• Ken Schwaber: Scrum Development Process, Advanced Development Methods, 131 Middlesex Turnpike Burlington, MA01803
• Eff Sutherland, Ken Schwaber: The Scrum Guide. Abgerufen am 10. August 2011. S. 12

By | 2018-04-30T17:47:12+00:00 Nisan 3rd, 2018|Makaleler|