Telefon
WhatsApp

Kaliteli Hizmet, Güvenilir Ödeme ve Hızlı Teslimat Güvencesi..

İLETİŞİM

Başarılı Proje Yönetimi: Agile ve Scrum

Başarılı Proje Yönetimi: Agile ve Scrum

Başarının sırrı artık çok çalışmak değil. Bizi amaçlarımıza ulaştıracak en doğru yolu seçerek planlı ve sistematik şekilde çalışmaktır.

Yazılım projeleri, kodlama aşamasına gelmeden önce dikkatli bir şekilde planlanmalıdır. Planlanması yapılmadan başlanan bir projede birçok sorunlar meydana gelecektir. Bu sorunlar, yazılım projesinin başarısız sonuçlanmasına sebebiyet verebilir.

Yazılım projelerinin planlanması için dünya genelinde kullanılan metotlar geliştirilmiştir ve her metodun uygulanış şekli farklıdır.

Bu yazımızda size proje yönetimi nedir ve neden gereklidir, Agile ve Scrum arasındaki farkları ve neden tercih etmeniz gerektiğini cevaplayacağız.
Başarılı proje yönetimi ile püf noktaları öğrenmek için yazının devamına göz atın. ????

Proje Nedir?
Okul ve iş hayatında oldukça sıkça duyduğumuz proje kavramı, başlangıç ve bitiş noktası önceden belirlenmiş, benzersiz bir ürün geliştirmek için yürütülen geçici bir girişim olarak tanımlayabiliriz. Bu aşamada, rutin faaliyetleri gerçekleştirmek için üstlenilen faaliyetler proje olarak kabul edilmez. Proje geliştirirken aşamalar detaylı olarak planlanmalıdır. Projenin aşamaları, proje yaşam döngüsünü oluşturur.

İyileştirilmiş bir iş süreci için yazılım geliştirme, bir bina veya köprünün inşası, bir doğal afet sonrası yardım çabası, satışların yeni bir coğrafi pazara doğru genişlemesi – bunların hepsi projedir.

Proje ve operasyon ise birbiriyle çokça karıştırılan iki farklı kavramdır. Operasyon, başlangıç ve bitiş noktası olmayan daha öncesinde tanımlanmış sürekli çalışmalardır.

Proje Yönetimi Nedir?
Proje yönetimi, proje gereksinimlerini karşılamak için proje faaliyetlerine bilgi, beceri, araç ve tekniklerin uygulanarak daha az sürede az hata ile kaliteli iş yapma olanağı sağlar.

Her zaman gayri resmi olarak uygulanmıştır, ancak 20. yüzyılın ortalarında ayrı bir meslek olarak ortaya çıkmaya başlamıştır. PMI’nin Proje Yönetimi Bilgi Bedenine Yönelik Kılavuz (PMBOK ® Kılavuzu) yinelenen unsurlarını tanımlar.

Proje yönetimi süreçleri beş gruba ayrılır:

Başlatma
Planlama
Yürütme
İzleme ve Kontrol
Kapanış
Her projenin hedefleri, kaynakları ve takvimi farklıdır, proje yönetimi de bu noktada şekillenen benzersiz bir odak noktası sağlamayı hedefler.

Proje yönetimi kullanmanın önemli avantajlarını sıralayacak olursak:

Projeler, çalışanların karar alma süreçlerine dahil olmasını sağlar.
Sistem mühendisliği yaklaşımı olan risklerle baş etme yöntemini belirler.
Şirketin stratejileriyle bağlantılı olarak bazı değişiklikler gerçekleştirmeyi sağlar.

Agile (Çevik) Proje Yönetimi
Proje yönetimi araçlarının çoğu, yazılım geliştirmesinde yaşanan sorunlara dayanır. 1990’lı yıllarda yazılım geliştirmesi yapan ekipler Waterfall gibi geleneksel proje yöntemleri ile çalışmalarını ilerletemediklerini fark ettiler. Eski proje yöntemlerinde proje içerisinde yanlış planlamalar ve sapmalar gerçekleşiyordu, bu yanlış planlamalar çok ciddi olumsuz sonuçlar doğuruyordu. 2001 yılında bir grup yazılım geliştiricisi bir araya gelerek Agile proje yönetiminin temellerini atma kararı aldılar.

