Çevik Proje Yönetimi ve Bazı Metodolojiler

Proje Yönetiminde Temel Yaklaşımlar ve Agile Felsefesi


3

Bir projeyi düzgün ve kararlı bir şekilde hayata geçirebilmek için proje aşamaları planlanmalı, bu aşamalar iyi analiz edilmeli ve farklı yaklaşımlar ile gerçekleştirilmelidir. Geçmişten beri birçok proje yönetim yöntemleri kullanılmıştır. Günümüzde geçmişe göre daha kapsamlı ve büyük çapta projelerin hayata geçirilmesi aşamasında bazı yöntemler yetersiz gelmeye başlamış, bu yöntemlerin yerini daha yeni yöntemler ve yaklaşımlar almaya başlamıştır. 

Kapsamlı bir projede birçok kişi ve bu kişilerin yer aldığı birçok ekip çalışabilmektedir. Oluşabilecek karmaşıklığı azaltmak, ekiplerin verimini maksimuma çıkarmak ve projelerin tamamlanma süresini azaltmak için verimli bir planlama gerekir. 

Proje yönetimine geleneksel yaklaşımlardan biri ise Waterfall (Şelale) Modeli’dir. Bu model sırasıyla aşağıdaki süreçlerden oluşur:

  1. Gereklilikler: Gereklilikler ve ekip rollerinin belirlenmesi.
  2. Tasarım:        Proje tasarlanır. Gereksinimlerin analizi ve yapılacak işin belirlenmesinden sonra süreç planlaması yapılır. Belirlenen süre içerisinde yapılacak işler planlanır.
  3. Uygulama:   Tasarlanan süreç hayata geçirilir.
  4. Test:               Son kullanıcı aşamasına gelindiğinde farklı senaryolar ile test aşaması başlar.
  5. Canlı:             Canlı sisteme alınır ve proje hayata geçirilir.

Görünürde bir projenin hayata geçirilmesi için herhangi bir sorun yoktur. Ancak bazı komplike projelerin “Tasarım” aşamasında gelecekte atılacak adımların net bir şekilde tahmin edilerek baştan sona düzgün bir şekilde planlanması mümkün değildir. Özellikle yazılım projelerinde yeni teknolojiler, proje geliştirme aşamasında karşılaşılabilecek farklı sorunlar, doğabilecek yeni fikirler vs. Şelale Modeli’ni güçsüz kılmaktadır. Çünkü olası güncellemelere açık değildir ve proje revizyonu oldukça zahmetlidir. Bu nedenle Agile (Çevik) Proje Yönetimi isimli bir yaklaşım oluşmuştur. Bu yaklaşım, isminden de anlaşılabileceği üzere farklı koşullara hızlı bir şekilde tepki verme ve daha hızlı hareket etme ideali ile oluşmuştur.

Waterfall ile Agile Yaklaşımının Farkı

Agile Proje Yönetimi yaklaşımında proje belirli periyorlarla (genelde birkaç hafta) canlı ortama alınır. Başta projenin daha ilkel hali olsa da, zaman geçtikçe sağlıklı ve hızlı bir şekilde gelişen bir proje elde edilir. Waterfall Proje Yönetimi’nde ise aşamalar baştan sona planlıdır ve elde edilecek ilk ürün tüm bu aşamalardan sonra elde edilir. Tüm aşamaların kusursuz planlandığı, uygulama aşamasında herhangi bir aksaklık çıkmadığı ve herhangi bir fikir değişikliğine gidilmeyen bir projede Waterfall Proje Yönetimi daha hızlı olabilir. Ancak bu şartlara yazılım projeleri uymayacaktır ve yazılım projeleri sürekli revizyona ihtiyaç duyabilir. Bu sebeple yazılım projelerinde Agile Proje Yaklaşımı hızlı, kontrollü ve verimli bir geliştirmeye olanak sağlar.

Agile (Çevik) Yazılım Geliştirme Manifestosu Aşağıdaki Maddelerle Yayınlanmıştır:

Süreçler ve araçlardan ziyade bireyler ve etkileşimlere,
Kapsamlı dökü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 vermeye kanaat getirdik.

Özetle, sol taraftaki maddelerin değerini kabul etmekle birlikte,
sağ taraftaki maddeleri daha değerli bulmaktayız.

