CMMI ve Çevik Yöntemler Kasım 2006 http://
Büyük k Resim Sorunlar Çözümler Tıbbi Kontrol ISO EFQM CMMI 9001 Yaşam Tarzı RUP MSF XP 2
CMMI Anlaşı şılmamış 3
Proje YönetimininY Tarihi netiminin Tarihi http://home.gwu.edu/~kwak/pm_history.pdf 4
Proje YönetimininY Tarihi netiminin Tarihi 5
Proje YönetimininY Tarihi netiminin Tarihi 6 http://home.gwu.edu/~kwak/pm_history.pdf
XP Ne zamandır r var? Hızlı Geliştirme Bireysel XP uygulamaları Karar Verme Evrimsel Geliştirme Spiral Model Projelerin özellik bazlı tanımlanması Ve planlanması Metaforlar Yazılım Geliştiriciler için fiziksel ortamlar 7
XP Faydası 8
Geleneksel Çevik Farkı 9
XP Risk YönetimiY Yazılım geliştirmede temel problemler kaçınılmaz olarak var olan risklerin iyi yönetilmesidir. En Önemli riskler: Gecikmeler Yama tutmayan sistemler İş dünyasının yanlış anlaşılması İhtiyaç duyulmayan bir çok Özellik Projenin iptal edilmesi Hata oranı İş dünyasındaki değişiklikler İşten çıkmalar 10
XP Risk YönetimiY Gecikmeler Projenin iptal edilmesi Yama tutmayan sistemler Hata oranı İş dünyasının yanlış anlaşılması İş dünyasındaki değişiklikler İhtiyaç duyulmayan bir çok Özellik İşten çıkmalar Kısa sürüm zamanları İş açısından en anlamlı sürümlere öncelik verilmesi Anlaşılır test senaryoları Testler Müşterinin takımın ayrılmaz bir üyesi olması Kısa sürüm zamanları Sadece en öncelikli işlerin yapılması Çift Yazılım Geliştirici 11
XP nin temel korkuları Önemsiz işler yapmak Teknik ilerleme sağlanamadığı için projelerin iptal edilmesi İş (business) kararlarının kötü verilmesi İş tarafının yanlış teknik kararlar vermesi Yazılım geliştirme kariyerinin sonuna gelmek ve çocuklarına yeterince vakit ayıramamış olmak Yaptığı işle övünememek 12
XP nin korkmadıklar kları Kodlama Değişen fikirler Geleceği bilmeden yol alabilmek Diğer insanlara güvenmek Çalışan bir sistemin (yazılımın) analiz ve tasarımını değiştirmek Testler yazmak 13
Çevik YöntemlerY Çevik Yazılım Geliştirme Manifestosu Kişilerin ve iletişiminin Süreçlerin ve Araçların Çalışan Yazılımın Kapsamlı Dokümantasyonun Müşteri Katılımının Sözleşme Pazarlıklarının Değişime hazır olmanın Planı takip etmenin Önüne konması http://www.agilemanifesto.org/ 14
XP Yazılım m Hayat DöngD ngüsü Araştırma Safhası Düzenli Güncellemeler Planlama Safhası Bir sonraki İterasyon için Senar yolar İterasyon Safhası Devamlı Gözden Geçirme Çift Yazılım Geliştirici Analiz Tasarım Test İçin Plan Test Üretim Safhası Bakım Safhası Kapanış Safhası Senar yolar Öncelik Emek lendirme Kestirimleri Geribesleme Devamlı Bütünleştirme Test Ortak KodTabanı Küçük Sürümler Güncel Sürümler Nihai Sürüm Müşteri Onayları 15
extreme Programming 16 Planlama ve Geribesleme Döngüsü Teslim Planı Aylar İterasyon Planı Haftalar Dakikalar Kabul Testi Günler Ayaküstü Toplantılar Bir gün İkili (çift) münazara Saatler Birim Testi İkili (çift) programlama Saniyeler Kod
XP Nedir? Dört Prensip 1. Aşırı İletişim. 2. Aşırı Basitlik. 3. Aşırı Geribesleme. 4. Aşırı Cesaret. 17
extreme Programming Takım Üyesi Müşteri Ortak Kod Mülkiyeti Bütün Takım Çift Yazılım Geliştirici Devamlı Bütünleştirme Yeniden Tasarım Basit Tasarım Metafor Kodlama Standartları Test Hafta 40 saat Oyunun Planlanması Dış çember müşteri ile teknik ekibin senkronize olmasını sağlar İç çember teknik ekibin programlama koşuşturması içinde kaliteye odaklanmasına yardımcı olur Orta çember teknik ekibin bir araya gelerek iş sorunlarına odaklanmalarına ve teknik konularda bilgi alışverişi yapmalarını sağlar Küçük Sürümler 18
Yönetici ve Müşteri M Hakları Genel planı bilmek, ne yapılabilir, ne zaman, ne maliyet ile Her bir Yazılım Geliştirici haftasından en çok faydayı almak Çalışan görmek ve tanımlanan testlerin otomatik olarak geçtiğini (çalıştığını) görmek Aşırı maliyetler ödemeden fikrini değiştirmek, fonksiyonaliteyi yeniden tarif edebilmek Teslim süresini koruyabilmek için gecikmelerden en kısa zamanda haberdar olmak. İptal edebilmek ve ona kadar yapılan yatırım karşılığı olarak çalışır bir sistem almak 19
Yazılım Geli tirici Hakları m Geliştirici Haklar Gereksinimleri açık bir şekilde bilmek ve öncelikler hakkında bilgilendirilmek Her zaman için kaliteli iş yapabilmek İş arkadaşlarından, amirlerinden ve müşteriden her an yardım isteyebilmek Kendi kestirimlerini yapmak ve değiştirebilmek İş atanması yerine sorumluluğu almak (taahhüt etmek) 20
Sınırlar ve Roller 1 2 2 1 PO MIY Müşteri Yazılım Geliştirici 21 MIY MIY
XP Çalışma Ortamı 22
Dört Değişken Kapsam Scope Zaman Time Kalite Quality Maliyet Cost Üçünü seç birini serbest bırak XP nin Önerisi Kapsamın serbest bırakılması 23
Yazılım m Ekonomisi 101 24
XP Müşteri Kartı 25
XP Teknik Kart 26
XP Müşteri Kartı 27
XP Teknik Kart 28
Basit Tasarım Basit tasarım (0) = ilk test senaryosunu çalıştıran tasarım Basit tasarım (t) = Basit tasarım (t 1) + sıradaki ilk test senaryosunu çalıştıran tasarım Genellikle Basit tasarım (t) ile Basit tasarım (t 1) arasında ufak farklılıklar olsa da bazen büyük farklılıklara rastlanabilir bu anlara refactoring zamanı denir. 29
XP Kullanan Şirketler 30
Ne zaman uygulanmaz? Şirket kültürü Müşteri kültürü Yönetim kültürü Çalışma ortamı Test ortamı Proje ekibinin büyüklüğü (10 kişiden fazla) Uygun değil ise XP uygulanamaz. 31
CMM XP İlişkisi 32
CMM XP 33
CMMI XP Mark C. Paulk, Extreme Programming from a CMM Perspective, IEEE Software, November 2001 34
CMMI XP Mark C. Paulk, Extreme Programming from a CMM Perspective, IEEE Software, November 2001 35
CMMI XP Mark C. Paulk, Extreme Programming from a CMM Perspective, IEEE Software, November 2001 36
XP RUP ilişkisi? 37
CMMI RUP 38
Orhan Kalaycı Nitelik Danışmanlık, Kurucu Ortak, CMMI Danışmanı, 2003 Yazılım Mühendisliği Süreçleri Grup Lideri, Alcatel İstanbul, 1999 2001 Yazılım Kalite Koordinatörü, Escort Yazılım, 1998 1999 Yazılım Kalite Uzmanı, YKB Teknoloji, 1997 1998 ARGE müh. Asteğmen, MSB ARGE, 1996 1997 Yazılım Mühendisi, Tübitak MAM, 1993 1995 MSc Endüstri Müh., Boğaziçi Üniversitesi, 1995 Master Tezi: Yazılım Süreç Değerlendirmesi ve Türk Yazılım Sektöründe bir uygulaması BSc Bilgisayar Müh. Boğaziçi Üniversitesi, 1991 39