Agile proje yönetimi, projenin başarılı şekilde tamamlanmasına yönelik yinelemeli bir yaklaşım benimser.

Çevik yaklaşımların yinelemeli doğası nedeniyle, beklentilerin uyumlu olmasını sağlamak ve proje yöneticisinin süreç boyunca değişikliklere uyum sağlamasını sağlamak için müşteri ile sürekli katılım gereklidir.

Agile felsefesini uygulamak için kullanılan birçok farklı proje yönetimi metodolojisi vardır. En yaygın olanlardan bazıları Kanban, Extreme Programming (XP) ve Scrum’dur.

Agile Proje Yönetimi’nin 4 Temel Değeri
Agile Manifestosu yazılım geliştiricileri tarafından oluşturulmuştur.

Yazılımcılar tarafından oluşturulmasına karşın hangi sektörde çalışıyor olursanız olun uygulayabileceğiniz birçok yöntem vardır.

Agile manifestosunda yer alan 4 temel değer aşağıdaki şekildedir.

Kişiler ve etkileşimler, işlemler ve araçlardan daha önceliklidir.
Yazılım üzerinde çalışmak, döküman üzerinde çalışmaktan önceliklidir.
Müşteri katkısı, müşteri ile yapılan sözleşmelerden önceliklidir.
Değişime verilen cevap, planlamadan daha önceliklidir.
agile nedir
12 Agile Proje Yönetimi İlkesi
Agile Manifesto’suna göre, proje yönetiminin 12 temel ilkesi vardır. Bu ilkeler bize öğrenmeyi ve kendimizi öğrenmeye adapte ederek iş birliği içerisinde çalışmayı öğütler.
Agile Manifesto’sunun 12 temel ilkesi aşağıdaki gibidir:

Bir numaralı öncelik, yazılımın erken ve sürekli şekilde sağlanması ile müşteri memnuniyetinin sağlanmasıdır.
Geliştirme sürecinin sonunda bile olsa değişiklikler kucaklanmalıdır. Müşterinin rekabet avantajı kaçırılmamalıdır.
Yazılımları daha kısa süreli zamanlama ile teslim etmek gereklidir. Geliştirmeler devam edecek ise kısa zamanlı versiyonlama yapılmalıdır.
İş adamları ve yazılım geliştiriciler günlük olacak şekilde, beraber çalışmalıdır.
Projelerinizi motive olmuş insanlar ile oluşturun. Onlara ihtiyaç duydukları ortamı ve desteği verin ve işi yapmaları için onlara güvenin.
Ekibin içerisinde birisine bilgi aktarmanın en etkili yolu yüz-yüze görüşmektir.
Çalışan bir yazılım, ilerlemenin birincil ölçüsüdür.
Agile süreçler, sürdürülebilir geliştirmeye teşvik eder. Sponsorlar, geliştiriciler ve kullanıcılar belirli bir hızda ilerlemelidirler.
Teknik mükemmelliğe ve iyi tasarıma sürekli odaklanmak, çevikliği artırır.
Basitlik, yapılmayacak işleri en düzeye çıkarmak demektir.
En iyi mimariler, gereksinimler ve tasarımlar, kendi kendini düzenleyen ekiplerden ortaya çıkar.
Düzeni aralıklarla ekip, nasıl daha etkili olabileceğini değerlendir, adından buna göre çalışmalarını geliştirir.
Agile Proje Yönetimi’nin Faydaları Neler?
Agile Proje Yönetimi geniş bir kullanım alanına sahip en popüler olan ve en sık kullanılan tekniktir.

Agile proje yönetiminin ilkeleri, her ekibin, daha esnek ve yinelemeli bir şekilde çalışmasını sağlayarak daha hızlı sonuçlar sunmalarını sağlamaktadır.

Agile proje yönetiminin en çok bilinen faydaları:

Daha düşük risk ve fazla Uyumluluk: Agile’in yinelemeli yaklaşımı sayesinde ekibin sadece öngörülen şartları değil, gerçek şartlara göre daha etkili proje geliştirmesini sağlamaya izin verir.