Bazı Agile Metodolojileri:

Scrum

Scrum, projelerde karmaşıklığın önünde geçmeye ve süreçleri hızlandırmaya yardımcı olan bir çerçevedir. İsmi Rugby’de takımların kenetlenerek topu elde etmeye çalıştıkları bir oyunu yeniden başlatma yönteminden gelir. En popüler Agile metodolojilerinden biridir. Agile felsefesini temel alır. Projeyi küçük parçalara bölerek anlaşılırlığını artırır, yönetimini kolaylaştırır ve üzerinde değişiklik yapmaya olanak sağlar. Ana odakları şeffaflık, kontrol ve uyumluluktur.

Bu odaklar beş temel değer üzerinden açıklanabilir:

Taahhüt (Commitment):   Hedefleri gerçekleştirmeye tüm ekip üyeleri kişisel olarak taahhüt eder.

Odak (Focus) :                      Scrum Team’in ana odağı o Sprint’teki hedefleridir.

Açıklık (Openness) :            Scrum Team yapılacak işler ve karşılaşılacak zorluklar hakkında açıktır.

Saygı (Respect) :                 Scrum Team üyeleri her bir takım arkadaşına yetkin ve bağımsız bir insan olarak saygı duymalıdır.

Cesaret (Courage) :             Scrum Team, zorlu problemler ile başa çıkma cesaretine sahiptir.

Scrum Team içerisinde üç temel rol bulunur:

Developers:           Proje üzerinde çalışan takımdır. 

Product Owner:    Scrum Team’in ortaya çıkardığı ürünün değerini maksimize etmekten sorumludur. 

Scrum Master:      Scrum metodolojisini uygulamaktan sorumludur. Organizasyon içerisindeki herkesin Scrum’u anlamasına ve benimsemesine yardımcı olur.

Ekibin hedefleri listelenir ve Product Owner tarafından bir öncelik sıralaması oluşturulur. Belirli periyotlarda gerçekleştirilmesi gereken hedefler Developer’lar tarafından gerçekleştirilir. Bu döngüye Sprint denir. Ekip Sprint’e başladıktan sonra her gün önceki gün ve o günü kapsayan değerlendirmeler yaptığı Daily Scrum yapar. Kısaca Scrum çerçevesi bu şekildedir.

Kanban

Yapılan işleri görselleştirmeye dayanan bir Agile metodolojisidir. Proje geliştirme sürecinde yapılan somut işleri görselleştirir. Kanban, proje adımlarının sorunsuz ve hızlı ilerlemesine yardımcı olmak için uygulanır. Çoğunlukla operasyonel projelerde uygulanır.

Kanban, proje çalışmalarının görsel yönetimini sağlar. Bu sayede ekip, yaptığı çalışmaları görseller yardımıyla daha sağlıklı yorumlar ve potansiyel risklerin farkına daha çabuk ve kolay bir şekilde varır. 

Kanban Yönteminde 6 ana adımdan bahsedebiliriz:

Görselleştirme:  Kanban panosunda her sütun bir işi ve her kart o işin bir adımını temsil eder. Bu adımların sırasını doğru bir şekilde belirlemek aynı zamanda iş akışının nasıl olacağına dair bir öngörüde bulunmamıza olanak verir. 

Sınırlama:            Devam eden çalışmalara sınırlama koyularak belirlenen işler bitmeden yeni işlere başlanması önlenir.

Akış Yönetimi:     Akış verimliliğini analiz ederek sorunlu kısımlar tanımlanabilir. Akışı yavaşlatan unsurlar tespit edilebilir.

Açık Politikalar:    Süreç, ekipteki herkes için açıkça tanımlanmalıdır. Bu sayede sorumluluk bilinci artar ve performansı artıracak yeni fikirler oluşabilir.

Geri Bildirim:        Belirli aralıklarla düzenli geri bildirim toplantıları yapılmalıdır.

İşbirliği:                  Kanban süreci dinamiktir ve değişime açıktır. Takımlar bu süreçte ortak bir anlayışa sahip olursa daha kolay fikir birliğine varır.

[zombify_post]


Beğendiniz mi? Arkadaşlarınızla Paylaşın!

3

0 Yorum

E-posta hesabınız yayımlanmayacak.