Scrum'ın tanımlanmış rolleri olan bir takım için nasıl çalışmasını sağlamak gerekir?


13

Bazı arka plan bilgileri

Kurum içi yazılım geliştirme ekibinin bir parçasıyım. Bu oluşmaktadır

  • 5 geliştirici (2 ila 5 yıl arasında değişen deneyimlerle, onlardan biriyim)
  • 3 uygulama personeli (yazılım dağıtımını ve eğitimini yaparlar)
  • ve 1 proje yöneticisi.

Çok sayıda küçük ve orta ölçekli proje geliştiriyoruz ve zaman çizelgeleri genellikle çakışıyor. Gelişim şöyle gider:

  1. "Müşteri" bize bir dizi başlangıç ​​gereksinimi verir
  2. Sistemi belirtilen spesifikasyona göre geliştiriyoruz
  3. Söz konusu sistemi "istemciye" sunmak
  4. "Müşteri", söz konusu sunuma dayalı olarak bize ek gereksinimler sağlar
  5. "İstemci" yeni gereksinimler tükenene veya dağıtım hedef tarihi kapanana kadar 2-4'ü tekrarlayın
  6. Sistemi kurma ve dağıtma

Bu, çoğu zaman teslim tarihlerini işleyen "müşteri" olmasının yanı sıra (burada Programcılar ve PM.SE'de gördüğüm kırmızı bayraktır) ve kesin bir geliştirme metodolojisi yol açmıyoruz kovboy kodlama, neredeyse sürdürülemeyen kod ve üretimden geçen hatalar, diğer şeylerin yanı sıra. Bu yüzden Scrum gibi Çevik tabanlı bir metodoloji benimsemeyi seçtik.

Neden Scrum?

Bu bizim yöneticimizin inisiyatifiydi ve mevcut durumumuz göz önüne alındığında herkes bu konuda hemfikir görünüyor.

Scrum ile ilgili sorun

Scrum'ın bazı unsurları, özellikle Agile geliştiricilerinin "all-all-trades" niteliği ile kolayca ele alamadığımız mevcut düzenimizle çatışıyor. Dağıtım ekibi nasıl programlanacağını bilmiyor ve geliştiricilerin ortalamanın altında iletişim ve eğitim becerileri var. Ve bu kadro yakında hiçbir zaman değişmeyecek.

Soru

Scrum'ın bir metodoloji olarak etkinliğini etkiler mi? Telafi etmek için başka değişikliklerin yapılması gerekir mi? Yoksa düşünceyi tamamen terk etmek ve farklı bir metodoloji düşünmek daha mı iyi olur?


17
"Neden Scrum?" paragraf oldukça önemlidir ve şu anda aslında boştur. Görünüşe göre müdürünüz şu anda yaptığınız işi sevmiyor ve Scrum'a rastgele karar veriyor.
RemcoGerlich

4
çevik (scrum veya başka türlü) bir ortamda uzmanlar için kesin bir rol / yer vardır. İnsanların uzmanları “yasaklamak” için uzmanlık alanı olmayan şeylere atlamaları beklenir. Bunun yanı sıra neden kanban değil de scrum seçtiğinizi açıklayabilir misiniz? Bu, sürekli gereksinimlerin sürekli tekrarlanması göz önüne alındığında, sabit gereksinimlerle en iyi şekilde çalışan önceden tanımlanmış süratlere sahip olandan daha iyi uyuyor ...
Elias Van Ootegem

12
5 geliştirici ama tek bir testçi değil mi?
Apfelsaft

8
@ Tüm işlemlerin (bireysel) krikosunu çapraz fonksiyonel (takım) ile karıştırıyorsunuz.
guillaume31

6
Popülerlik. Her zaman bir şey seçmenin en iyi yolu.
Robert Harvey

Yanıtlar:


17

Aslında, şu anki çalışma şekliniz düşündüğünüz kadar Scrum'dan o kadar uzak değil.

Scrum'da ayrıca bir başlangıç ​​gereksinimleri seti alırsınız, bunları uygular ve sonucu gösterirsiniz ve gösteriye dayanarak size yeni gereksinimler verilebilir veya paydaşlar ürünün daha fazla geliştirmeye gerek olmayacak kadar iyi olduğuna karar verebilir.
Sizin durumunuzda, bahsettiğiniz "müşteriye" Scrum'da Ürün Sahibinin rolü verilebilir (proje içindeki öncelikleri belirleyerek ve ne zaman kullanıma hazır hale getirileceğine karar vererek bu rolü zaten doldurmuş gibi görünüyorlar).
Büyük bir değişiklik, bir yinelemenin uzunluğu olabilir. Scrum'da, bir yineleme 1 ila 4 hafta arasında bir yerde sürmelidir.

Takım kompozisyonu ve gelince becerikli kimse yanılgı: Scrum yok değil bir becerikli kimse olmaya herkesi gerektirir. Scrum, ekibin bir bütün olarak ürünü bir gereksinimler listesinden dağıtılan / dağıtılabilecek bir şeye götürmek için gerekli tüm yetkinliklere sahip olmasını gerektirir.
Sizin durumunuzda, proje başına bir veya daha fazla geliştiriciden (çoğunlukla uygulama ve test çalışmasını yapan) ve "uygulama personelinin" üyelerinden oluşan ve çoğunlukla özellikler için kılavuzlar ve eğitim materyali oluşturmaya odaklanan bir ekibi kolayca görebiliyordum. geliştiriciler şimdi uyguluyorlar.

Müşteri / Ürün Sahibi dağıtım için yeşil ışık verdikten sonra, scrum ekibinin işi çoğunlukla yapılacaktır, böylece geliştiriciler başka bir projeye gidebilir (ve yalnızca dağıtım sonrası sorunların düzeltilmesi için talep üzerine kullanılabilir) ve uygulama personel eğitimin gerçekleştirilmesine ve sunumun desteklenmesine geçebilir.

Son sürümün olması, bu sürümde hangi işlevsellikte olması gerektiği konusunda yeterli esneklik olduğu sürece gerçek bir sorun değildir.


2
Scrum ve diğer Çevik metodolojilerin getireceği bir değişiklik, ürünün / tüm özelliklerin, her yinelemenin sonunda "gönderilebilir bir durumda" "yapılması" gerektiğidir.
stannius

5

Alternatif istersiniz, bu yüzden eXtreme Programming (XP) diyeceğim. Özellikle çift programlamanın burada size yardımcı olabileceğini düşünüyorum.

Farklı becerilere sahip insanları bir araya getirerek, hangi yeteneğin önemli olduğu önemli değildir: kahve yapma, test etme, eğitim vb. Becerileri takımın etrafına yayabilirsiniz.

Ama dürüst olmak gerekirse, SCRUM sizin için bu kadar uzakta gibi görünmüyor. SCRUM'un bir kısmı esnek olmak ve ekibiniz için en iyisini bulmaktır. XP'nin bir kısmı ekibinize saygı duyuyor ve uyum sağlıyor. Belki 100 yıllık bir sürede, zor ve hızlı kurallarla daha gelişmiş bir mesleğe sahip olabiliriz (şüphe etmeme rağmen) ama şimdilik, sizin için işe yarayan şeyi yapmak bizim elimizde. Önemli olan geri bildirim döngülerine sahip olmaktır. Bir şey işe yaramazsa, ekibin bunu tartışması ve işe yarayan bir şey bulana kadar yeni şeyler denemesi gerekir.


3
XP için +1. Soru, Scrum'ı benimsemenin temel nedeninin, "belirli bir geliştirme metodolojisini takip etmemenin kovboy kodlamasına, hemen hemen sürdürülemez kodlara ve üretimden geçen hatalara yol açtığını" belirtiyor - Scrum bunun için çok az şey yapacak veya hiçbir şey yapmayacak. herhangi bir teknik uygulama öngörmez ve sadece teknik uygulamalar bu sorunları çözecektir. Yapan birçok çevik çerçeve var, XP, Scrum'a iyi bilinenlerden en yakın aday olması nedeniyle muhtemelen en iyi aday.
Jules

3

Scrum'ın tanımlanmış rolleri olan bir takım için nasıl çalışmasını sağlamak gerekir?

Sadece yap. Scrum rehberine göre, herkes bir geliştirici ama burada dünya gezegeninde, farklı insanlar masaya farklı şeyler getirecek. Ben neredeyse linç var diğerleri yazılım yazarken bazı insanlar test gerçekten olduğunu ileri sürdü zaman.

Ele almak isteyebileceğiniz bazı şeyler:

sprint

Görünüşe göre ilk gelişim aşamasına ve ardından görünüşte sprint olan bir seriye sahipsin. Bunu parçalamayı düşünün. Müşteri sadece bir şeyi erken görmeyecek, aynı zamanda gelişim aşamaları hakkında daha iyi bir fikir edineceksiniz.

Sabit son tarihler

Bu zaman zaman tekrar ortaya çıkıyor ve aslında şu anda çalıştığım devs tarafında kalıcı bir diken. Scrum sprint için tahminleri belirler - başka bir şey değildir. Evet, bir dizi sprintten sonra hedefe vurabilirsiniz, ancak müşterinin ilk sürümlerini gördükten sonra kapsamın önemli ölçüde kayması muhtemeldir. Bu kendi başına bir sorun değildir, ancak müşteri daha sonraki çalışmalarda daha fazla çalışmanın yapılacağı ve bilinen gereksinimlerin üzerinde ve üstünde olacağının farkında olmalıdır.


Scrum'ın korkunç bir yanlış karakterizasyonuna neyin benzediğine dikkat çekmek için: herkes bir geliştirici değildir - uzman üyelere sahip olabilirsiniz ve olabilirsiniz, ancak geliştirme ekibinin bir parçasıdır ve bu ekibin sprintlerinin çıktısından sorumludurlar. Scrum kurulumumuzda test ediciler, yapılmayanları test edemedikleri için geliştiricilere karşı ne üzerinde çalıştıkları konusunda genellikle birkaç sprint arkasındadırlar, ancak ihtiyaç duydukları test planlarını ve olası test verilerini oluşturuyorlar. Ana özelliklerle uğraşırken, eski hata düzeltme moduna giriyoruz ve yayın kesimine yetişirken yamayı hazırlıyoruz.
Duffy

3
Gerçekte, test edicilerin domuz yerine tavuk olarak muamele edildiğini öne sürdüğünüz için "linç edildi" (en azından bu yüzden bu cevabı düşürdüm) ...
David Arno

@ Katılıyorum kabul ediyorum - geliştiriciden başka bir başlık yok , ancak gerçekte roller genellikle geleneksel çizgiler boyunca düzenleniyor.
Robbie Dee

@DavidArno Bizim dükkanda onlar. Aslında, Duffy'nin ana hatlarıyla özdeş bir düzenimiz var. Testçilerimiz bir iki adım daha koşar. Ovmak, hangi ekip üyelerinin geliştirme ekibi olduğunu düşündüğünüzdür. Yazımda özetlediğim gibi , sadece DBA'ların ve yapı yöneticilerinin vanilya devleri YMMV ile aynı şekilde kutulanabileceğini kabul etmiyorum.
Robbie Dee

Zaman kutusunu oldukça iyi yönetiyoruz, test tahminleri için bağırsak tahminine göre daha zor bir süreç olduğu için biraz farklı düşünme ve süreç gerekiyor, ancak genellikle çok daha güvenilir zaman tahminleri ile sonuçlanıyorlar ( ilk geçiş testi) devs'ten daha çok çalışmamızın doğası ve bizimkine göre. Ben ekibin DBA / DB Geliştiricisiyim ve bir sprint'e tamamen iyi uyuyorum, bu yüzden başkaları için iş akışına nasıl uymadıklarından emin değilim.
Duffy

3

Durumunuz Kanban için daha iyi bir eşleşme olabilir, çünkü oradan başlayabilir ve oradan tekrarlayabilirsiniz. Bu, mevcut projelerinizi bozan büyük bir patlama tanıtımına sahip olmayacağınız anlamına gelir - sadece bir tahtadaki görevleri görselleştirerek ve retrospektifler ve günlük toplantılar gibi bazı uygulamaları benimseyerek başlayın.

Scrum'a göre biraz daha dikkatli olmalısın çünkü o kadar kuralcı değil: bu yüzden uygun bir çevik zihniyet aşılamak yerine daha önce gitmiş olanlara geri dönme eğilimi var.


0

Scrum, üst üste binen ayrı projelerle iyi çalışmaz, çünkü tüm sprint için bir proje üzerinde çalışan istikrarlı bir insan grubunuz yoktur. Bu yüzden ayrıntı düzeyi gibi kavramlar sadece sizi üzüyor.

Ancak önce müşteriye en iyi maliyeti / faydayı veren hikayeyi almak ve tam otomatik test de dahil olmak üzere, bir sonraki hikaye üzerinde çalışmadan önce konuşlandırılacak kadar iyi bir kaliteye uygulamak faydalı bir kavramdır. Benzer şekilde, bir öykü için yazılan tüm kodların öykü "tamamlanma" olarak değerlendirilmeden önce başka bir geliştirici tarafından incelenmesini gerektirir.

Uygulama personelinizin eğitim ve referans belgeleri yazması gerektiğini düşünüyorum, kod yazılmadan önce her hikaye için yazılabilir (ilk taslak) ve böylece kabul testleri haline gelebilir.

Uygulama personelinin girdisinin geliştiricilere en fazla yardımcı olacağı her projenin başında, bir önceki projenin dağıtımına% 100 bağlı olduklarını göreceksiniz. Bu nedenle, geliştiriciler mevcut projenin kodunu yazarken, uygulama personelinin bir sonraki proje için hikayeleri ve kullanıcı belgelerini yazmaya çalışıp çalışmadığını düşünün.

Testlerde kullanılan örneği yazan uygulama personeli ile “davranış odaklı gelişim” işe yarayabilir.

Bu yüzden size yardımcı olacak biraz Scrum var, ama Scrum'ı kullanmak yerine Scrum'dan eğilmeye çalışın.


"Dolayısıyla ayrıntı gibi kavramlar ..." - hız mı demek istediniz?
Robbie Dee

Bu, farklı departmanlarda farklı zamanlarda farklı şeyler isteyen büyük kurumsal uygulamalarda olsaydı, Scrum da bunun için kötü bir uyum olurdu?
JeffO

@jeffO, bir kişinin departmanlar arasında karar verme yetkisine sahip olması şartıyla scrum ile çalışabilir.
Ian

@Ian - Bu sadece bir proje sahibine sahip olmak için iyi bir neden ve projeler birinin uygun gördüğü kadar küçük veya büyük dilimlenip kesilebilir.
JeffO
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.