Çevik Proje Yönetimi

Agile proje yönetimi nedir

Mehmet Hepkorucu: Bilgi Teknolojileri Koordinatörü

Son zamanlarda sıkça duyduğumuz Çevik Proje Yönetimi, 90’lı yıllarda büyük IT projelerinin başarısız olmaları neticesinde, proje tümüyle bitmeden, proje çıktılarını görebilme, test edebilme ve duruma göre hedefleri değiştirmeyi, güncellemeyi sağlama ve klasik proje yönetiminde çıkan bazı darboğazlara çözüm üretmek amacı ile ortaya çıkmıştır. Bunu yaparken konvansiyonel proje yönetim yaklaşımlarından oldukça farklı bir teknik uygulanmaktadır.

Çevik Proje Yönetimi projeyi aşamalı olarak geliştirmeyi öngörerek, bu aşamalar sırasında mümkün oldukça esnek davranmaya olanak tanıyan ve kullanıcılarla iletişim halinde olunmasını öneren bir proje yönetim metodudur. Herhangi bir proje temelde aşağıdaki aşamalardan oluşmaktadır.

  1. Proje Fikrinin Oluşması
  2. Hazırlık
  3. Planlama
  4. Üretim / Gerçekleştirme
  5. Test
  6. Onay
  7. Proje kapanış

Üzerinde çalıştığımız bir projeyi düşünelim, yukarıdaki ilk 4 aşamayı aylarca süren meşakkatli bir süreçten sonra tamamlayıp, teste gönderdiğimizi varsayalım. Projenin hazır olduğunu düşünürken test aşamasında, ön hazırlık veya planlama kurgusunda yapılmış olan bir hata tespit edildiğinde ne olacak? Test aşamasına gelinen bir projede, kurgunun güncellenmesi neredeyse süreci en başa alacaktır. Hal böyle olunca da projenin maliyeti, teslim edilme zamanı hedeflerin oldukça dışına çıkacak, proje başarısız olacaktır. Belki de tümüyle çöp haline gelecektir.

Geleneksel yöntemler kullanılan projelerde analiz ve tasarım süreci için uzun zaman ayrılmaktadır. Bu zaman dilimi içinde projenin tüm gereksinimleri öngörülmeye çalışılmaktadır. Süreç boyunca müşteri ile iletişim az olduğu için çıkan ürün müşteri ihtiyacını karşılayamamaktadır. Proje yürütülürken yapılması gereken değişiklikler çok sonra fark edilmektedir. Bütün bu sebeplerden ötürü geleneksel yöntemler başarısız olabilmektedir. Bu gibi durumların önüne geçmek için Çevik (Agile) proje yönetimi geliştirilmiştir.

Proje yönetim metodunu değiştirmenin ne kadarlık bir kayıp-kâr anlamına geldiğini şu grafikler üzerinden daha net görebiliriz.

Büyük kapsamlı yazılım projelerinde Çevik Proje Yönetimin, Şelale Proje Yönetimine göre %15 başarılı olduğu görülmektedir.

Benzer şekilde küçük boyutlu yazılım projelerinde, Çevik Projelerde başarı oranı %14 daha fazladır.

Teknoloji dünyasında dinamiklerin geçmişe oranla çok daha hızlı değiştiğini gözlemliyoruz. Yeni bir teknoloji ile kullanıcılar yeni alışkanlıklar ediniyor veya ihtiyaçlar bir anda değişebiliyor. Geleneksel proje yönetim metodolojileri detaylı tanımlanmış süreçleri ile kapsamı net işlerde başarılı olurken dinamikleri hızla değişen endüstrilerde hantal kalıyorlar.  Eğer müşteri gereksinimleri iyi anlaşılmışsa ve değişmeyecekse, teknoloji güncel ve sabit ise ve insanlar tahmin edildiği şekilde davranış gösteriyorsa geleneksel yöntemlerin başarılı olacağını söyleyebiliriz. Ancak gerçekte projelerin başlangıçtaki gereksinimleri büyük oranda değişir; teknoloji hızla değiştiği için buna uyum sağlamak sorun yaratır ve insanlar önceden tahmin edilemez şekilde farklılaşmalar gösterirler. Proje, bütçe ve kapsam dahilinde, zamanında gerçekleşmiş olsa bile müşteriye yarattığı değer açısından başarısız olabiliyor. Çevik Proje Yönetimi, Metodolojileri, Yönetimsel ve Teknik Araçları ve Uygulamaları ile yüksek iş değeri üretmeyi amaçlıyor ve bunu yaparken de kaliteyi, zaman ve bütçe kısıtları içerisinde sağlama olanağı sunuyor.

