9 Nisan 2013 Salı

Proje Süreçleri

Proje Yönetimi bilgi birikimi, yetenek, ilgili araç ve tekniklerin birlikte kullanılarak doğru şekilde uygulanması ve projenin beklentileri karşılaması için yapılan etkinliklerin bütünüdür.

Beş (5) ana Süreç Grubu vardır:
  1. Başlatma
  2. Planlama
  3. Yürütme
  4. İzleme ve Kontrol
  5. Kapanış
Bu beş ana süreç içerisinde en az aşağıda belirtilenleri de içerir ki daha fazlasını yapmanızı da destekler. Ben bu maddeleri CMMI'da Proje Yönetimi süreç alanlarıile de çapraz ilgisinin de olduğunu belirtmek istiyorum. Bu yüzden ilgili CMMI Süreç Alanı ve seviyesi ile birlikte gösteriyorum:

  • Gereksinim tanımlama --> Gereksinimlerin Yönetimi (PM-REQM-L2)
  • Paydaşların beklenti ve ihtiyaçlarına proje planlama ve yürütme etkinliklerinde hitap etmek --> Proje Planlama (PM-PP-L2)
  • Paydaşlar arasında iletişimi etkin, etkili ve işbirliği kurmak, sürdürmek ve yürütmek -- Entegre Proje Yönetimi (PM-IPM-L3)
  • Proje gereksinimlerini karşılarken ve proje ürünlerini oluştururken paydaş yönetimini gerçekleştirmek (PM-IPM-L3)
  • Aşağıda verilen proje kısıtları arasında denge oluşturmak 
    • Kapsam --> Entegre Proje Yönetimi (PM-IPM-L3)
    • Kalite --> Süreç ve Ürün Kalite Güvence (SP-PPQA-L2)
    • Takvim --> Proje Planlama (PM-PP-L2)
    • Bütçe --> Entegre Proje Yönetimi (PM-IPM-L3)
    • Kaynaklar ve --> Entegre Proje Yönetimi (PM-IPM-L3)
    • Riskler -- Risk Yönetimi (PM-RM-L3)
Beş ana süreci yazılım projesinde ister şelale gibi akıtırsınız ister V modelini kullanırsınız ya da agile yaklaşımınıza izlenecek yol haline getirirebilrsiniz. Yukarıda noktalı verilen maddeleri de seçtiğiniz yazılım geliştirme modeline uygun olarak yedirebilirsiniz. 


7 Nisan 2013 Pazar

Örnek Olay

Önek olay'ın derli toplu toplam hali burada olacak:

NextGen firması yabancı bir firmanın açtığı ihaleye katılmak istemektedir. İhalenin ön koşullarından bir tanesi ISO/IEC 27001 ISMS (Information Security Management Standard) sertifikasyonuna sahip olmaktır. Firma bu belgeye sahip değildir. İhale son başvuru tarihi 22. Aralık. 2013'tür. 

Firma ISO/IEC 27001 ISMS sertifikalandırması için bir proje başlatacaktır.

Başlangıç tarihi: 8. Nisan. 2013

Bitiş tarihi:        8. Aralık. 2013

Çıktı:                ISO/IEC 27001 ISMS sertifikası 

Proje Nedir?

PMBOK 5. sürüme göre:

Benzersiz bir ürünü ya da hizmeti ya da sonucu ortaya çıkarmak için  geçici olarak üstlenilen yoğun etkinliklere proje denir.


Başlangıcı ve bitişi bellidir. Sonuca ulaşamaması ya da iptal edilmesi proje olarak tanımını etkilemez. 

Geçici süresi ile ilişkili değildir.

Bir işin bir kere yapılmasıdır.

Projenin belli başlı özellikleri:


  • Yeni bir ürün ya da hizmet ya da sonuç geliştirmek
  • Organizasyonun yapısınıl, süreçlerinil, istihdamını ya da şeklinde bir değişikliğe etki etmesi
  • Yeni ya da güncellenen yazılım ya da donanım içeren bilgi sistemi geliştirme ya da satın alma 
  • Araştırma etkinliği içeren 
  • Bir bina, fabrika ya da altyapı inşa eden ya da
  • İş süreçleri ve ordamları (prosedürleri) uygulama, iyileştirme ya da zenginleştirme



Örnek Olay:

NextGen firması yabancı bir firmanın açtığı ihaleye katılmak istemektedir. İhalenin ön koşullarından bir tanesi ISO/IEC 27001 ISMS (Information Security Management Standard) sertifikasyonuna sahip olmaktır. Firma bu belgeye sahip değildir. İhale son başvuru tarihi 22. Aralık. 2013'tür. 

Firma ISO/IEC 27001 ISMS sertifikalandırması için bir proje başlatacaktır.

Başlangıç tarihi: 8. Nisan. 2013

Bitiş tarihi:        8. Aralık. 2013

Çıktı:                ISO/IEC 27001 ISMS sertifikası 


Yazılım Projeleri Yönetimi

Ne zaman ki yazılım ürünlerin bir parçası haline geldi o zaman dünyanın aklı karışmaya Eminim Şaka Yapıyorsunuz Bay Feynman  Kalem ya da motor parçası ya da bir kutu değildi ki bu. Üretim bandında ölçümler yapıp süreç adımlarını iyileştirme pek uygulanamıyordu (en azından başlangıçta). 