Agile’in kısa döngüleri sayesinde projeyi daha net görerek ekipler arasında risk durumları azaltabilir.

Daha Fazla Müşteri Memnuniyeti: Agile’ın değerlerinden birisi de daha fazla müşteri iş birliği yaratarak memnuniyeti sağlamaktır.

Agile Proje Yönetimi ile müşteriyle beraber çalışmalar yaparak onların sorunlarını çözmeye odaklanmanızı sağlar.

Daha Mutlu Takımlar: Agile takımları yeni fikirler oluşturmaya, yenilikler geliştirmeye ve problem çözme becerisi üzerine yoğunlaşır.

Nasıl Agile Olunabilir?
Agile yöntemlerini doğru şekilde uygulayabilmek için doğru takım arkadaşlarına, bazı toolları satın almaya ihtiyacınız vardır.

????Doğru insanları ekibinize dahil ederek başlayabilirsiniz
Agile Proje Yönetimi metodolojileri, ekibiniz için doğru stratejiler yapacak insanları işe almaya ve onları motive etmeye dayanır.

İlk olarak doğru insanları bulmalı ve yeteneklerini özgürce kullanmalarına izin vermelisiniz.

Agile’ın doğru yönetilebilmesi için tüm ekibin görüşlerini almak gerekli.

????Agile sertifikası alın
Agile Proje Yönetimi konusunda internette birçok kaynak bulabilirsiniz, bu aşamada bilgilerinizi pekiştirmek için Agile Proje Yönetimi Sertifikası alabilirsiniz.

Dünya üzerinde bir çok farklı kurum Agile ve Scrum için sertifikasyon programı sunmaktadır. Bunların arasında en popüler olanları: Proje Yönetimi Enstitüsü (PMI), Scrum.org, Scrum Alliance olarak sıralayabiliriz.

????Ekip ihtiyacına göre doğru proje yönetim araçları kullanın
Doğru yönetim araçları kullanmak, ekinizin daha iyi iletişim içerisinde olmasını sağlar.
Agile destekleyen bir kaç proje yönetim araçlarına Teamwork Projects, Asana, Wrike, Trello örnek verilebilir.

Hangi Agile Metodoloji Benim İçin Uygun?
Agile mi? Scrum mı? Kanban mı? Scrumban mı?
Bunlarla çok fazla kendinizi yormadan Agile’nin genel felsefesi ve ilkelerini anlayıp, ekibiniz içerisinde uygulayarak başlayabilirsiniz.

Scrum Nedir?
Başarılı proje yönetimi tekniklerinden biri de Scrum’dur. Scrum, proje yöneticileri tarafından kullanılan en popüler Agile metodolojilerindendir. Anlaşılması zor ve karmaşık projelerin başarı oranını yükseltmek için oluşturulmuştur.

Scrum, projeyi küçük parçalara ayırarak yönetmeyi sağlar.. Bu sayede her parça üzerinde istenildiği zaman değişiklikler yapılabilir. Bu sayede, müşterilerin isteklerine göre projenin değiştirilmesi kolaylaşacaktır.

Scrum; şeffaflık, kontrol edilebilme ve uyumluluk üzerine oluşturulmuştur.

Scrum metodolojisi, proje çalışması başladığında “sprintler” ile karakterize edilir. Sprint planlamasında, proje ekibi, genellikle dört haftalık bir süre olan gelecek sprint sırasında tamamlanacak işlerin yapılacak bölümünü belirler. En son sprint gerçekleştiğinde, proje teslim edilmeye hazır olmalıdır.

Scrum ile Agile Proje Yönetimi
Agile ve Scrum çoğu zaman karıştırılır. Agile, kendi benimsediği değer ve ilkeleri kullanan bir proje yönetimi tekniğidir. Scrum ise proje aşamalarını kolaylaştırmak için kullanılan özel bir Agile metodolojisidir.

Başarılı bir projenin anahtarı, sadece doğru metodolojiyi seçmekle birlikte bu metodolojiyi başarılı bir şekilde uygulama aşamalarından geçer. Projeniz için Agile yaklaşımını benimsiyorsanız, Scrum’ı spesifik ihtiyaçlarınız için en iyi metodoloji olup olmadığını belirlemeniz gereklidir.

