Agile Yazılım Geliştirme Alanında Bir Metod: Scrum Framework Nedir?
Çevik yazılım yöntemleri kendi içerisinde özü aynı, fakat süreçlerinde farklılaşan çeşitli alt kollara ayrılmaktadır. Bu kollardan popüler bir tanesi de Scrum yöntemidir. Scrum, kelime olarak rugby oyununda oluşturulan küçük ekiplere verilen isimdir. Bu yöntem 90’li yıllarda oluşturulmuş, günümüze sürekli bir gelişme halinde gelmiştir. Günümüzde başta yazılım geliştirme olmak üzere donanım, gömülü yazılım, etkileşim fonksiyonları ağları, otonom araçlar, okullar, hükümet, pazarlama, organizasyonların işleyişini yönetmek ve günlük yaşantımızda birey ve toplum olarak kullandığımız hemen her şeyi geliştirme konusunda bir metodoloji ve bir çerçeve olarak kullanılır.
Scrumın temelinde deneysel süreç kontrol teorisi (veya deneycilik) yer alır. Deneycilik, bilginin deneyimden ve bilinen şeylere dayanarak alınan kararlardan meydana geldiğini ileri sürer. Scrum, öngörülebilirliği en iyi seviyeye çıkarmak ve riski kontrol etmek için iterasyonlu ve artımlı (incremental) bir yaklaşım kullanır.
Scrum Takımı, bir Ürün Sahibi (Product Owner), Geliştirme Takımı (Development Team) ve bir de Scrum Masterdan oluşur. Scrum Takımları, kendi kendilerini yönetir (self-organized) ve çapraz fonksiyonludur (cross-functional). Kendini yöneten takımlar, takımın dışındaki birilerinden komut almak yerine işlerini en iyi nasıl başaracaklarına kendileri karar verir. Çapraz fonksiyonlu takımlar, takımın dışındaki kişilere bağımlı olmadan işi tamamlayacak tüm yetkinliklere sahiptir. Scrumdaki takım modeli esnekliği; yaratıcılığı ve üretkenliği en iyi şekilde kullanmak üzere tasarlanmıştır.
Scrum Etkinlikleri (Scrum Events) Scrum etkinlikleri, Scrumda tanımlı olmayan toplantı ihtiyacını asgari seviyeye düşürmek ve düzenlilik sağlamak için kullanılır. Tüm etkinlikler, her bir etkinliğin azami süresi olacak şekilde zaman sınırlıdır (time-boxed). Bir Sprint başladığında, süresi sabittir; kısaltılamaz veya uzatılamaz. Diğer etkinlikler, amaçlarına ulaşıldığında son bulur ve böylece süreçte israfa meydan vermeyecek şekilde uygun bir zamanın harcanması sağlanır. Sprintin yanı sıra içinde barındırdığı diğer etkinlikler de gözlem ve adaptasyon için resmî birer fırsattır. Bu etkinlikler, büyük öneme sahip olan şeffaflığı ve gözlemi mümkün kılmak için özel olarak tasarlanmıştır. Bu etkinliklerin birini bile kullanmamak, şeffaflığı azaltır; gözlem ve adaptasyon için bir fırsatın kaybedilmesi anlamına gelir.