Scrum Master Nedir?
Scrum Master Nedir? Makale bu soruyla başlıyor fakat Scrum hakkında merak edilen birçok soruya cevap vermeye çalışıyor. Aklınıza takılan sorular varsa bana yazmanızı rica ederim.
Scrum Master Nedir?
Scrum Takımı’nın kurallara uyması, pratikleri uygulaması ve Scrum teorisini anlamasından sorumludur. Geliştirme Takımı ve Ürün Sahibi arasında ara bulucudur. Çıkar çatışmalarında ara buluculuğu Scrum kurallarına göre çözümler.
Scrum Nedir?
Scrum, üretken ve yaratıcı bir şekilde yazılım geliştirme için bir çerçevedir. İlk defa 1995 yılında Ken Schwaber ve Jeff Sutherland tarafından OOPSLA konferansında anlatılmıştır. Scrum’da amaç ilerlemeli ve artımlı bir şekilde yazılım geliştirmektir.
Scrum’ın Yaratıcıları Kim?
Scrum, Jeff Sutherland’in ve Ken Schwaber’in ortak çalışmaları sonucunda ortaya çıkmıştır.
Scrumban Nedir?
Scrumban, Scrum ve Kanban pratiklerinin bir arada kullanıldığı yaklaşımdır. Örneğin “Çalışılan İş Sayısını Kısıtlama” bir Kanban pratiğiyken Scrum yapan takımlarda da kullanılabilir. Bir başka örnekse Kanban Duvarı’nın Scrum Takımları’nda kullanılması olabilir.
Scrum Ne Zaman Ortaya Çıktı?
Scrum, 1990’lı yılların başında kullanılmaya başlandı. 1995 yılında OOPSLA adlı bir konferansta Jeff Sutherland ve Ken Schwaber tarafından anlatıldı.
Scrum’da Deneycilik Nedir?
Deneycilik, bilginin tecrübeden geldiğini iddia eden felsefi yaklaşımdır. Scrum’da Sprint’ler koşularak tecrübe ve gelecekteki Sprint’ler için bilgi elde edilmeye çalışılır.
Scrum Neden Bir Çerçevedir?
Scrum’da belirli ve az sayıda kural bulunur. Scrum Takımı, bu kurallar içinde kalmak şartıyla kendi pratiklerini geliştirebilir. Bu da Scrum’ın bir metodolojiden farklı olarak herkes için farklı olabileceğini gösterir. Metodoloji herkes için aynıyken, çerçeve kullanan takıma göre esneklik ve değişkenlik gösterebilir.
Scrum’da Roller Nelerdir?
Scrum’da 3 rol bulunur.
- Ürün Sahibi
- Geliştirme Takımı
- Scrum Master
Scrum’da Ürün Sahibi’nin Sorumluluğu Nedir?
Scrum’da Ürün Sahibi’nin birinci sorumluluğu Ürün İş Listesi’ni yönetmektir. Ürün İş Listesi’ni iş değeri, risk, bağımlılıklar ve teknoloji gibi parametreleri göz önünde bulundurarak yönetir.
Scrum’da Geliştirme Takımı’nın Sorumluluğu Nedir?
Geliştirme Takımı, Ürün Sahibi’nin önceliklendirdiği işleri kaliteli bir şekilde geliştirmekle sorumludur. Hangi işlerin yapılacağını Ürün Sahibi, bu işlerin teknik anlamda nasıl yapılacağını Geliştirme Takımı belirler.
Scrum’da Geliştirme Takımı Nasıl Olmalıdır?
Geliştirme Takımı, Ürün Sahibi’nin getirdiği işi, dışarıya bağımlılığı olmadan geliştirebilecek yetkinliklere sahip profesyonellerden oluşan bir takım olmalıdır.
Scrum’da Geliştirme Takımı’nın Büyüklüğü Ne Olmalıdır?
Geliştirme Takımı’nda üye sayısı 3-9 arasında değişebilir.
- Üye sayısı 3 ve daha az olduğunda Geliştirme Takımı’nda yetkinlik ve yaratıcılık problemleri ortaya çıkabilir.
- Üye sayısı 9 ve üzeri olduğunda takım içinde iletişim problemleri ortaya çıkabilir. Takımdaki kişiler aralarındaki iletişimi takip edemeyebilir, iletişim için fazla enerji harcanabilir. Takım üyeleri enerjilerini iş yapmak yerine iletişim için harcayabilir.
Scrum’da Hangi Toplantılar Bulunur?
Scrum Kılavuzu’nda yazılı olan 4 toplantı bulunmaktadır. Bu toplantılar;
Ayrıca Scrum Kılavuzu’nda resmi olarak belirtilmeyen fakat Scrum Takımları’na yapmaları tavsiye edilen “Ürün İş Listesi Detaylandırma” aktivitesi bulunur. Bu aktivite Scrum Takımı’nın tamamının katıldığı bir toplantı şeklinde de yapılabilirken, Ürün Sahibi ve Geliştirme Takımı üyelerinin tek başlarına yaptıkları bir aktivitede olabilir.
Günlük Scrum Nedir?
Günlük Scrum, Geliştirme Takımı’nın bir araya geldiği ve önündeki 24 saati planladığı toplantıdır.
Günlük Scrum’ın Süresi Ne Kadardır?
Toplantı süresi 15 dakikayla sınırlıdır.
Günlük Scrum Toplantısı’na Kimler Katılır?
Geliştirme Takımı üyelerinin katılması zorunludur.
Scrum Master, toplantının yapıldığından ve 15 dakikada tamamlandığından emin olmakla sorumludur. Bunun anlamı Scrum Master, Geliştirme Takımı’na bu toplantıyı 15 dakikada bitirmeyi öğrettikten sonra katılmayabilir.
Ürün Sahibi’nin, Günlük Scrum Toplantısı’na katılması zorunlu değildir. Ürün Sahibi toplantıya katıldığında Geliştirme Takımı üyeleri rahatsız oluyorsa, şeffaflık bozuluyorsa toplantıya katılmamalıdır. Scrum Master, Ürün Sahibi’nin toplantıya katılmamasını rica edebilir. Verdiğim örnekler sık yaşanan durumlardır. Ürün Sahibi’nin toplantıya katılımı, Geliştirme Takımı üyelerini rahatsız etmiyorsa, şeffaflık bozulmuyorsa katılması iyi bir pratik olabilir. Geliştirme Takımı üyeleri konuştuktan sonra Scrum Takımı dışında yaşanan gelişmelerden Takım üyelerini haberdar etmek, bilgi vermek çok çok iyi bir pratiktir. Çünkü bu pratik Takım üyelerinin bilgisini ve şeffaflığı artırır.
Dikkat edilmesi gereken nokta, Ürün Sahibi’nin varlığının şeffaflığı bozup bozmadığıdır. Bu da Geliştirme Takımı ve Ürün Sahibi arasındaki iletişimle ilgilidir.
Günlük Scrum Toplantısı’ndaki Sorular Nelerdir?
Günlük Scrum Toplantısı’nda Geliştirme Takımı üyeleri aşağıdaki üç soruya cevap verir.
- Dün ne yaptım?
- Bugün ne yapacağım?
- Önümde bir engel var mı?
Günlük Scrum Toplantısı’nın Amacı Nedir?
Günlük Scrum Toplantısı’nın amacı, Geliştirme Takımı üyeleri arasındaki bilgi paylaşımını artırmaktır. Her bir takım üyesi yukarıdaki soruları cevaplayarak, arkadaşlarına bilgi verir. Böylece bilgi senkronizasyonu sağlanmış olur.
“Önümde bir engel var mı” sorusu, önünde engel bulunan takım üyesinin diğer üyelerden yardım almasını ve engeli aşmasını sağlar.
Günlük Scrum Toplantısı’nın amacı Ürün Sahibi’ne durum bildirme değildir!
Sprint Planlama Toplantısı Nasıl Yapılır?
Sprint Planlama Toplantısı iki bölümden oluşur. Birinci bölümün adı “NE” bölümüdür.
- Ürün Sahibi, Geliştirme Takımı’na NE’yi istediğini anlatır. Neyi istediğini anlatırken, neden istediğini, hangi kazanımları elde edeceğini anlatması çok iyi bir pratiktir. Sahada bulunamayan kişiler yani Geliştirme Takımı’nın ürünün hangi amaçlarla kullanılacağını öğrenmesi gerekir. Böylece geliştirdiği ürünün neye hizmet ettiğini bilmiş olur ve geliştirmelerine bu şekilde yön verebilir. Neyi, neden geliştirdiğini bilmeyen Geliştirme Takımları eksiktir ve amaçsız dolaşan insanlara benzer. Yani Ürün Sahibi, NE’yi istediğini anlatırken neden istediğini de anlatmalıdır.
- Geliştirme Takımı istenen işlevselliğin büyüklüğünü tahmin eder.
- Sıradaki iş maddesine geçilir ve bu döngü Geliştirme Takımı’nın kapasitesi dolana kadar tekrar eder.
- Kapasite, Geliştirme Takımı’nın son 3 Sprint’teki ortalama hızı olarak belirlenebilir. Geliştirme Takımı kapasitesi kadar iş aldıktan sonra “NASIL” bölümü başlar.
- NASIL bölümünde Ürün Sahibi’ne ihtiyaç yoktur. Ama ihtiyaç olması durumunda bir telefon uzaklığında bulunması gerekir. NASIL bölümünde işlerin teknik detayına girilir, analiz ve tasarım çalışması yapılır. Bu bölümde beyaz tahta kullanmak, flip-chart kullanmak iyi bir pratiktir. Geliştirme Takımı, Sprint içinde yapacağı işleri konuşmalıdır.
Sprint Planlama Toplantısı’nın Amacı Nedir?
Sprint Planlama Toplantısı’nın amacı Sprint süresince yapılacak işleri belirlemektir. Ben bunu yemek yapmaya başlamadan önce mutfağı düzenlemeye benzetiyorum. Yemek yapmaya başlamadan önce bütün malzemeler sağda solda dağınık olsa, hangi malzeme evde var hangi malzeme evde yok bilmeseniz, yemek yapabilir misiniz? Mutfağımızı düzene soktuğumuz bölümdür. Mutfağı düzenledikten sonra Sprint süresince yemek yaparız.
Sprint Planlama Toplantısı’nın “NE” Bölümünün Amacı Nedir?
Ürün Sahibi’nin gelecek Sprint’te yapılacak işleri Geliştirme Takımı’na anlatmasıdır. Takımdan takıma farklılık göstermekle beraber bu bölümü 50-60 dakikada tamamlamak iyi bir pratiktir.
Sprint Planlama Toplantısı’nın “NASIL” Bölümünün Amacı Nedir?
Geliştirme Takımı’nın gelecek Sprint için planlama yapmasıdır. NE bölümünden uzun sürmesi doğaldır. Geliştirme Takımı bu bölümde analiz ve tasarım çalışmaları yapmalıdır. Analiz ve tasarım çalışmaları Waterfall’da olduğu gibi derinlemesine yapılmamalıdır. Bu çalışmaların yol gösterici olacak detayda olması yeterlidir.
Sprint Planlama Toplantısı’nın Girdileri Nelerdir?
- Ürün İş Listesi
- Çalışan yazılım
- Geliştirme Takımı’nın kapasitesi
- Geliştirme Takımı’nın geçmiş Sprint’lerdeki performansı
Sprint Planlama Toplantısı’nın Çıktıları Nelerdir?
Sprint Planlama Toplantısı’nın Uzun Sürmesi Normal midir?
Sprint Planlama Toplantısı 2 haftalık Sprint’ler koşan takımlar için 4 saatle sınırlıdır. 4 haftalık Sprint’ler koşuyorsanız 8 saatte bitirebilmelisiniz.
Sprint Planlama Toplantısı’nın ilk bölümü olan NE bölümünü 50-60 dakikada tamamlamak çok iyi bir pratiktir. Tamamlayamıyorsanız iş maddelerinizi olgunlaştırmamışsınız demektir. Bir önceki Sprint’te bu maddeler üzerinde çalışıp iş maddelerini olgunlaştırmanız gerekir. Bu olgunlaştırma çalışması eski adıyla “grooming” yeni adıyla “refinement(detaylandırma)” olarak geçer.
Hikaye Puanı Nedir?
Kullanıcı hikayelerini değerlendirmek için kullanılan takım bazında öznel bir birimdir.
Hikaye Puanı Neye Göre Verilir?
Hikaye Puanı verilirken bir kullanıcı hikayesi için harcanacak efora, kullanıcı hikayesinin içerdiği riske, bağımlılıklara ve kullanıcı hikayesinin karmaşıklığına bakılır.
Hikaye Puanı Kullanarak Tahmin Yapmak Neden Faydalı?
Hikaye Puanı ile yapılan tahminler göreceli tahminlerdir. Bir kullanıcı hikayesinin tamamlanabilmesi için gerekli mutlak saatin ya da günün tahmin edilmesi işi zordur. Mutlak tahminle müşteriye verilen saat ya da gün bilgisi bir kontrat gibi algılanırken, Hikaye Puanı ile yapılan tahminler sadece tahmin olarak anlaşılır.
Hikaye Puanı Serileri
Fibonacci serisi, her sayının kendinden önceki iki sayıyla toplanması sonucu elde edilen seridir:
0, 1, 1, 2, 3, 5, 8, 13…
0 + 1 = 1
1 + 1 = 2
1 + 2 = 3
2 + 3 = 5
Ayrıca 0, 4, 4, 8, 12, 20, 32 de bir Fibonacci serisidir. Gördüğünüz gibi her sayı kendinden önceki sayı ile toplanıp dizinin yeni elemanına ulaşılmaktadır.
İkinin Gücü serisi, iki üzeri n şeklindeki sayı formudur.
2n => n bir tam sayıdır. Seri şu şekildedir:
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
Poker destesi Fibonacci serisinden ya da İkinin Gücü serisinden oluşturulabilir.
Neden Fibonacci veya İkinin Gücü Serisi?
Çünkü kademeli tahmin, tahmini yapılan kullanıcı hikayesi hakkında doğrusal ölçekten daha etkilidir. Tahmini gerçekleştiren kişilere kullanıcı hikayesi hakkında daha çok fayda sağlar. Fibonacci Serisi ve İkinin Gücü Serisi gibi eksponansiyel büyüyen seriler kullanmak bilginin kümülatif olarak büyüdüğü sistemlerde doğruya yakın tahmin yapılmasını kolaylaştırır. Bilginin kümülatif olarak büyümesini ise “Bilgi Kuramı” ile açıklanabilir. Bilgi Kuramı, bilginin ölçülmesini -nicelikselleştirilmesi, miktarının belirlenmesi- içeren uygulamalı matematik, elektrik mühendisliği, istatistik, fizik, teoloji ve bilgisayar bilimlerinin ortak dalıdır. Bilgi Kuramı’nın bizi ilgilendiren anahtar noktası olan entropi, Claude Shannon tarafından geliştirilmiştir. Shannon’a göre;
Entropi, bir mesajdaki belirsizliğin miktarıdır. Mesajın, herhangi bir metin olması gerekmez, basitçe bilgi akışı olarak düşünülebilir. Mesajdaki belirsizlik arttıkça entropi eksponansiyel bir şekilde artar, mesajdaki belirsizlik azaldıkça entropi eksponansiyel şekilde azalır.
Bu nedenle eksponansiyel seriler kullanmak daha iyi bir pratiktir.
Burada özellikle bir noktayı vurgulamak istiyorum. Poker Planlama’nın amacı doğru tahmini yapmak olmamalıdır. Poker Planlama’nın amacı doğru tahmini yapabilmek için gerekli olan etkileşimin gerçekleştirilmesi olmalıdır. Toplantı katılımcıları arasında bu etkileşim gerçekleştirildikten sonra doğru tahmini yapmak zaten sonuç olarak kendiliğinden gerçekleşecektir.
Scrum’da Neden Göreceli Tahmin Yapılır?
Mutlak tahminde insanlar iyi değildir ve yanılma olasılıkları yüksektir. Göreceli ya da karşılaştırmalı tahminde insanlar doğru sonuca daha yakın tahminde bulunabilir. Zihninizde içi su dolu iki bardağı hayal etmenizi istiyorum. Bu bardakların herhangi birinde kaç mililitre su olduğunu tahmin etmeniz oldukça zordur. Halbuki bardakların hangisinin daha dolu olduğunu tahmin etmek çok daha kolaydır.
Scrum’ın Değerleri Nelerdir?
- Taahhüt
- Odaklanma
- Açıklık
- Saygı
- Cesaret
Scrum Değerleri Nereden Geliyor?
Scrum Değerleri, Scrum Takımları incelenerek ortaya çıkmış değerlerdir. Scrum Takımları incelenmiş ve en başarılı Scrum Takımları’nın bu ortak değerlere sahip olduğu görülmüştür. Elbet farklı değerlere sahip takımlarda olabilir, bu yanlış değildir. Fakat Scrum’daki pratiklerin en iyi şekilde işletilebilmesi için takımların Scrum Değerlerine sahip olması çok iyi olacaktır.
Scrum Master Nedir makalesinde şimdilik bu kadar soru ve cevap bulunuyor. Aklınıza takılan soruları paylaşırsanız daha çok cevap olacaktır. 🙂