2. www.agileturkey.org
@hakanerdogan
Enhancing IT Project Success 2
1981, Denizli
Doğumlu
2005, İzmir Yüksek
Teknoloji Enstitüsü
Bilgisayar
Mühendisliği
Bölümü Mezunu
2005, Sun
Certified Java
Programmer
1.4
2005,
Danışmanlık,
Java & JEE
Yazılım
Geliştirme
2007,
GittiGidiyor.com,
SOA Altyapısı,
Ödeme Sistemleri
2008-2012,
GittiGidiyor/eBay,
Yazılım Departmanı
Müdürü
07.2012 +
Limango
(Otto-Group)
Türkiye – IT
Direktörü
23.01.2010 CSM – Jim Coplien, ACM
16.09.2011 PSM1 – Mehmet Yitmen, ACM
02.09.2012 PSM1 – Mehmet Yitmen, ACM
3. 3
Sektör Dinamikleri, Değişkenlik ve Çeviklik
Finans, Banka, Kamu, Savunma, Sanayi …
Telco, Üretim, Servis, İnşaat, Taşımacılık, …
İnternet, E-ticaret, Teknoloji ve Bilişim …
4. 4
İnternet, E-ticaret, Teknoloji ve Bilişim – Özellikleri
• Çok dinamik, çok değişken
• Soyut ve bulanık
• Son teknolojiyi yakından takip eden, teknoloji odaklı
• Web siteniz, teknolojiniz = sizin ürününüz
• Online, anında, hızlı: çabuk üretilen ve çabuk tüketilen
• Basit ve Kompleks
• Ekip/takım oyunu, birimler arası koordinasyon gerektiren
6. 6
Proje Yönetimi – Neden?
• ROI’ı maksimize etmek için
• Hedeflenen sürede
• Hedeflenen bütçede
• Hedeflenen kalitede
• Hedeflenen kapsamda ve işlevsellikte
• Aksaklıklar yaşamadan
• Ekip oyunundan keyif alarak başarmak …
7. 7
Proje Yönetimi – Yazılım Projelerinin Başarı! Grafiği
• The Standish Group Chaos Raporları -Yazılım projelerinin;
– % 32'si zamanında, bütçesinde ve gereksinimleri karşılayacak
şekilde sonuçlanıyor
– % 44’ünde ihtiyaçlar değişiyor, belirsiz bir sürece giriliyor
– % 24’ü başarısızlıkla sonuçlanıyor
Başarılı
29%
Başarısız
18%
Belirsiz
53%
2004
Başarılı
32%
Başarısız
24%
Belirsiz
44%
2009
10. 1. Müşteri ile bir araya gelinir
2. İhtiyaçlar belirlenir ve taskler çıkarılır (Product Backlog)
3. Bu taskler önceliklendirilir ve puanlanır (poker game, Sprint
Planning)
4. Takımın 2 veya 4 haftalık hızına (Team Velocity) göre önceliği
yüksek işler listeye alınır (Sprint Backlog)
Agile Yaklaşım SCRUM
11. 5. Takım her sabah 15 dakikalık durum değerlendirme toplantısı
yapar (Daily Scrum). İletişimi, koordinasyonu ve motivasyonu
arttırır.
• Dün ne yaptım
• Bugün ne yapacağım
• Karşılaştığım problemler
6. 2 veya 4 hafta sonunda çalışan prototip ile müşteriye demo yapılır,
feedback alınır, gerekliyse değişiklik yapılacaktır. (Sprint Review)
Agile Yaklaşım SCRUM
12. 7. Takım, 2 veya 4 hafta sonunda neleri iyi yaptığını, neleri kötü
yaptığını, neleri iyileştirmesi gerektiğini tartışır (Sprint
Retrospective) – Continuous improvement
8. Takım, bir sonraki Sprint için tekrar müşteriyle bir araya gelir ve
yeni bir Sprint Planning toplantısı başlar...
Agile Yaklaşım SCRUM
13. 13
Yönetimsel Öncelikler
• Roadmap (Q ve H planları)
• Hedefler
• Deadline
• Bütçe, nakit akışı
• ROI, Break-Even
• Dış firmalarla işbirlikleri, anlaşmalar
• …
14. 14
Yönetimsel KPI’lar
• Ciro (GMV), EBIT, EBITDA
• Satış adedi
• Ürün adedi
• Kayıtlı kullanıcı sayısı
• Trafik = Visit, UV, PV
• Marka bilinirliği
• Kullanıcı Deneyimi (UX)
• ...
15. 15
Yönetim ve Alt Detaylar
• Teknik detaylar
• Proje yönetim şekli
• Altyapısal işler
• Gecikme nedenleri
• Bakım ve yönetim (maintenance)
• …
16. 16
Agile Yaklaşım SCRUM – Felsefesi (Scrum Philosophy)
Self Organization
Trust
Transparency
Inspect and Adapt
Continuous
Improvement (Kaizen)
Retrospective
Commitment
Timebox
Single Focus
DONE
Reducing Complexity
ROI Maximization
17. 17
Self Organization – Kendi Kendine Organize Olabilme
• Takım Olma, Takım Oyunu
• Tuckman Model *:
– Forming
– Storming
– Norming
– Performing
• Mutfaktaki bıçaklar keskin ise her türlü
yemek keyifle ve kolayca yapılır
• Kendi Kendine Organize Olabilme,
İnsiyatif ve Sorumluluk Alabilme, Elini
Taşın Altına Koyabilme
* Tuckman Model, Developmental sequence in small groups, Bruce Tuckman, 1965
18. 18
Trust – Güven
• Takım üyeleri birbirine güvenir
• Müşteri ‘O’ değildir, ‘Biz’den biridir Aynı gemideyiz
• Taş yerinde ağırdır Kredi kazanmak: Güven zamanla kazanılır
• AciLLLLLLLL başlıklı e-postalar: Öncelik verme
20. 20
Inspect and Adapt – Dene ve Uyarla
• Ölç, Biç, Analiz Et, Dene Yeni Deneyim Kazan Tekrar Ölç, Biç,
Analiz Et, Tekrar Dene
• Ortam şartlarına, değişen dinamiklere adapte ol
• Uzun planlamalar yerine dene, değiştir, uyarla
• Pivoting
21. 21
Continuous Improvement (Kaizen) – Sürekli İyileştirme
• Daily Scrum Ekip içi bilgi pallaşımı, ’alignment’
• Sprint Review Müşteriden belirli periyotlarla ‘feedback’ alma
22. 22
Retrospective – Geriye Dönük Değerlendirme
• Sprint Retrospective: Sprint sonunda yapılan iyi ve kötü şeylerin
değerlendirilmesi, sürekli iyileştirme için neler yapılması
gerektiğinin belirlenmesi Sorgulama, Feedback
24. 24
Timebox – Zaman Kısıtı
• Tüm süreç belirli bir zaman ile kısıtlıdır
• Twitter 140 karakter kısıtı ? Clear mind
• Toplantıları verimli hale getirir
• Zamanı verimli kullanmamızı sağlar
25. 25
Single Focus – Tek Odaklılık
• Birden fazla işle aynı anda uğraşmak üretkenliği düşürür,
kompleksiteyi artırır
• Parallel Processing , Multi-tasking Context Switch maliyeti
• Olabildiğince tek-odaklı işler üzerinde seri ilerlemeyi önerir
26. 26
DONE – Bitti Kavramı
• İş Bitti. Bitti tanımı nedir?
• Kodlama, Testler, Dökümantasyon, Canlıya Çıkış, …
• Ortak dil, ortak jargon kullanmaya yardımcı olur
27. 27
Reducing Complexity – Karmaşıklığın Azaltılması
• Basiti yapmak zordur
• K.I.S.S.
• Kompleks bir problemin uzun sürede çözümünden ziyade adım
adım ilerlemeyi tavsiye eder inspect & adapt, kaizen, lean …
28. 28
ROI Maximization – Yatırım Getirisinin Azamileştirilmesi
• Üretkenliği artırdığı için ROI’yi maksimize eder
• Kurum kültüründe motivasyonu artırır, işini keyifle yapan, işe mutlu
gelip giden takım oyuncuları haline gelirsiniz
29. 29
Agile Yaklaşım SCRUM
• Amaç en baştan nihai ürünü, en mükemmeli tasarlamak
değildir, belirli periyotlarla çalışan prototipler sunmak ve
markette ilk yer almaktır.
–‘Mükemmel iyinin düşmanıdır’, Voltaire
–‘Engineering is nothing but optimization’
30. 30
Agile Yaklaşım SCRUM
• "Agile giden ecele gider" doğru bir söylem değildir.
• Agile olmak "Kervan yolda düzülür" demek değildir.
• Aksine sık sık planlayıp, değişen sektör dinamiklerine yeniden
ayak uydurmak, değişime açık olmak demektir. Beklentiyi
yönetmek için iyi bir yoldur. Pivoting
31. 31
Agile Yaklaşım SCRUM
• Değişimi yönetmek değil, değişime adapte olmaktır.
• Agile olmak müşteriyle içiçe olmak demektir, belirli periyotlarla
çalışan bir prototip sunmak, feedback almak, bu feedbacklerle
kendini iyileştirmek, geliştirmek ve bir sonraki süreci planlamak
demektir.
32. 32
Agile Yaklaşım SCRUM
• Agile olmak, ekip olabilmeyi başarabilmek, kendi kendine
organize olabilmek, birbirine güvenmek, ortak dil kullanmak,
şeffaf olmak, zamanı iyi kullanmak, sürekli iyileştirmeler
yapmak anlamına gelmektedir