Scrum takımında üç temel rol vardır:

Ürün Sahibi: Geliştirme ekibi tarafından tamamlanan işin değerini maksimize eden kişidir.

Geliştirme Takımı: Geliştirilen proje üzerinde çalışan düz bir hiyerarşiye sahip takımdır.

Scrum Master: Scrum süreci içerisinde projeyi gerçekleştirebilmek için çalışmalar yapar.

Nasıl çalıştığı şu şekilde özetlenebilir:

Ekibin yapması gereken her şey listelenir ve product owner tarafından öncelik sırasına göre sıralanır.
Scrum belirli sabit süreler üzerine odaklanır. Her sürenin bir hedefi-sprint goal vardır. Bu süre sonunda ise yapılan çalışmalar değerlendirilir.
Hedefleri gerçekleştirmeden önce, hedefin ne olduğu ve nasıl ulaşılacağını planlamak gereklidir.
Geliştirme ekibi sprint’e başladıktan sonra her gün, bir önceki gün neler yaptığını, o gün içerisinde ne yapacağını ve risklerin neler olduğunu belirten daily scrum çalışması yapar.
Her sprint’in sonunda önceki değerlendirmek, sonraki sprinti planlamak üzere toplantı yapılır.
Tekrar eden bir süreç içerisinde proje ilerler.
Scrum Yapısı
Temel Kavramlar

1)Product Backlog: Proje için gerekli olan gereksinimleri içeren listedir. Product owner tarafından müşteriden gereksinimler alınarak sıralanır. Product owner, ihtiyaçlar değişirse product backlog’a ekleme veya çıkarma yapabilir.

2)Product Backlog Item: Product backlog içerisinde bulunan her bir gereksinime verilen isimdir.

3)Sprint: Proje sprint adı verilen küçük parçalara ayrılır.

4)Sprint Backlog: Geliştirme takımı tarafından product backlog itemlar öncelik sırasına göre sprint içerisine dahil edilir.

5)Scrum board: Sprint içerisinde yapılacak olan maddelerin yönetildiği alandır. Yapılacak olan görevler “to-do” bölümüne alınır. Takım üyeleri belirlenen bu işe başladığında “in progress” bölümüne getirilir. Bu iş, test için hazırsa “to verify” konumuna getirilir. Kontrol aşaması gerçekleştikten sonra ise “done” bölümüne getirilir.

6)Burndown Chart: Yatay ekseninde sprintin günlerini, dikey ekseninde sprintte kalan işi gösteren ve şeffaflığı sağlamak için kullanılan grafiktir.

scrum
Roller

Pig Roller: Scrum sürecine dahil olanlar kişilerdir. Bunlar Scrum Master, Product Owner ve Geliştirme Takımı’dır.

1) Product Owner: Geliştirme takımı ve müşteri arasındaki iletişimi sağlar. Projenin özelliklerini tanımlar.

2) Scrum Master: Scrum kurallarını, teorilerini ve pratiklerini bilerek takımın bu kurallarını uygulamasından sorumlu kişidir. Takımın verimli çalışmasını engelleyen durumları ortadan kaldırır.

3) Geliştirme Takımı: Bir Sprint’e alınan görevleri tamamlayacak kişilerdir.

Chicken Roller: Scrum’ın işleyişinde aktif olarak yer almayan kişilerdir. Örneğin; müşteriler, pazarlamacılar…

scrum
Toplantılar

1) Sprint Planning: Product backlog ile belirtilen görev ve gereksinimler, bu toplantı ile geliştirme takımı tarafından parça şeklinde görevlere (task) ayrılır.

2) Daily Scrum: Her gün aynı yerde aynı saatte yapılan kısa toplantılardır. Üyeler davet edilmeyi beklemezler. Bu toplantı gelecek 24 saati planlamak üzere yapılır.

3)Sprint Review: Her sprint sonunda yapılarak geçmiş sprint gözden geçirilir ve ortaya çıkan proje değerlendirilir.

3)Sprint Retrospective: Sprint boyunca yapılan işlerin kalitesinin, doğru ve yanlışların değerlendirildiği toplantıdır.