Söz konusu olan yazılımdı ve tabii ki ilk ürünler savunma araçları idi. Kritik sistemlerdi. Manhattan Projesi'ni ilk örneklerden biri olarak düşünebiliriz. Manhattan Projesi 1939 yılında başlayıp 130 000'den fazla çalışanı ve yaklasık 2 milyar dolara (bugünün parası ile 26 milyar dolara) mal olmuştur bkz. Richard P. Feynman bu projenin üyelerinden biriydi. Hayatında gördüğü en güçlü bilgisayarın bu projede kullanıldığını ve işlemlerin nasıl yapıldığını Eminim Şaka Yapıyorsunuz Bay Feynman kitabında anlatmıştır.

Yazılım geliştirme projesine başladığında istenen ile sonunda çıkan ya pek aynı olmuyordu. Ya da, istenen elde ediliyordu da ayrılan bütçeden kat be kat fazlaya mal oluyordu. 

İşin içinden çıkılamadığında da "Amaan, ArGe (!) zaten bu proje" denilip başarısızlığın üstü güzelce örtülüyordu.

Zaman geçtikçe yazılım geliştirme süreçlerinin kontrol altına alınması, proje yönetiminin de yazılım işlerinden anlar hale gelmesi en önemli beklenti olmaya başlandı.

En çok yazılım projesi yöneticileri ve takım üyelerinin kafa patlattığı bir kavramdır yazılım projesi yönetimi.  Gerçek vakalar ile PMBOK 5. sürümü temel alarak elimden geldiğince yardımcı bir çalışmayı bu blog aracılığı ile yapacağım bundan sonra.

PMI bir ek dokümanıolan SW PMBOK taslak olarak hazırladı. 2013 yılı başında gözden geçirilmesi için sitesinde yayımladı. Henüz resmi olarak yayımlamadı. Bu sebepten dolayı temel olarak PMBOK 5th Edition, gerektiğinde CMMI-DEV v1.3 ile diğer ilgili standart/modeller belirteç olarak kullanacağım yolumuzu daha gerçekçi kılmak için.

Girizgahı şimdilik bitiriyorum. Önümüzdeki günlerde hem beni hem de siz okuyucuları tatmin edecek bilgi birikimi blogda oluşması umudu ile.




4 Nisan 2013 Perşembe

CMMI Süreç Alanları

CMMI 1.3 sürümü 4 ana kategoride 22 süreç alanından oluşmaktadır.

4 ana kategori şunlardır:

  1. Süreç Yönetimi (Process Management)
  2. Proje Yönetimi (Project Management)
  3. Engineering (Mühendislik)
  4. Destek (Support)
Bu kategorilerin içerdiği süreç alanları ait oldukları seviyelerden bağımsız olarak aşağıdaki şekilde verilmiştir. Şekildeki süreç alanları ingilizcedir. Analam karmaşası oluşmaması için orjinal dilinde bıraktım şimdilik. Herbirini tek tek açıklayacğım. O zaman türkçesini düzgün biçimde belirteceğim.


2 Nisan 2013 Salı

CMMI Çeşitleri

CMMI yerinde durmayan sürekli gelişen ve iyileşen bir modeldir. CMMI tarihçesindeki son noktası 1.3 sürümüdür.

1 Kasım 2010'da yayımlanan CMMI V1.3'e ait üç çeşit CMMI vardır:


  1. Ürün ve hizmet yönetimi için CMMI Development
  2. Hizmet kurulumu, yönetimi ve temini için CMMI Services
  3. Ürün ve servis idinimi için CMMI Acquisition


1 Nisan 2013 Pazartesi

CMMI - Tarihçe

Herşeyin bir başlangıcı olduğu malumunuz. CMMI, Carnegie Universitesi'nde bulunan Yazılım Mühendisliği Enstitüsü'nün bir ürünüdür, SEI'dir yani.

1984 yılında Amerika Savunma Bakanlığı tarafından SEI kuruldu ya da kurulması için fon sağladı. O yıllarda dünyada yazılıma en çok bütçe ayıran kurumu idi. Silah teknolojisi yazılımın nasıl bir gelişim sağlayacağını öngörmüştü. Bununla birlikte maliyet çok yüksekti. Yazılım konusu ile ilgili bilgi birikiminin azlığı, kritik sistemlerde kullanımının maliyeti, doğrulama/geçerleme süreçlerinin olgun olmaması gibi problemler yaşanmaktaydı. Kuvvetle muhtemel bu maliyetli işi kontrol altına almak istediler ve bunu sağlamak için de işi sahiplenecek bir yapılanma olmasını istediler. SEI'nin kurulma dinamikleri aşağı yukarı bu şekildedir.

Modelin babası Watts Humphrey. Önce yazılım geliştirmeye de süreç yaklaşımını sonra da bu süreçlerin yönetilebileceği önerdi. Bütün bu önerileri daha geniş kapsamlı içeren Software CMM yayımlandı SEI tarafından. Daha sonrasında yazılım yetenek değerlendirme akabinde System CMM yayımlandı.CMM versiyon 2.0 için çalışışırken bu çalışma CMMI çalışması sebebi ile iptal edildi. Şu anda CMMI V1.3'tür.