Daha önce çevik yöntemlere dönüşümle ilgili yazılar
kaleme almıştık (İlgili Makaleler: Çevik Yöntemlere Yolculuk, Çevik Yöntemlere Dönüşüm). Çevik yöntemlere dönüşümde hemen herkesin aklına küçük
ekiplerin bir arada çalıştığı üretken ortamlar geliyor. Dahası çevik
yöntemlerin küçük firmalar ve aynı yerde çalışan ekipler için uygun olduğu
düşünülüyor. Peki, büyük ekipler, farklı yerlerde çalışan takımlar ve kurumsal
şirketler çevik yöntemlere geçebilir mi? Örneğin 500 çalışanı olan bir ar-ge
bölümü, çevik yöntemlerle çalışabilir mi? Ya da dünya çapında 5 farklı ülkede
ofisi olan bir firmada çevik yaklaşımlar uygulanabilir mi?
Ekipteki kişi sayısı arttıkça, takımlar farklı yerlerde
(farklı ülke, şehir veya ofis) çalıştıkça, kurumsallık yükseldikçe çevik
yöntemleri oldukları gibi uygulamak giderek zorlaşıyor. Ya kurumdaki rolleri ve
süreçleri eğip bükerek çevikleştirme yoluna gidiliyor, ya da çevik yöntemleri
eğip bükerek kurumlara özgü “çevik ama ...” yöntemler türetiliyor. Hangisi
yapılırsa yapılsın, bir şeyler yerli yerine oturmuyor ve bir süre sonra eski
alışkanlıklara dönüş eğilimi başlıyor. Bütün bunları aşarak gerçekten
uygulamayı başarabilen kurumlarda ise arka planda çevik şövalyeleri
diyebileceğimiz insanların olağanüstü gayretleri oluyor. Bu insanların
motivasyonlarını yitirmeleri veya kurumdan ayrılmaları durumunda geçmişe dönüş
hemen başlıyor.
Büyük ekiplerin çevik yöntemlerle çalışmasındaki
zorluklar dünyada epeyce kafa yorulan bir alan. Buna yanıtlardan birisi son
birkaç yıldır duyulan LeSS (Large Scale Scrum). Craig Larman ve Bas Vodde’nin öncülüğü yaptığı bu
yöntem Scrum’ın temel felsefesine bağlı kalarak, büyük ve çok büyük ekipler
için iki farklı çatı öneriyor. İlk
çatıda 10’a kadar Scrum takımının aynı ürün üzerinde çalışabileceği bir
sistematik öneriliyor. İkinci çatıda daha kalabalık ekiplerin örneğin birkaç
bin kişinin çalışabileceği bir yapı sunuluyor. Her iki çatıda da tek bir Ürün Sahibi (Product Owner), tek Ürün İş Listesi (Product Backlog) ve sabit süreli Sprintler yer alıyor. Scrum’in temel prensipleri korunmak kaydıyla birinci
çatının bildiğimiz Scrum’dan farklı olduğu noktalar:
- Sprint planlamanın iki aşamalı olması: İlkine her takımdan ikişer kişinin katılıyor ve ürün sahibi ile birlikte hangi takımın hangi işi seçeceği konuşuluyor. Burada kritik nokta takımların farklı yazılım katmanlarında uzmanlaşmış olmak yerine uçtan uca geliştirme yapabilecek şekilde oluşturulmuş olması bekleniyor. Bu sayede bütün takımlar gözle görülür çıktılar üreterek demo yapabiliyorlar. İkincisini ise takımlar kendi içlerinde yapıyorlar, farklı takımlardan kişiler diğer takımlardaki planlamayı izlemek isterlerse kapılar sonuna kadar açılıyor.
- Günlük Toplantılar, Scrum’la aynı olmakla birlikte takımlar birbirlerinin toplantılarını izleyebiliyorlar.
- Takımlar-arası Koordinasyon Toplantıları: haftada en az bir kez, SoS (Scrum of Scrums) ya da benzeri bir toplantı ile takımların birbirlerindeki gelişmelerden haberdar olması sağlanıyor.
- İş Listesi Sadeleştirme (Product Backlog Refinement) toplantıları da iki aşamalı yani takımlararası ve takım içi olarak yapılıyor.
- Sprint Gözden Geçirme (Sprint Review) ise tüm takımların katıldığı ve daha çok bir teknoloji fuarı havasında geçen, tüm takımların kendi demolarını yapabileceği bir ortamda gerçekleştiriliyor.
- Retrospektifler (İlgili Makale: Çevik Yöntemlerde Retrospektif) de yine iki aşamalı olarak yapılıyor.
İkinci çatıda ise bir ürün sahibinin tüm takımlara yetişemeyeceği
ve ofislerin farklı yerlerde olabileceği varsayımıyla Yerel Ürün Sahipleri
(Local Product Owner) görev yapıyor. Ürün İş Listesi tek olduğu için takımların
çalışmaları tek yerden takip edilebiliyor. Toplantı ve iş akışları ise
yukarıdaki yaklaşıma uygun gerçekleşiyor.
Büyük ölçekli ekiplerin uyumlu çalışmasındaki temel konu
koordinasyonun sağlıklı yapılabilmesi. Bu amaçla LeSS içinde alttaki yaklaşımlar
öneriliyor:
- Devamlı ve kesintisiz entegrasyon
- Takımların tamamına açık kodlar ve standart kodlama yaklaşımı
- Uçtan uca geliştirme yapabilen dikey takımların kurulması
- Pratik Toplulukları (Communities of Practice) ile takımlar arası mimari, standartlar, kullanıcı deneyimi gibi konuların yönetimi
- Takımların yönettiği yazılım derleme sistemi
- Ve tabi ki daha fazla iletişim ve konuşma :)
Kaynakça:
- less.works
- Larman C., Vodde B., 2013 Scaling Agile Development, CrossTalk.
- Larman C., Vodde B., 2010 Practices for Scaling Lean & Agile Development, Addison-Wesley.