En temelde çevik proje yönetim modelinin asıl amacı, başarısızlığı azaltmak, verimliği artırmak ve sorunu en sonra görmek yerine küçük küçük parçalar halinde ilerleyerek, varsa, sorunu en başta görmek ve buna göre aksiyon almaktır. Küçük iterasyonlar haline nihai hedefe giderken, sonuçları aşamalar halinde görmek ve tek aşamada büyük bir lokma yutmak yerine, küçük küçük lokmalar halinde yemeği yiyebilmektir.

İterasyon, yapılmak istenen projeyi küçük ve çalışan parçaları bir araya getirerek tamamlama işlemidir.

Her bir iterasyonda, şelale modelinin tamamı yürütülmekte, proje küçük parçalara ayrılarak tamamlanmaktadır.

Şelale modelinde proje testi proje tümüyle tamamlandığında yapılırken, Çevik süreçte, her bir iterasyon sonucunda, projenin çalışan parçaları ayrı ayrı test edilir ve geri bildirim aşamasında, projenin ilgili kısmına entegre edilir.

Çevik Proje Yönetimin bize sağlayacağı avantajlara bakacak olursak, Iterasyonlar arasında zaman kısa olduğundan, aniden ortaya çıkan değişiklik ihtiyaçları hızlıca organize edilip, projeye dahil edilebilir. Tamamlanan her iterasyonda ortaya çıkan ürün test edilebilir ve projeyi talep edenin test geri bildirimleri alınabilir. Çevik Proje Yönetimi, aynı zamanda, şeffaf bir ortam sağlamaktadır.

Çevik proje yönetim modeli altında birçok proje yönetim metodu vardır. Bunlar,  SCRUM, Extreme Programing (XP), Feature Driven Development (FDD), Lean Development, Kanban, PRINCE2  metotlarıdır.

Çevik Proje Yönetimi yaklaşımı oluşturulurken Çevik manifesto kurucuları tarafından öngörülmüştür. Bu manifestoya göre

  • Bireyler ve arasındaki etkileşim, kullanılan süreç ve araçlardan daha önemlidir
  • Prototip ürün, anlaşılır dokümantasyondan daha önemlidir
  • Müşteri ile ilişki, müşteri sözleşmesinde yazanlardan daha önemlidir
  • Değişime adapte olmak, yapılan plana ne olursa olsun bağlı olmaktan daha önemlidir.

Bob Hartman agile düşünme tarzını 10 maddede şöyle özetliyor: *

  1. Daha küçük düşün.
  2. ”Nasıl daha iyi oluruz?” diye düşün ve uygula.
  3. İşbirliği yap.
  4. “Ekip ne düşünüyor?” diye sor.
  5. Her zaman riskleri düşün.
  6. Kök sebeplere odaklan, sorunları ortadan kaldırmaya değil.
  7. Hatayı üç koşulla kabul et : hata çabuk ortaya çıktığında, yapılan hatadan öğrenilecek şeyler çıkarıldığında, hatanın tekrarlanmayacağına emin olduğunda.
  8. Doğru metriklerle etkiyi ölç.
  9. Farklı görevlere sahip ekip üyelerinin bakış açılarını dikkate alarak karar ver.
  10. ”Her yeni işi kabul ederken mevcut sistemin doğru çalıştığına nasıl emin olabilirim?” diye sor.

“Çevik olmak” aslında bir düşünüş biçimidir. Verimli ve üretken bir şekilde değişime adapte olup müşteriye yüksek değer üretmeye çalışmaktır. Bu düşüncenin temeline konulan bazı değerler var. Bunlar ekip olmak, iletişim, değişime adapte olabilmek hatta değişimi yaratan taraf olabilmektir. Müşteriyi ayrı bir taraf olarak değil, hedefe birlikte koşan ekibin bir parçası olarak görmektir. Yönetimsel ve teknik araçları kullanmak Çevik yaklaşımı sağlasa da asıl başarı zihniyet değişimi ile sağlanabilir. Ekip olabilmenin önemini kavrayarak, iletişimi arttırarak, kişilerin insiyatif aldığı ve kendini geliştirdiği bir kültür oluşturmak ve çevik düşünce tarzını içselleştirmek çok önemlidir. Böylece çevik proje yönetimini uygulamaya çalışan organizasyonlar değil; sorunlara ve ihtiyaçlara çevik refleksler geliştiren organizasyonlara ulaşabiliriz.

Çevik metoda göre;

Önemli Az Önemli
Kişiler ve takım çalışması Süreç ve araçlardan
Portatif ürün Detaylı dokümantasyondan
Müşteri ile beraber çalışmak Sözleşme ve anlaşmalardan
Değişime açık olup, uygulamak Plana bağlı kalmaktan

Scrum Nedir?

