Bu karmaşık bir konudur ve konuyla ilgili sık sık tartışmalar yapılmaktadır. Bu konuda "kanonik" görüş kavramını sevmiyorum: değeri olan çeşitli görüşler var. Ancak yaklaşıma rehberlik etmesi gereken destekleyici değerler, ilkeler ve uygulamalar vardır.
Aşağıdakiler, 10 yılı aşkın bir süredir scrum ekipleriyle çalışan kendi görüşlerime dayanıyor. Ama bu sadece benim fikrim.
Öngörme yöntemi olarak Öykü Noktaları Öykü noktalarının asıl amacı, bir takımın belirli bir süre boyunca neler yapabileceğini tahmin etmek amacıyla çabayı tahmin etmek için hızlı bir yöntem bulmaktı. Bazı "aydınlatma aygıtları" puanların yalnızca uzun vadeli kapsamı (örneğin bir sürüm üzerinden) tahmin etmek için kullanıldığını ve sprint düzeyinde kapasiteyi belirlemek için kullanıldığını belirtir. Ek olarak, konsept, ekiplerin tarihsel değerlere dayalı olarak "göreceli boyutlandırma" uyguluyor olmalarıdır (Çaba X, 3 puan olan Çaba B'ye benzer). Bu, tahmin sürecini hızlandırır, böylece ekipler gelecekteki çalışmaları ayrıntılı çalışma paketlerine ayırmak ve tüm görevlere saat uygulamak zorunda kalmazlar. Yüksek performanslı ekipler, tüm teknik çalışanları benzer beceri düzeylerine sahip çok yetkin üyelere dönüştürmeye çalışır. (Bu kavram 4. maddede daha fazla incelenecektir.) Bu elde edildiğinde, bireysel beceri seviyesi gerçekten boyutlandırmada bir değişken değildir. AMA: Bu hedefe ulaşmak genellikle uzun zaman alır ve birlikte çaba gösterir. Peki ... oraya varmadan önce ne yapacağız?
Çalışma saatleri sprint kapasitesini belirler: Noktaların uzun vadeli tahmin için kullanıldığını belirten aynı "armatürlere" göre, Görev Saatlerinin puan yerine sprint kapasitesini belirlemek için kullanılmasını önermektedir. Bence bu iyi, ama diyebilirim ki koç ekipleri "Yüksek Performans" a yardım ettiğimde, seviyeli becerilerinin ortalaması sadece Hikaye Puanlarını kullanarak bir sprint'te neler tamamlayabileceklerini belirleyebilecekleri ortalamanın üzerinde. . Yine, bu, çabaladığımız bir amaç olabilir, ancak yeni takımlar buna hazır değildir. Bu nedenle, tek bir sprint'te 12 görev saati çaba gösteren 2 puanlı ve 25 saatlik çaba ile başka bir sprint bulabilirsiniz. Ee ne yapıyorsun? "Agile-purists" dediğim bazı insanlar Hikaye büyüklüğünün (puan olarak) süre için agnostik olması gerektiğini söyleyeceklerdir. Diğerleri aynı fikirde değil. 3. madde üzerindeki mantığı okuyun ve ne düşündüğünüzü görün.
- Fikir birliği ile Hikaye Gösterimi: Hacim, Bilinmeyenler, Karmaşıklık, Bilgi Uygulama
Bu yüzden ekipler bir iş parçasına bakarlar ve Çaba Düzeyi için vekalet edecek noktalar üzerinde anlaşmaya varmaları gerekir. Sağ? Tüm becerilerin eşit olduğunu varsayarsak, fikir birliğine ulaşmak kolaydır. Ancak çoğu zaman takımların Java guru, diğeri Java'da çok iyi olmayan bir adam vardır (belki de bir C # veya .Net veya Cobol kişisiydi ve Java öğreniyor). Yani Bob için X görevi çok basit. Jane için daha zor.
Çevik ekipler toplu kod sahipliğini ve büyüyen / genişleten uzmanlığı teşvik etmeye çalışırlar. Bu yüzden, genellikle uzmanlıklarına göre insanlara hikayeler atamıyoruz: ekiplerin toplu olarak hikayeler üzerinde çalışmasını ve birlikte öğrenmesini tercih ediyoruz. Bu, "hızlandırmak için yavaşla" kavramıyla uyumludur: Jane ile Java deneyimi vermek için zaman ayırırsak, bu ilk başta bizi yavaşlatabilir, daha sonra daha yetkin Java geliştiricilerine sahip olacağız. Aslında, yalnızca bir Java uzmanımız varsa ve herkes kendi uzmanlık alanlarında çalışıyorsa, birden fazla potansiyel "başarısızlık noktası" olan bir durum yaratıyoruz. Çalışmanın% 90'ı Java, ancak Bob (Java uzmanımız) hasta veya tatilde olduğunda sprint'te ne olur? Becerileri genişleterek, potansiyel darboğazları ortadan kaldırır ve riski azaltırız. Bunu göz önünde bulundurarak: Takım bir hikayeye baktığında, boyutlandırma sırasında akıllarında birkaç kavram olmalıdır. Bunu hatırlamak için VUCK kısaltmasını düşünebilirsiniz.
Cilt: Bazı çabalar oldukça basittir, ancak çok sayıda tekrarlanan görev gerektirir. (Basit olduğu için 1 puan olduğunu söyleyen 50+ tabloyu kopyalamak ve yeniden biçimlendirmek zorunda kalan bir adamım vardı. Ancak yansıma üzerine ekip kolay olsa da zaman alıcı olduğunu ve büyük miktarda tablo olduğunu fark etti. iş hacmi nedeniyle puanları yeniden ayarlamak zorunda kaldık)
Bilinmeyenler: Bazen ne yapacağımızı bildiğimizi DÜŞÜNÜYORUZ, ancak bazı bilinmeyenleri de belirliyoruz - bunlar RİSKLERİ temsil ediyor . Bu da, çözmemiz, yeniden tasarlamamız veya farklı bir çözüm denememiz gereken beklenmedik sorunlarla karşılaşabileceğimiz anlamına gelir.
Karmaşıklık: Bu oldukça açıktır. Bazı çözümler teknik olarak karmaşıktır. Ne yapacağımızı tam olarak biliyoruz, ancak teknik uzmanlık gerektiriyor. Karmaşıklık da bir miktar risk içeriyor, değil mi? Dolayısıyla, hepimiz eşit becerilere sahip olsak bile, teknik karmaşıklık, öngörülemeyen zorluklarla karşılaşabileceğimizi ima eder. Yani bu hikayeyi daha büyük yapabiliriz.
Bilgi: GERÇEKTEN ne çözdüğümüzü biliyor muyuz? Bazen müşteriler istedikleri çözüm konusunda tamamen net değildirler ve biz de biraz deneme yapıyoruz. Ya da belki de hiç kimse bu çözümü uygulamadı (daha önce hiç kullanılmamış yeni teknoloji) ve bu yüzden ne bilmediğimizi bilmiyoruz.
Kanımca, bu düşüncelerin her biri aslında uzun bir süre için bir vekil. Kolay hikaye, çok fazla hacim? Daha uzun sürecek ya da hikayeyi bölmemiz gerekecek. Bilinmeyenler? Risk, araştırma, deneme ekledi, daha uzun sürebilir veya hikayeyi bölmeliyiz. Kompleks? Daha fazla risk almak, hataları düzeltmek, yeniden tasarlamak vb. Gerekli bilgiye sahip olup olmadığımızı bilmiyor musunuz? Ek riskimiz var, denememiz gerekebilir, bu yüzden daha uzun sürebilir ...
Bunun nereye gittiğini görüyor musunuz? Öykü noktaları kavramı bizi tahmin ederken süreyi düşünmekten caydırırken, diğer yandan 4 saat içinde tamamlayabileceğimiz 1 puanlık bir hikayeye ve basit ama alacak başka bir 1 puanlık hikayeye sahip olmak mantıksız olurdu. 2 hafta.
- Yüksek performans gösteren takımlar Siloları ve Darboğazları ortadan kaldırır: Takımlar tüm üyeleri düzleştirmeye çalıştıklarından, bazen daha az deneyimli üyeler yeni zorluklarla karşılaşırlar veya takım olarak gelişmek için bilgiyi paylaşmak için kodları eşleştirirler. Daha önce de belirtildiği gibi, ekip gerçek Yüksek Performans seviyelerine ulaşacaksa bu bir zorunluluktur.
Eğer Jane bu Java çabasını üstlenmeye gönüllü olursa ve bu çaba Bob'un yapması için aynı çabayı 2x veya 3x yaparsa, ne yaparsınız? Zaman içinde, ekiplerim, emek üzerinde çalışan insanlar için çaba düzeyine (LOE) / VUCK'a dayalı öyküleri boyutlandırmaya karar verdiler. Jane için kolay olmayacak ve tamamlanması bir hafta sürecek olan Guru ekibi Bob için "bu 1" demek hiç mantıklı değil, ayrıca Bob'un çift kodlama ve kod incelemesi için biraz zamana ihtiyacı var. Bu nedenle, gerçek LOE'yi yansıtmak için bu noktaları artırdık. Bir dahaki sefere benzer bir hikaye geldiğinde, Jane için 8 olan şey daha önce 5 oldu. Sonunda, herkes kolay bir 3 olduğunu kabul etti. Bu noktada, takım olarak büyüdüğümüzü biliyorduk.