Scrum Nedir?

Scrum, yazılım Mühendisliği’nde bir uygulama geliştirme yöntemidir. Bu geliştirme yönteminin temel özelliği gözlemci, geliştirmeci ve tekrara dayalı olmasıdır. Birçok modern yazılım projesinin oldukça karmaşık olduğu ve en baştan tümünü planlamanın zor olacağı şeklindeki bir varsayımdan hareket eder.



“İnsanların mümkün olan en yüksek değere sahip ürünleri üretken ve yaratıcı bir şekilde geliştirirken, karmaşık ve adaptasyona açık sorunları ele alabildikleri bir çerçeve.”


1990 yılının başlarında geliştirilen Scrum bir SDLC olmayıp, bize bir Agile Framework (Çevik Altyapı) sunar. Yani sadece yazılım geliştirme süreçlerinde değil şirketin diğer tüm süreçlerinde kullanılabilir. Değişen gereksinimlerle daha etkin bir yoldan başa çıkmak, çalışanların motivasyonunu artırmak ve müşteri ile proje arasındaki iletişimi geliştirmek istiyorsak Scrum kullanılması kaçınılmazdır.

  • En önemli etkenlerden bir tanesi de tüm aşamaların planlı bir şekilde yürütülmesini sağlamanın zor olacağı düşüncesi ya da varsayımı olacağı için bu karmaşık düzeni azaltmaya çalışmak mümkün olacaktır. Bu noktada şu üç ana maddeyi değerlendirmekte fayda olacaktır. Şeffaf olma kavramı bu sistemdeki en temel özelliklerden biridir. Bir projenin başarılı bir şekilde ilerleyebilmesini sağlamak isterseniz bu alandaki ilerlemelerin ve karşınıza çıkan sorunların bir kütüphane kodlaması üzerinde tutulmasını sağlamak ve herkes tarafından izlenebilir olmasını sağlamak ya da geliştiriciler tarafından kontrol edilebiliyor olmasını sağlamak size artı bir değer kazandırır. Hem zaman kazandırır hem de daha iyi sonuçlar elde etmenize yardımcı olur.

 

  •  Sistem üzerinde yapılan araştırma ve geliştirme çalışmalarının sistem üzerine uygulamalara dökülmesini sağlamak yazılımcıların asli görevleri arasında yer alır. Bu görevleri teme olarak en iyi şekilde ilerletmek isterseniz gerekli denetlemelerin de zamanında yapılmasına özen göstermekte fayda olacaktır. Ürünler ile ilgili olarak parça ya da fonksiyon sistemlerinin düzenli bir şekilde kontrollerini sağlamak gerekiyor. Kontrol edilen sistemler üzerinde meydana gelecek olan hata payları minimize edilecek dolayısı ile çok daha iyi bir yazılım elde etmek mümkün olacaktır.

 

  • Uyarlama süreci Ar-ge faaliyetlerinin yazılım sistemleri üzerindeki en temel sonucunu bize sunar. Bu alanda yapılacak olan faaliyetler ile beraber sistemin gereksinimleri hakkında çok daha fazla bilgi sahibi olmanız mümkün olacak ve başından beri yapacağınız prototip uyarlamalarla beraber belirsizlikleri ortadan kaldırabileceksiniz. Her uyarlama ile beraber sonucun başarılı olacağına bir adım daha yaklaşmak mümkün olacaktır.

Scrum süreci ilk olarak “Product backlog” olarak adlandırılmakta ve “Sprint backlog” olarak devam etmektedir. Bu sürecin akabinde zaman kavramı devreye girer ve gerekli Ar-ge çalışmaları 24 saat – 30 gün ya da daha fazla bir zaman dilimine yayılarak planlanır ve son olarak da “Working increment of the software” ismi ile sonuç olarak karşımıza çıkar.

Product Backlog: İhtiyaçların tutulduğu bir listedir. Bu listede her bir ihtiyacın önceliği, amacı, detayları ve maliyeti belirlenir. (Örn: Univera uniVIP yazılımı)

Sprint Backlog: Belirli bir versiyon planı ortaya çıktıktan sonra o planda yapılacak işlerin olduğu liste ortaya çıkar. O listedeki işler için 4 haftalık Sprint’ler koşulur. Her sprint sonrasında potansiyel olarak dışarıya verilebilecek bir increment çıkar.

Scrum sürecindeki roller temel olarak etkileşim, ürün sahibi yani “Product owner” olarak başlar. Scrum yöneticisi belirlenir ve kullanıcı ya da kullanıcı kitleleri göz önünde bulundurularak çalışmalara başlanılır. Yöneticiler ve takım ile etkileşim sistemleri üzerinde rollerin istismar riski de göz önünde bulundurularak bir sistem üzerine odaklanılır.

Toplantılar yapılır ve günlük olarak sprint değerlendirmeleri analiz edilir. Retrospektif yani geçmiş bir bakış atılır akabinde geçmişteki hatalar denetlenerek geleceğe yönelik daha etkin bir çalışma üzerine odaklanılır.

Scrum yapı taşları analiz edilecekse insanlar temel olarak ürün içeriği hakkında bilgi sahibi olmalıdır. bu noktada ürün içeriği sistemi hazırlanacak olan bu çalışmanın kim için ve ne için hazırlanacak olduğunun bilinmesi ve ilgili senaryoların toplanması (bir araya getirilmesi) ile beraber mümkün olacaktır. Sprint içeriğinin belirlenmesi ile beraber amaç sonuca ulaşsın diye dört sütunlu bir yapıya sahip olan görevler bütününü üzerinde okuyabileceğimiz bir tahta tercih etmekte fayda vardır. Son olarak da iş bitimi grafiklerini inceleyerek analiz edebileceğiniz bir siste faydalı olacaktır.

 “Scrum bir yönetim sürecidir.”

Can GÜR

Computer science 4 life mottosuyla yola çıkmış bir bilgisayar mühendisi.

Bir cevap yazın

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