Scrum agile proje yönetim metodolojilerinden biridir. Kısa döngülü çıktı üretme ve geri bildirim düşüncesine dayanır. Proje için önemli gereksinimleri öncelikli olarak geliştirmeyi hedefler. Proje zamanı boyunca ihtiyaç duyulan değişiklikleri kolayca uygulayabilir. Scrum’ın getirdiği yeniliklerden birisi, proje ilerlemesini açık ve devamlı şekilde gösteren, sorumlulukları, hedefleri ilerlemeleri tek bir panoda, şeffaf ve açık olarak göstermektir. Bu pano sayesinde proje ekibinin tamamı projenin durumunu anında görebilmektedir. İş planları şeffaf olarak yapıldığı için, herkesin üzerindeki iş yükü panoda görülebilir, scrum toplantılarda, tüm katılımcılar sorumlulukları ile ilgili geri bildirim verdiği için, olası gecikmeler, sorunlar büyümeden engellenebilir.

Örnek bir scrum süreci ve takip sistematiği

  • Proje sorumlusu (Project Owner) geliştirilmesi gereken tüm özellik ve fonksiyonları öncelik sıralarına göre toplayarak ürün geri kaydı (Product Backlog) hazırlar.
  • Takım belirlenir ve “Sprint Planning” denilen en fazla 3-4 hafta sürecek olan küçük döngülerle (Sprint) işe başlanır. Her döngü için ürün geri kaydından önemli gereksinimler seçilerek sprint geri kaydı (Sprint Backlog) oluşturulur ve sprint boyunca bu gereksinimler geliştirilir.
  • Takım bu “Sprint” süresince haftada en az 2 gün Scrum Master liderliğinde bir araya gelir ve en fazla 15 dakika içerisinde her takım üyesi kendi ilerlemesini kısaca belirtir. Her gün yapılan ve 15 dakikayı aşmayan bu toplantılara Daily Scrum Meeting denir. Sprint süresince Burndown Chart denilen kalan gereksinimler/geçen zaman grafiği güncellenir.
  • Sprint bittiği zaman bir “Sprint Review” raporu çıkarılır ve sprint süresince ortaya çıkan sorunlar ortadan kaldırılarak bir sonraki sprint rahatlatılmış olur.
  • Sprint içerisinde biten özellik ve fonksiyonlar müşteri veya müşteri temsilcisine gösterilebilir.

Yeni bir sprint için tekrar gereksinimler seçilir ve tekrar sprint hayat döngüsü başlar.Scrum’da müşterinin üründen beklentileri karşılaması ilk önceliktir. Yukarda anlatılan süreç proje tamamlanana kadar sürekli uygulanır ve her süreç sonunda kaliteli ürün teslimatıyla müşteri memnuniyetini sağlanır. Müşteri de bu sürecin içinde aktif olarak rol alarak proje gelişimini takip eder. Düzenli aralıklarla ekipler kendi yöntemlerini gözden geçirerek verimliliği arttırmak için gerekli iyileştirmeleri yaparlar.

Özetle, çevik yöntemler ağırlıklı olarak yazılım geliştirme projelerinde kullanılsa da esnek yapısı sayesinde her türlü projede uygulanabilir. Başarı oranları geleneksel yöntemlere göre daha yüksektir. Ayrıca çevik yöntemleri kullanan projeler sadece daha başarılı olmakla kalmayıp; aynı zamanda değişen müşteri ihtiyaçlarına daha hızlı yanıt vererek riskleri en aza indiriyor ve daha kaliteli ürünler sunuyorlar.

Çevik Yazılım Geliştirme Manifestosuna göre;

Süreçler ve araçlardan ziyade bireyler ve etkileşimlere
Kapsamlı dokümantasyondan ziyade çalışan yazılıma
Sözleşme pazarlıklarından ziyade müşteri ile işbirliğine
Bir plana bağlı kalmaktan ziyade değişime karşılık vermeye değer verilmektedir.  Özetle, sol taraftaki maddelerin değerini kabul etmekle birlikte, sağ taraftaki maddeleri daha değerli bulunmaktadır.

Çevik kalın, projelerle kalın!

Kaynaklar:

[1]  http://www.scrumalliance.org

[2]  https://www.cio.com/article/3174516/project-management/it-project-success-rates-finally-improving.html

[3]  http://www.ua.gov.tr/docs/default-source/erasmus-/proje-planlama-ve-proje-y%C3%B6netim-s%C3%BCre%C3%A7leri-1.pdf?sfvrsn=0

[4]  http://www.mmo.org.tr/resimler/dosya_ekler/66b78a0d08fff91_ek.pdf

[5]  http://www.projeyonetimiofisi.com/bilgi-birikimi-makale-detay?makaleId=3

[6]  http://tr.wikipedia.org/wiki/Scrum

[7]  http://agilemanifesto.org/

[8] https://www.pmi.org/learning/library/agile-project-management-scrum-6269