Çevik (Agile) Proje Yönetimi ve PMBOK Kılavuzu - II

Yazarımız Dilek Çıplak'ın yeni yazısı sizlerle.

Bir önceki yazımızda; PMBOK Kılavuzu, proje yönetimi için “en iyi pratikleri” içeren ve şelale  ya da çevik yaklaşımların tümü için uygulanabilir bir çerçeve sunan bir rehberdir demiştik.

Çevik bazlı metodların da PMBOK ile çerçevesi belirlenen proje yaşam döngüsü ve süreç gruplarını baz aldığını örneklendirmek için,  bu iki başlığı ayrı ayrı ele alalım.

Proje Yaşam Döngüsü
PMBOK ile tanımlanan proje yaşam döngüsü (Şekil-1) projeye dahil olan organizasyonların kontrol ihtiyaçları dikkate alınarak belirlenen sayıda ve isimde sıralı (sequential) proje fazlarından oluşur. Bu fazlar belirli bir teslimat ortaya çıkarmaya yönelik birbiri ile ilişkili aktivitelerin mantıksal gruplamasıdır.
Şekil-1 – Proje Yaşam Döngüsü Fazları (PMI)
Geleneksel yazılım geliştirme yaklaşımlarında, bu fazlar çoğunlukla şelale metoduna (Şekil-2) uygun olarak takip edilmiştir. Örneğin fazlardan birisi Tasarım olarak belirlenip, bu faz için teslimat olarak system tasarım dokümanı belirlenebilir. Çoğu zaman bir sonraki faza geçiş için onay ve imza (sign-off) gerekliliği vardır. Ancak tüm bu uygulamalar seçilen metodoloji ile ilgilidir, PMBOK tarafından zorlanan bir durum değildir.
 
Şekil-2 – Yazılım Geliştirme Şelale Yaklaşımı (Royce, 1970)
Çevik proje yaşam döngüsü ise iterasyon adı verilen sıralı proje fazlarından oluşur ve her bir fazın sonunda teslimat olarak “çalışan bir kod” ortaya çıkarılır. Şelale yaklaşımında tüm proje için sıralı olarak uygulanan aşamalar – analiz, tasarım, geliştirme, test- çevik projelerde geliştirilen kodun artımlı olarak devam ettirilmesi hedefiyle her bir faz için uygulanır.

Proje yaşam döngüsü tanımında yer alan “organizasyonların kontrol aşamalarına uygun olarak belirlenen sayıda” proje fazı ise çevik projelerde iterasyon süresi ve sayısı ile birebir aynıdır. Çevik yaklaşımlarda, iterasyon sayısı müşterinin belirli bir sürüm için kabul edeceği minimum fonksiyonalite baz alınarak belirlenir (MMF-Minimum Marketable Features). Müşterinin hangi sıklıkta ürünü kontrol etmek istediğine bağlı olarak 1 ila 4 haftalık iterasyonlar kararlaştırılabilir. Iterasyon süresinin tespitinde piyasa koşulları, ilgili sektör, risk seviyesi, ürün vizyonunun net olup olmaması gibi farklı kriterler de devrede olur.

Çevik projelerde proje yaşam döngüsünün (Şekil-3) başlangıç (Initiation Phase) fazında, ilk iterasyonun parçası olarak planlama süreci yer alır ve teslimat olarak “çalışan bir kod” ile birlikte proje için üst seviye bir proje planı sunulur. Ara (Intermediate Phases) fazlar ise “çalışan artımlı kod” şeklinde teslimatların yapıldığı sürüm ve/veya iterasyonlardan oluşur. Çevik projelerin en son fazı (Final Phase) ise tüm isterleri karşılayan ürünün üretime geçiş için yapılan son hazırlıkları, en son proje retrospektif toplantısı ve proje kapanış aktivitelerinden oluşur.
 
Şekil-3 – Çevik Proje Yaşam Döngüsünde- Faz ve Altfazlar (Agile Fractal)
Çevik projelerdeki herbir iterasyon, bir proje olarak değil projenin bir fazı veya alt fazı olarak değerlendirilebilir. Her iterasyon sonunda artımlı yaklaşım sayesinde ortaya çıkan sonucun değerlendirilmesi ve bir sonraki iterasyon öncesinde elde edilen sonuçların dikkate alınması ile daha doğru ve öğrenerek planlama yapılması mümkün olmaktadır. PMBOK ile tanımlanan “progressive elaboration-aşamalı olgunlaşma” kavramı tam da çevik projelerin “contionus improvement-sürekli iyileştirme” kavramı ile eşleşmektedir.
 
Süreç Grupları
PMBOK Rehberi’nde yer alan süreç grupları ayrı birer faz değildir. Süreç grupları, proje süresince iteratif olarak uygulanan ve gerektiğinde güncellenen bütünleşik süreçlerdir.
Şekil-4 – Plan-Do-Check-Act PMBOK Rehberi Süreç Grupları
Proje yaşam döngüsü gibi PMBOK ile tanımlı süreç grupları da çevik yaklaşımların proje, sürüm ve iterasyon seviyesinde uygulanan süreçler ile birebir örtüşmektedir.
 
Şekil-5 - Süreç Grupları ve Agile Fractal
Sonuç olarak; PMBOK Kılavuzu proje yönetiminde bilinen iyi pratikleri ve genel kabul gören standardları içermektedir.  Bu standardlar belirli bir metodolojiye özel oluşturulmamıştır. Maalesef, PMBOK ile sunulan pratikler ile yazılım geliştirme alanındaki farklı metodolojiler, özellikle şelale metodu birbiri ile ilişkilendirilmekte ve PMBOK Kılavuzunun şelale yaklaşımlara uygun pratikler sunduğu düşünülmektedir. Aslında doğru olan PMBOK Kılavuzu ile yazılım geliştirme metodolojileri karşılaştırmak değil, yazılım geliştirme metolodojilerini kendi aralarında kaşılaştırmaktır. Çevik yaklaşımlar uygulanırken de PMBOK ile sunulan genel kabul gören pratikleri ve önerileri dikkate alabiliriz.

Bir sonraki yazımızda; Çevik Proje Yönetimi ve Geleneksel Proje Yönetimi (şelale metodlara dayalı) yaklaşımları arasındaki temel farklılıkları “Agile Manifesto” ve prensiplerini dikkate alarak örneklerle açıklamaya çalışacağım.

1 yorum: