Son zamanlarda hala kendini kurma sürecinde olan genç bir hacker alanına katıldım. Şanslıyız çünkü mekânın üzerinde çalışılması gereken birkaç dahili projesi var ve üzerinde çalışacak gönüllü sıkıntısı yok.
Bu projelerin nasıl organize edileceği konusunda bazı tartışmalar olmuştur. En son profesyonel deneyimim Scrum ile oldu, bu yüzden yazılım projelerimiz için bir Scrum yaklaşımı oluşturmayı düşünüyorum, ancak bunun iyi bir uyum sağlayacağından emin değilim.
Scrum'ın tam zamanlı küçük ekipler için iyi çalışmasına rağmen, bu organizasyonun doğası farklı:
- Üyeler gönüllü . Bazıları tam zamanlı öğrencilerdir. Diğerleri tam zamanlı olarak çalışır. Gerçek hayatlarının önceliği olduğundan kimseden sürekli bir katkı beklemiyoruz.
- Hemen hemen herkesin yazılım yazma konusunda uzun yıllara dayanan tecrübesi olmasına rağmen, pek çok üye profesyonel olarak veya takım halinde yapmamıştır.
- Orada hiçbir Ürün Sahibi . Bu projelerin gereksinimleri bir komite tarafından belirlenir. Bu komitenin üyeleri de uygulama üzerinde çalışacaklardır. Bu, tek, özel bir Ürün Sahibimiz olmayacağı anlamına gelir.
- Biz bir süre vermediğini (yumuşak veya sert). Projeler bittiğinde yapılacaktır.
Bunlar oldukça önemli farklılıklar, ama Scrum'ı uygulamak için engelleyiciler olacaklarına inanmıyorum. Sanırım bazı küçük değişiklikler bizi bu engelden kurtarabilir:
- Sprint'leri sabit bir hikaye noktası boyutuna, ancak akışkan süresine (zaman) sahip olacak şekilde değiştirirsek, gönüllü geliştiriciler üzerinde gerçekçi olmayan teslimat baskısı yapmadan yine de yinelemeli yayınlardan yararlanabiliriz.
- Suya da olabilir çizelgeleri burndown ve hız hesaplama. Doğru anlarsam, bunlar dev ekibi ile Yönetim arasında bir köprü görevi gören araçlar ve metriklerdir. İlerlemeyi hem geliştiriciler hem de paydaşlar için anlamlı bir biçimde bildirmeye hizmet ederler. Rapor edecek kimsemiz olmadığı göz önüne alındığında (Proje Yöneticisi, Ürün Sahibi ve dış paydaş yok) Bunu tamamen bırakabileceğimize inanıyorum.
Faydalanabileceğimizi düşündüğüm şeylerin düzeltilmesi gerekmeyecek:
- Koşullar toplama Toplantısı (ler). Herkesin bir masanın etrafında oturduğu ve Kullanıcı Öyküleri'ni tartıştığı, UI alaylarını çizer ve bir Ürün İş Listesi oluşturur.
- Sprint Retrospektifleri . Bu, gönüllülerden oluşan bir ekip olarak bizim için çalışan bir geliştirme sürecine yaklaşmamız için ilginç bir yol olacaktır.
Emin olmadığım şeyler:
- Günlük Stand-Up'lara nasıl davranılmalıdır? Onlar bizim ortamda hiç çok değer olurdu merak ediyorum. Stand-up ritüeli hakkındaki anlayışım, ekip boyunca doğal olarak bilgi dağıtarak iletişime yardımcı olmasıdır. Sprintlerimizin muhtemelen ortalama bir Sprint'ten çok daha az karmaşıklık sağlayacağı düşünüldüğünde, diğer tüm ekip üyelerinin ilerlemelerinden / gelişmelerinden haberdar olmak için daha az ihtiyaç olabilir.
- Sürekli Entegrasyon, Kod İncelemeleri ve TDD gibi XP şeylerini zorlamalı mıyım ? Bunun çok şey isteyeceğinden endişeliyim. İnsanlar Scrum'a daha aşina olduklarında ve ekip olarak çalıştıklarında, bu kavramları gelecekteki projelere getirmeye daha cazip geleceğim.
Sorularım:
Scrum gönüllü tabanlı bir ortama uyarlanabilir mi?
Ve planladığım yaklaşım şimdiye kadar doğru yönde mi gidiyor?