Scrum, pek çok yazılım geliştirme ve proje yönetim sürecinde kullanılan popüler Agile yönetim metodolojilerinden birisidir. Teknolojinin gelişmesi ile işlerin kompleks bir halde yönetilmesinden çok, büyük işleri parçalayan ve birbirini tekrar eden bir dizi süreci kapsayan yapıya sahiptir.
Bu çatıda geri bildirim, risk yönetimi, etkin iletişim, planlama ve önceliklendirme gibi konular ön plandadır. Müşteri geri bildirimi ve ürün geliştirme arasındaki ilerleyen bu yapıda iletişim ve şeffaflık önemli bir rol oynar. Bu şeffaf iletişim sayesinde müşterinin ihtiyaçlarına yönelik üründe yeni güncellemeler ve geliştirmeler yapılır.
Scrum’da kolay adaptasyon, ihtiyaçlara hızlı cevap verebilme, değişime ayak uydurma, üretkenlik ve denetleme ön planda olan ana unsurlardır.
Scrum Metodolojisi
Scrum metodolojisi temelde 9 temel prensip ve ilke üzerine kurulduğunu söyleyebiliriz:
Transparanlık, Şeffaflık (Transparency): Tüm ekip üyeleri işler ve çalışmanın gidişatı hakkında şeffaf bir şekilde bilgi sahibi olmalıdır. Ekip üyelerinin dilediği zaman doğru ve yalın bir şekilde bilgiye erişmesi önceliklendirilir.
Düzenli İş İlerlemesi (Inspection): Ekip, belirli aralıklarla gerçekleşen düzenli toplantılarda (Sprint Review ve Sprint Retrospective gibi) çalışmalarını gözden geçirir ve geri bildirimler alır. Bu geri bildirimler toparlanıp analiz edilerek mevcut çalışma planı hakkında sürekli olarak iyileştirmeler yapılır.
Adaptasyon (Adaptation): Değişen çalışma şartları ve öncelik sıralamasına göre belirli denetlemeler sonucu elde edilen bilgi ve çıktılara göre esnek bir zemin hazırlanır. Ekip iş yapış biçimini sahip olduğu adaptasyon ve esneklik ile çeşitli şekillerde ayarlayabilir.
Sorumluluk (Accountability): Scrum ekipleri hedeflere ulaşabilmek için birlikte çalışarak kendilerine verilen işleri tamamlamaya çalışırlar. Bu noktada ortak sorumluluk alma ve ekip çalışması önemli kriterlerden biridir.
Kendi Örgütlenme (Self-Organization): Ekip üyeleri, belirlenmiş hedeflere ulaşmak için işleri kendi aralarında nasıl organize edecekleri konusunda özgürlüğe sahiptirler. Bu sayede ekip üyeleri daha motive olur ve etkin çalışabilirler.
Sınırlı Zamanlı İşler (Time-boxing): Belli aralıklarla (genellikle 1-4 hafta) sabit süreli Sprintler (iterasyonlar) içinde işler gruplanır ve bu süre boyunca bitirilecek şekilde planlanır. Bu sürelerde değişiklik yapılmaz ve işler belirlenen zaman diliminde tamamlanmaya çalışılır.
Gelişme (Incremental Development): Scrum, projeyi küçük parçalara bölerek her bir parçayı ayrı ayrı geliştiren ve bir sonraki aşamaya taşıyan kademeli bir gelişim sürecini destekler. Bu şekilde, sürekli müşteri geri bildirimine dayalı olarak daha değerli sonuçlar elde edilebilir.
İşbirliği (Collaboration): Scrum, tüm ekip üyelerinin ve paydaşların etkin bir şekilde işbirliği yapmasını sağlar. Ekip üyeleri birbirleriyle, müşterilerle ve diğer ilgili taraflarla düzenli olarak iletişim halinde olmalıdır.
Müşteri Odaklılık (Customer Focus): Bu süreçte müşteri değerini ön planda tutar ve müşteri ihtiyaçlarına odaklanır. Müşteri geri bildirimleri, ürün veya proje geliştirmenin temel bir parçasıdır.
Bu prensipler, Scrum’un esnek, verimli ve değer odaklı bir çerçeve olmasını sağlar ve projelerin başarılı bir şekilde yönetilmesini destekler.
Sprint nedir?
Scrum içerisinde “sprint” adı verilen bazı proje bölümleri bulunur. Sprintler proje sürecini kısa, sabit zaman dilimleri halinde bölerek işleri yönetmeye ve ürün geliştirmeye odaklanır. Her sprint, ürün geliştirme ekibinin işi tamamlamak için çalıştığı 1 ila 4 haftalık bir süreyi ifade eder.
Sprint ürün geliştirme ve teslimat süreçleri gereği tekrar eden süreçleri kapsadığını söyleyebiliriz. Bu tekrar eden süreçler temelde 5 ana yapıdan oluşur:
- Sprint Planlama(Sprint Planning): Product Owner yani ürün sahibi bu aşamada ürün geliştirme ekibi ve scrum master ile sprint sürecinde yapılacakları planlar, öncelik sıralamasına göre görevler sıralanır ve ekibin verimliliğini ön planda tutacak bir takım kararlar alınır.
- Sprint İlerlemesi: Bu süreçte Sprint üzerinde çalışan ekip ile günlük olarak “Daily Scrum” takip toplantıları yapılarak projenin genel durumu hakkında bilgi alınır. Potansiyel riskler bu kısa toplantılar süresince değerlendirilir. Eğer Sprint’i etkileyecek bir problem ön görülürse, yapılan bu günlük toplantılarda tespit edilerek olası problemlere karşı çeşitli önlemler alınır.
- Sprint Tamamlama: Sprint sonunda geliştirme ekibi teslim edilecek ürün parçacığını tamamlar ve teslime hazır hale getirir. Bu ürün içerisinde müşterinin talep ettiği bir özellik veya güncelleme olabilir.
- Sprint Değerlendirme: Sprint sonunda gerçekleştirilen işler, paydaşlara ve ürün sahibine sunulur. Bu toplantıda geliştirme ekibi işleri tanıtır ve geri bildirimleri alır.
- Sprint Retrospektifi: Her sprint sonunda takım, geride kalan süreci değerlendirir ve geri bildirim alır. Bundan sonraki süreci iyileştirmek için alınacak aksiyonları belirler. Bu süreç, takımın sonraki Sprint’lerde daha verimli ve etkin çalışmasını sağlar.
Sprintler sayesinde takım önünde bulunan zaman dilimine odaklanarak ortaya çıkarttığı iş üzerindeki toplam verim arttırılır. Sürekli geri bildirim mekanizmasının çalışması ile ortaya çıkan işin kalitesi artırılır. Etkin iletişim teknikleri kullanılarak günlük yapılan toplantılarda işin takibi yapılarak yönetim süreçleri çok daha kolay bir hale getirilir.
Scrum Görevleri ve Rolleri
Scrum ekibi içerisinde 3 temel rolde görev bulunur. Bunlar ürün sahibi(product owner), Scrum lideri(Scrum Master) ve geliştirme ekibidir.
Ürün sahibi ürünün pazardaki başarısından, ekip içerisindeki verimlilikten, ekip içi iletişimden ve çalışmaların maksimum fayda ile gerçekleşmesinden sorumlu kişidir.
Scrum lideri ekibin verimliliği konusunda iyileştirme ve optimize etmek için ekiplere ve ürün sahiplerine koçluk yapar. Scrum liderleri ekip için gerekli kaynakları planlama, Sprint etkinliklerini ve ekip toplantılarını kolaylaştırma, ortaya çıkabilecek zorluklara karşı bilgi paylaşımı yapma gibi sorumluluklara sahiptir.
Geliştirme ekibi ise ürünün ortaya çıkmasına kadar geçen süreçteki yazılım geliştirme, kullanıcı testleri ve operasyonun yürütülmesinden sorumludur. Geliştirme ekibinin başarısı “ekip” olarak hareket etmek ve ortak sorumluluk almayı beraberinde getirir. Her bir Sprint için aynı motivasyon ve istek ile hareket eden ekipler Sprint sonlarında başarılı bir şekilde ürünün teslimatını gerçekleştirebilir. Bu noktada mühendislik bakış açısı ile sürdürülebilir çözümler bulmak ve bunu zamanında teslim etmek önemli bir rol oynamaktadır.
Scrum Master Alanında Kariyer
Scrum alanında bilgilerinizi kanıtlamak, var olan bilgi seviyenizi artırmak ve yeni bilgiler öğrenmek için çeşitli sertifika programlarına katılın.
Professional Scrum Master ve Certified Scrum Master sertifika programlarına ilişkin detaylı bilgi almak için bu yazımızı inceleyebilirsiniz.:
Bu yazıda Scrum nedir? Hangi metodolojiler ile çalışır? Prensipleri nelerdir? Bir Scrum süresi içerisinde hangi iş parçacıları yapılır bunları paylaştık. Siz şirketinizde Scrum’ı uyguluyor musunuz? Bu metodolojinin bireysel olarak hangi faydalarını gördünüz? yorumlar aracılığıyla bizimle paylaşın. ☺️