yazılım proje yönetimi

Post on 01-Dec-2015

624 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Bu eğitimde Yıldız Teknik Üniversitesinde aldığım Yazılım Proje Yönetimi dersinde öğrendiklerimi paylaşacağım. Bu eğitimin amacı, yazılım proje yönetimi kapsamındaki kavramları yerleştirmektir. Proje Yönetimi Kavramları, Proje Yönetimi Süreç Adımları, Work Breakdown Structure, Kritik Yol, Gantt Diagramı, Proje Yönetimi Organizasyonları, Risk Yönetimi, Yazılım Proje Standartları, Yazılım Maliyet Tahmini vb konular eğitimin ana başlıkları arasında yer almaktadır.

TRANSCRIPT

Özkan SARIHaziran 2013

http://www.javafun.net/

http://www.ozkansari.net/

http://bilgisayardunyam.blogspot.com/

YAZILIM PROJE YAZILIM PROJE YÖNETİMİYÖNETİMİ

2

GündemProje Yönetimi KavramlarıProje Yönetimi Süreç AdımlarıWork Breakdown StructureKritik YolGantt DiagramıProje Yönetimi OrganizasyonlarıRisk YönetimiYazılım Proje StandartlarıYazılım Maliyet Tahmini

3

Proje Yönetimi Kavramları>>>

Yazılım Geliştirme Temel Aktiviteleri

Proje planlamaGereksinim analizi (gereksinim spesifikasyon

raporunun hazırlanması)Tasarım (Yazılım mimarisi)GerçekleştirmeTest

* Yazılım geliştirme süreç modeline göre sıralama değişebilir

4

Proje Yönetimi Kavramları>>>

Yazılım Geliştirme Destek AktiviteleriAna adımların daha iyi gerçekleşmesi için gerekli adımlardır. (umbrella act.)

Yazılım Kalite Yönetimi Yazılım Konfigürasyon Yönetimi : Yazılım elemanlarının

kimliklendirilmesi, hangi değişiklik ne zaman ve hangi versiyonda yapılmış Yazılım Proje Yönetimi Yazılım Risk Yönetimi : Nerelerde hata yapabiliriz? Alınacak önlemler

nelerdir? Riski belirleyip takip ediyoruz. Risk faktörleri: yazılımı geliştiren personel ve müşteri

Teknik Gözden Geçirme (milestones) : Ara adımlardaki gözden geçirmeler maliyet açısından önemli, sonradan olursa maliyet artıyor.

Yeniden Kullanılabilirlik Yönetimi : Yazılan kütüphanelerin kullanımı gibi konulardır.

Software domain language : Alan yönetimi, aynı alanda geliştirilebilecek diğer programlar Commercial Off The Shelf (COTS) : ready-made and available for sale, e.g. MS Office

Yazılım Ölçümü : Geliştirilen yazılımların büyüklüğünün ölçümü, çalışan kişi sayısı, zaman bilgilerinin kullanılarak yazılım maliyet tahmini yapılmasını sağlar.

5

Proje Yönetimi Kavramları>>>

ProjeProje: Amacı, kapsamı, süresi ve bütçesi olan sürece proje denir.

- Amaç

- Kapsam

- Süre (Başlangıç-Bitiş zamanı)

- Kaynak & Bütçe

Proje tekildir.

Rutin işlerden oluşursa operasyonel olur. (Ör. Düzenli Fatura basımı proje olmaz ama Faturaların Basılması İçin Bir Sistem Geliştirme Proje olabilir.)

Proje Örnekleri: Marmaray, Cebit Fuarının düzenlenmesi vb..

Proje Paydaşları: Sponsor, yöneticiler, proje ekibi

Proje Yönetimi Kavramları>>>

Proje Temel UnsurlarıProje Yönetimi üçgeni → daralıp

genişleyebilir

Örneğin zamanında yetiştirilemeyecek projenin kapsamı küçültülüp, zamanında yetişmesi sağlanabilir.

Kapsam daralabilirKaliteden ödün verilebilirMaliyet/Bütçe arttırılabilirZaman uzatılabilir

Bu değişiklikler sponsorun kararına bağlıdır.

Matbaanın kanunu: Ucuz, hızlı,kaliteli?

6

7

Proje Yönetimi Kavramları>>>

Proje YöneticisiProje yöneticisi ne yapar?

Plan yapar (zaman, kapsam, bütçe)Takip ederRaporlama Yapar : Proje paydaşlarına

(sponsorlar, yöneticiler, proje ekibi) Koordinasyon → ekip içi ve dışı iletişim (%90)

8

Proje Yönetimi Kavramları>>>

Proje Yöneticisi (devamı...)Proje yöneticisinin sahip olması gereken özellikler :

İletişimi kuvvetli, Sabırlı, Analitik, Büyük resmi görebilmeli, Vizyoner, Lider, Ekip yönetimi yapabilen, Kriz yönetimi yapabilen, Çözüm odaklı, Teknik bilgi ve beceri sahibi Motivasyon sağlama becerisi sahibi Gerekli durumlarda üst yönetime karşı durabilmeli Çalışanların arkasında durmalı

9

Proje Yönetimi Kavramları>>>

Proje Yöneticisi (devamı...)Proje yöneticisinin yönetim tarzları :

Yol Gösterici : Çalışanlar tecrübesizse onlara yol gösterir, işin nasıl yapılacağını anlatır

Devredici : Tecrübeli kişilerle çalışırken işi onlara bırakır, sadece yapılması gerekenleri belirtir

Yönlendirici : İşini tam yapmayan, zamanında bitirmeyen, motivasyona ihtiyaç duyan kişilerle çalışırken

Destekleyici : Ekibin eğitime, danışmanlığa vs. ihtiyacı varsa bunu sağlayan

10

Proje Yönetimi Kavramları>>>

Proje BaşarısıBaşarı unsurları: Süre, kaynak, hedef

Proje başarısı tüm takıma bağlıdır → Sadece Proje yöneticisine değil

Proje yöneticilerinin yetkisiz sorumluluğu var → Proje sahibi/sponsoru konumunda değil

Proje başarısı için iletişim önemli → Proje başarısı başka projelere ya da departmanlara bağlı olabilir

Proje bazlı işe alımlarda Proje yöneticisi güçlü konumda; ama varolan kaynaklar kullanıldığında sıkıntılar olabiliyor → Mevcut kaynakları yönetmeli

11

Proje Yönetimi Kavramları>>>

Proje Başarısı (devamı...)Proje Başarısı ölçümü:Süre → İstenen sürede bitirildi mi?Kaynak & BütçeHedef → Gereksinimleri karşılıyor mu?

Proje başarısı bir süre sonra ortaya çıkabilirKullanıcı memnuniyetiHata çıkması oranı

Projenin başarısızlık etmenleri:Alan değişikliği yapılmasıEkip içi uyumsuzlukGerekli alımların zamanında yapılamamasıBelirlenen teknolojiye uyum sorunuHedeflerden sapma

12

Proje Yönetimi Kavramları>>>

ToplantılarToplantı ne zaman gereklidir? 6 kişiden fazla katılmamalı (interaktif limit, fazlası bildiri olur) Basit bir yazışma ile halledilemeyecek şeyler Sadece ilgililer katılmalı

Toplantı nasıl yapılmalıdır? Bir yönetici Toplantının başlangıcını ve bitişini o belirler. Gündem Toplantıdan önce belirlenmiş ve taraflara iletilmiş Toplantıya hazırlıklı gelinir Toplantı gündeminden lazım olduğu belli

olacak çalışmalar önceden yapılır, bilgiler önceden toplanır. Zaman sınırı konulmalı Toplantıya saatinde gelinir, saatinde bitirilir. İyi planlanmalı Son 15 dk’ya en önemli konular kalır Sonuca bağlanmalı Toplantı sonuçları ve notları, toplantı sonrasına

katılanlara ve ilgililere duyrulur.

* http://www.safkan.org/blog/?p=3081** http://www.paulgraham.com/makersschedule.html

13

Proje Yönetimi Kavramları>>>

Toplantılar (devamı...)Toplantı ne zamana konmalı? Katılımcılar kim? Yönetici / Üretici ? Sadece Yöneticiler : Uygun her hangi bir zamanda +Üreticiler : Zaman Önemli

Yüzde Verim = 100 x (Saat cinsinden kesintisiz sürelerin karelerinin toplamı) / 81

Yazılımcının günlük çalışma süresi, yemek saati dahil: 9

Yüzde Verim (kesintisiz) = 100 x (9 x 9) / 81 = %100

Yüzde Verim (14:00-15:00 toplantı) = 100 x (5×5 + 3×3) / 81 = %41.98

Yüzde Verim (17:00-18:00 toplantı) = 100 x (8×8) / 81 = %79.0

* http://www.safkan.org/blog/?p=3081** http://www.paulgraham.com/makersschedule.html

14

Proje Yönetimi Kavramları>>>

Yazılım & YazılımcılarYazılım dediğin nedir ki? Kodlama?

Yazılım mühendisliği ?

Yazılımcının çalışma ortamıYazılım işi konsantrasyon ister Sessizlik gerekli, kişisel alan

ihtiyacıBölünmemiş zaman ihtiyacı -> Toplantı, Telefon, e-posta

Negatif iş

“Bunu ay sonuna istiyorum” mantığı Sebep? Kaynak? Yöntem?

15

Proje Yönetimi Kavramları>>>

AdamxGün300 Adam x Gün’lük İş 1 adam 300 günde işi yapar mı? ??? 5 adam 60 günde işi yapar mı? 9 kadın 1 bebeği 1 ayda yapar mı? İşin hızı sabit mi? -> 1 ayda 25%, kalan 1 ayda 75%

Adam x Gün Hesabı İş miktarı olarak çok anlamlı değil Zaman Tahmini & Maliyet hesabında mantıklı

Zaman Tahmini İşin tahmin edilemeyen kısımları? Kara delikler Yazılımcı performansı? Yazılımcının konsantrasyonu +0.5 yazılım maliyeti

* http://www.teknikodu.com/adam-gun-hangi-adam-hangi-gun/** http://www.safkan.org/blog/?p=3075

16

http://dilbert.com/strips/comic/2007-09-03/

300 Adam/Günlük İş

17

* http://dilbert.com/strips/comic/2010-04-29/

Yeni Eleman ...

18

Genel Proje Yönetimi Süreçleri

19

Proje Yönetimi Süreç Adımları1. Proje Anlama : Genel projenin temelinin anlaşılması.

Nereden çıktı? Kim kullanacak? Neden yapılıyor? Önceliği nedir? Maliyet/Fayda nedir?

2. Proje Tanımlama : Projenin kapsamı, kapsam dışındakileri projenin alanı, proje sonucunda oluşturulacak dokümanlar-çıktılar (kim hazırlayacak, kim kontrol edecek)

3. Proje Planlama : Tüm Plan aktiviteleri

4. Proje İzleme : Proje gidişatının takip edilmesi. Proje plana uygun gidiyor mu? Plan değiştirilmeli mi?

5. Proje Kapatma : Biten projeden hangi dersler alındı? Projenin genel değerlendirmesi (Proje büyüklüğü, çalışanların performansı vb.) yapılması ve buradaki çıkarımların gelecek projelere aktarılması.

20

Proje Yönetimi Süreç Adımları >>

1. Adım : Proje AnlamaGenel projenin temelinin (özgeçmişinin) anlaşılması.

Proje nereden çıktı, geçmişi var mı? Gerekçesi nedir, neden yapılıyor? Projeyi kim kullanacak? Proje katılımcıları/Destek olacak birimler kimler? Önceliği nedir? (Başka projelere göre) Maliyetler neler? (yazılım, donanım, eğitim, işletme,

bakım vs..) Kabaca “Maliyet/Fayda” değerlendirmesi

Teklif → Talep Olgunlaştırma → İptal/Kabul

21

Proje Yönetimi Süreç Adımları >>

1. Adım : Proje Anlama (devamı...)Temel Bilgi Alanları :

Girdi ve Çıktılar

22

Proje Yönetimi Süreç Adımları >>

2. Adım : Proje TanımlamaProjenin tanımının tam olarak yapılması, kapsamının

belirlenmesi, her bir adımın ve çıktıların belirtilmesi gerekiyor. (Müşteri ile konuşarak kağıda dökülmeli)

Projenin alanının belirlenmesi : Kapsam-kapsam dışı tanımı. Aksi halde müşterinin tüm taleplerini karşılamak zorunda kalırsınız.

Her bir adımda hangi belgeler teslim edilecek? Kim hazırlayacak? Kim onay verecek?

Proje yöneticisin projenin gidişatı ile ilgili farkındalığı nasıl sağlanacak?

Projenin paydaşları arasındaki dağılım

23

Proje Yönetimi Süreç Adımları >>

2. Adım : Proje Tanımlama (devamı...)Proje alanı tanımlanarak müşteri/talep eden kontrol altına alınmış olur.

Proje alanı belirlendikten sonra projede değişiklik istenirse?

Değişiklik İstek Formu- Proje Yöneticisi

- Değişikliği İsteyen

- Değişiklik Gerekçesi

- Projeye etkisi (iş planı ve maliyete)

- Çözüm

- Kabul/Ret durumu

24

Proje Yönetimi Süreç Adımları >>

3. Adım : Proje PlanlamaNe yaparız? Nasıl? Kimle ve Neyle? Ne zaman? Kaça? Riskler nelerdir?

Kabul ve kısıtların belirlenmesi Proje ekip yapısı ve organizasyonun oluşturulması (Kimler çalışacak?) Yazılım geliştirme süreç modelinin belirlenmesi (hangi model kullanılacak) Projenin aktiviteleri (bkz. Yazılım Geliştirme Temel Aktiviteleri) Ayrıntılı aktivitelerin belirlenmesi (Work Breakdown Structure) Aktiviteler arasındaki bağlantıların belirlenmesi (Bir iş bittikten sonra

başkası mı başlayacak, Birinin başlaması için başkası bitmeli mi...) Start-Start, Start-Finish, Finish-Start, Finish-Finish. Başlangıç ve bitiş için araya süre de girebilir.

Kaynak ataması (Aktivetelere çalışanların atanması) Proje süresi ve maliyet Bütçe çıkarılması Kalite planı oluşturulacak Proje risk belirleme → Risk matrisinin Oluşturulması Projenin standarda uygun olarak belgelenmesi

25

Proje Yönetimi Süreç Adımları >>

3. Adım : Proje Planlama (devamı...) Milestone (Kilometre Taşı)

- İç Kilometre Taşı : Takımın kendi içindeki değerlendirme

- Dış Kilometre Taşı : Müşterilerin teslim edilenler üzerindeki incelemeleri

Proje Planlama Adımı girdi ve çıktıları

26

Proje Yönetimi Süreç Adımları >>

4. Adım : Proje İzlemePlanlama aşamasındaki maddelerin takibi yapılır

Ekip belirlenen organizasyon içinde çalışıyor mu?İş programı, tahminler ve bütçe yolunda gidiyor

mu?Müşteri beklentileri karşılanıyor mu?Kalite yönetimi yapıldı mı?Düzenli organizasyon işleyişi var mı?Ekip toplantıları, ara kontroller yapılıyor mu?

27

Proje Yönetimi Süreç Adımları >>

5. Adım : Proje KapatmaÇıkarılan dersler: Bundan sonraki projelere faydası

olması için bu projedeki kazanım ve problemlerin bir iç çıktı olarak kayıt altına alınması

Projedeki kazanımlar, yaşanan problemler belirlenir → sonraki projelerde risk belirlemede kullanılır

Kapanış onayları alınır

Kapanış sonrası bakım sözleşmesi devreye girer

Bakım sözleşmesi ilk safhada yapılmalıydı. Bu aşamaya bırakılmamalı.

28

Yazılım Mühendisliği & Proje Yönetimi

* Dan Brandon’ın kitabından alınmıştır. Scope: iş alanı, Change management: Değişim yönetimi, procurement: eldekilerin değerlendirilmesi.

29

Work Breakdown Structure İş Altkırılım Yapısı

Yapılacakları gösterir.

30

Work Breakdown Structure (devamı...) Seviye 1: Tüm proje 001

Seviye 2: Ana gruplar 100 200 300

Seviye 3: Görevler 110 120 130 310 320 330

Seviye 4: Aktiviteler 121 122 131 321 322 323 331 332

Üstteki yapı Daha alt seviyelere inerse proje kapsamında bir sorun var demektir.

Bu durumda kapsam gözden geçirilmeli, birden fazla proje çıkarılmalı.

WBS yanlızca yapıalcak işleri gösterir. Proje planını göstermez.

31

Work Breakdown Structure (devamı...)

http://www.projectinsight.net/i/project-management-basics/work-breakdown-structure.gif

32

Work Breakdown Structure (devamı...)

33

Kritik Yol Hesabı Hangi işin hangi işe bağlı olduğunu gösterir.

Erken Başlama Zamanı (Üstteki)→ Başlangıçtan bitişe giderek her adımın en erken başlama zamanını bul

Geç Başlama Zamanı (alttaki) → Bitişten başlangıca doğru zamanalrı çıkararak gidilir

Erken Baş. = Geç Başl olanlar Kritik Yolu Gösterir

34

Gantt DiagramıHangi işin ne kadar süreceğini gösterir.

http://upload.wikimedia.org/wikipedia/en/7/73/Pert_example_gantt_chart.gif

35

Organizasyon/Ekip YapısıEkip yönetimi nasıl yapılır?

Demokratik Ekip : Eş yeterlilik ve sorumlukta kişilerden oluşur. Aralarından birini sorumlu seçebilirler.

Şeflik Yapılı Ekip : Herkes şefe ve onun kararlarına bağlı

Hiyerarşik Ekip Yapısı : Fonksiyonel, Matris, Proje Organizasyon Yapıları

36

Proje Yönetim Organizasyonları

Fonksiyonel : PY = Departman YöneticisiZayıf Matris : Takımın Kendi İçinde YönetimKuvvetli Matris : PY Takımından Bir PY

yönetimi Proje Bazlı (Projectionized) : Çalışanlar

projeye bağlı

Proje yönetimi standartları aşağıya doğru artar

Kişisel başarıların etkisi aşağıya doğru azalır

37

Proje Yönetim Organizasyonları

38

Proje Yönetim Organizasyonları >>

Fonksiyonel OrganizasyonDepartmanlara bölünmüş yapıda departman

yöneticinin proje yönetici rolüne bürünmesi

Şirketin prosedürel işlerini yerine getirecek departmanlar tanımlanmıştır. Departmanların yetki ve sorumlulukları belirlidir.

39

Proje Yönetim Organizasyonları >>

Zayıf Matris OrganizasyonuProje koordinasyonu, departman yöneticilerinden alınmış ve

takım üyelerine bırakılmıştır. (Geçici PY)

Proje Yönetimi çok etkin değil.

Proje Yöneticisi ünvanı yok. Proje Asistanı veya Proje Koordinatörü vasıflarıyla projenin gidişatı konusunda üst yönetimi bilgilendiren bir kişi mevcuttur.

40

Proje Yönetim Organizasyonları >>

Kuvvetli Matris OrganizasyonuProje Yöneticileri’nin temel görevi proje yönetmektir.

Proje Yöneticileri ayrı bir takıma bağlıdır

Böylece proje yöneticilerinin diğer birimlerle çalışması esnasında yaşanan kaynak kısıtı sorunu bu şekilde azaltılır.

Özellikle projelerin şirket için hayati önem taşıdığı şirketlerde etkin olarak kullanılır.

41

Proje Yönetim Organizasyonları >>

Proje Bazlı OrganizasyonProje Yöneticilerinin Yetki ve Sorumluluk alanları oldukça geniştir.

Proje yöneticileri çok fazla idari süreçlere dahil olmak zorunda kalabilirler.

42

Risk Yönetimi

43

Risk Yönetimi (devamı...)Şimdi problem olmayıp ileride problem olabilecek

durumlar tespit edilir. (Oluşma ihtimali var)

Adımlar:Risk belirlemeRisk önem tanımı (risk olduğunda etkisi ne

olacak)Risk tablosuRisk izleme ve kontrolProje risk değerlendirme raporu ve kurumda

veritabanı oluşturulması

44

Risk Yönetimi (devamı...)Risk Tablosu Oluşturulur

• Risk tanımı• Risk kategorisi• Risk oluşma olasılığı

belirleme• Risk etki oranı :

Düşük, Orta, Yüksek• Alınacak Önlem• Maliyet

* http://www.docstoc.com/docs/122983556/Risk-Y%EF%BF%BDnetimi

45

Risk Yönetimi (devamı...)Yaygın Yazılım Projesi Riskleri : Ürün büyüklüğü : LOC, FP, Veritabanı, Kullanıcı sayısı vs.. Teknoloji riski (Yeni donanım, yeni ara yüz, yeni tasarım gibi

durumlarda ortaya çıkan riskler) Süreç (Takip nasıl geliştirilecek, var olan bir kontrol var mı? Her

defasında farklı bir yöntem seçiyorsak süreç zorlaşır. Standartlar olmalı. Konfigürasyon yönetimi standardı(belge - tablo)). CASE araçları kullanılıyor mu? Dokumanlar için standartlar.

Müşteri (Daha önce çalışıldı mı, müşteri istekli mi, gözden geçirmede müşteri ile çalışılıyor mu, müşteri yazılımdan ne kadar anlıyor.)

Geliştirme ortamı (Kullandığımız dil, var olan yenilikleri bize sunan bir sistem mi kullanıyoruz. Test için kullandığımız araçlar süreçteki teknoloji kısmıyla girintili.)

Personel (büyüklük, deneyim. Çalışanların sayısı yeterli mi, istenen yetkinlikte mi, ekip uyumlu mu, proje süresince personel bu işe adanmış olarak çalışacak mı? Çalışanlar yeterli eğitimi aldı mı? Takibi)

İşletmecilik Önemi

46

Yazılım Proje Standartları

Sürece Yönelik : Süreç boyunca oluşturulacak dokümantasyonlar; kodlama standartları, proje standartları vs.. IEEE,DoD, ISO

Ürüne Yönelik : Bitmiş ürünün sahip olması gereken özellikler (Ör. Donanım standartları)

Çalışma Modeline Yönelik : CMMI, SPICE

47

CMMIYazılım geliştirme firmalarının uyguladığı süreçlerin

etkinliğinin değerlendirilmesini sağlayan bir sistemdir.

Key Process Area (KPA)

Süreç ve ürün geliştirmeye destek vermektedir. Tekrarların azaltılması hedefHem kurumsal yeterlilik olgunluk, hem de süreçte

yeterlilik var mı?Bütün kalite yaklaşımlarında olduğu gibi süreklilik

isteniyor.

48

CMMI (devamı...)5 Seviye Süreç Alanları Yeterliliği Tanımlar. 1. Düzeyden

Başlayarak Yetkinlik ve olgunluk düzeyi artmaktadır.

1. Initial : başlangıç

2.Managed (temel proje yönetimi adımları uygulanıyor)

3.Defined : Süreç standardizasyonu ve belgelendirme (belli sayıda geçmiş projede uygulanmış)

4.Quantitatively Managed : Niceliksel & Sayısal ölçümler

5.Optimizing : Sürekli süreç iyileştirme. Çözümü iyileştirmeye yönelik düşünmek gerekiyor. Sadece ölçüm yeterli değil.

49

CMMI (devamı...)People CMMI: Çalışanların yetkinliğinin ölçülmesi

Çalışanların hangi yetkinlikte olması gerekiyor. (Yetkinlik değerlendirilmesi).

Varolan çalışanların eğitim planlarının nasıl yapılması gerektiği

Uygun ekip yapılandırılmasının nasıl yapılması gerektiği (kendini yenileyebilme kabiliyeti nedir?)

50

Unified Process ModelYazılım Geliştirme Süreci framework'ü

Inception : Başlangıç işlemleriEleboration : Dizayn & modellemeConstruction : GeliştirmeTransition : Yazılımın kullanıma hazır hale

gelmesi

51

Unified Process Model (devamı...)

52

Unified Process Model (devamı...)

http://www.wittmannclan.de/ptr/cs/rup_model.jpg

53

Yazılım Maliyet TahminiBitmiş projelerden elde edilmiş veri/tecrübelerden

faydalanılabilir

Geçmiş projeler için: Proje büyüklüğü, yazılım büyüklüğü, iş gücü, adam/ay değerleri olmalı

Yazılım Büyüklüğünün belirlenmesi :Doğrudan : LoC, KloC değerleri → güvenilir değilDolaylı : Function Point

54

Yazılım Maliyet Tahmini (devamı...) Her proje için “Function Point” hesabı yapılır

http://groups.engin.umd.umich.edu/CIS/course.des/cis525/js/f00/artan/functionpoints.htm

http://geekswithblogs.net/Prabhats/archive/2007/03/01/107632.aspx

55

Yazılım Maliyet Tahmini (devamı...) CoCoMo (COnstructive COst Modelling)

İş yükü ve süreden proje büyüklüğü çıkarımı yapılır

http://en.wikipedia.org/wiki/COCOMO

56

Proje Beratı (Project Charter)Yazılım Proje Önerisi Dokümanıdır.

Proje kapsamı/kapsam dışındakilerKapsamı çok genel tutmak bir problemdir. Net

ifadeler konulmalı → Müşteri ile anlaşmazlık olmaması için

57http://www.swiftlightsoftware.com/project-charter/project-charter-example-L.gif

58

Proje Kontrolü & İzlemeProje başlangıcı-bitiş arasındaki kontroller sonucu

raporlamalar/bildirimler

Planlama safhasında kontrol noktaları belirlenmeli → ‘Baseline’ belirleme, proje kapsamı belirlendiğinde ve değişiklik olduğunda

Raporlamalar kullanılan yazılım geliştirme modeline göre değişebilir → Waterfall: Bir adımdan diğerine geçerken

Ne sıklıkta rapor verilecek? (Ne zaman?)Değerlendirme Ekibinde Kimler Olacak? (Kime?)Değerlendirme Şekli? (Nasıl?)

Proje Statü Raporu

59

Proje Kontrolü & İzleme (devamı...)Proje planındaki milestone (kilometre taşları)

neticesinde yapılan değerlendirmeler

Major Milestone: Bütün paydaşların bakış açılarıyla şu ana kadar geldiğimiz noktanın değerlendirilmesi

Minor Milestone: Tüm paydaşlar değil daha alt ekiplerin teknik bakış açısıyla değerlendirilmesi.

Durum Değerlendirmeleri

60

Proje Kontrolü & İzleme (devamı...)Periyodik Değerlendirmeler (Periodic Status

Assessment) : Belirli zaman aralıklarında yapılması gereken işlerin değerlendirilmesi. Özellikle destek verilen projelerde görülür. Örneğin: alt yüklenici takibi, 3 aylık geliş raporu, 6 aylık sonuç raporları vs..

Personel YapısıFinansal DurumRisklerTeknik İlerlemeTemel kilometre taşları (Plana uygunluk & sonuç)

61

Proje Kontrolü MetrikleriYönetim Açısından:İşlerdeki ilerlemelerBütçelendirilmiş maliyet: Değişimler, sapmalarPersonel ve ekip dinamiği: personel değişiklikleri

Kalite Açısından :Değişim trafiğiKırılım ve Modülarite : Bir değişiklik talebinin etkisi, yeni

modül/release ihtiyacına neden olup olmayacağıHer bir değişim için Ort. İş gücü saatiHata oranı : Hatalar arasında ortalama zaman, hata

oranı, hata onarımı için geçen süre

62

Proje Kontrolü Metrikleri

* Royce, Chapter 13.1

63

CASE Araçları KullanımıSüreç otomasyonundan faydalanılabilir

64

Sunum 1: Yazılım Proje Yönetiminde Agent KullanımıBaşarısız Yazılım Projeleri → projenin gerçek durumunun

bilinememesi

Software Project Planning Associate (SPPA) : Yazılım sürecinin etkinliği tahmini ve tavsiyeler çoklu ajanlar (multi agents) tarafından dinamik olarak raporlanır.

65

Sunum 2: Agile Sistemlerde Kalite GüvencesiAgile için Kalite Parametreleri

Parameter Description

Correctness (Doğruluk) Tanımlı özelliklere göre sistemin çalışması

Robustness (Sağlamlık) Belirtilmeyen durumlarda uygun performans sunması

Extendibility (Genişleyebilirlik) Yeni özelliklere uyum sağlaması

Reusability (Yeniden Kullanılabilirlik) Farklı uygulamalar için yeniden kullanılması

Compatibility (Uygunluk) Yazılımın diğer bileşenlerle uyumlu çalışması

Efficiency (Etkinlik) Sistem donanım birimlerinin verimli kullanması

Portability (Taşınabilirlik) Farklı donanım ve yazılım ortamlarına kurulabilmesi

Timeliness (Zamanlama) Müşteriye yazılımın zamannda ya da öncesinde teslimi

Integrity (Bütünlük) Yazılımın korunmasının ve erişimin ne kadar iyi olduğu

Verifiability and Validation (Doğrulanabilirlik ve Doğrulama)

Sistemi test etmenin ne kadar kolay olduğu

Ease of Use (Kolay Kullanım) Farklı kullanıcı tiplerinin programı kullanmasının kolaylığı

Maintainability (Bakım) Sistem bakımının ne kadar kolay olduğu

Cost Effectiveness (Maliyet Etkisi) Sistemin verilen bütçe ile gerçekleştirilebilmesi

66

Sunum 3 : Yazılım Projelerinde Başarısızlık NedenleriBir yazılım projesinin başarılı olabilmesi için

- belirlenen kapsam çerçevesinde tüm gereksinimleri karşılamalı

- planlanan bütçeyle, zamanında ve istenen kalitede olmalı

- uzun vadede sorunsuz çalışması gerekmekte

67

Sunum 3 : Yazılım Projelerinde Başarısızlık Nedenleri (devamı...)Başarı faktörleri- Açık gereksinimler ve tanımlamalar- Açık amaçlar ve hedefler- Gerçekçi zaman planı- Etkin proje yönetim becerileri/metot- Üst yönetimin desteği- Kullanıcı/müşteri katılımı- Etkin iletişim ve geribildirim- Gerçekçi bütçe planı- Yetenekli ve yeterli iş gücü- Değişmeyen gereksinimler- Teknolojiyle/metodolojiyle aşinalık- Uygun planlama- Uygun geliştirme süreçleri/metodolojileri- Güncel ilerleme raporu- Etkin izleme ve kontrol- Kaynakların yeterliliği- İyi liderlik- Risk yönetimi

68

Sunum 3 : Yazılım Projelerinde Başarısızlık Nedenleri (devamı...)Başarısızlık nedenleri:

- Belirsiz gereksinimler

- Kullanıcının proje sürecine yeterince katılamaması

- Proje büyüdükçe yönetimin zorlaşması

- Gerçekçi olmayan zaman planı

- Zayıf bütçe planı

- Değişen gereksinimlerin yönetilememesi

- Proje Yöneticisinin bilgi eksikliği

- Başarısız kalite yönetimi

- Kaynak yetersizliği

- Başarısız risk yönetimi

- Zayıf test süreci.

69

Sunum 4 : Koordinasyon ve İletişimÇevik yazılım geliştirmenin avantajları :

- Gereksinimlerin değişiminine kolay adaptasyonu sağlaması

- Müşteri ve geliştirici arasında kapsamlı işbirliğini sağlaması

- Ortaya erken ve sık ürün çıkarması

Global (distributed) yazılım geliştirmenin avantajları:

+ Ucuz, yüksek kalitede, kısa geliştirme süresine sahip yazılımlar

+ Farklı zaman dilimlerinde sürekli çalışma imkanı

+ Çok farklı becerileri kullanabilme

+ Düşük iş gücünden faydalanma

- İletişim ve koordinasyon sorunları (yönetim, müşteri)

- Kontrol/yönetim zorlukları

- Beklentinin çok üstünde maliyetler

- Kültürel farklılıklar

- Çalışan sirkülasyonu

70

* http://dilbert.com/strips/comic/2010-03-08/

Tavsiye ...

71

KaynaklarSunum Hazırlanırken kullanılan kaynaklar :

Yıldız Teknik Üniversitesi, Yazılım Proje Yönetimi ders notları

Walker Royce, “Software Project Management”, Rational Software Corporation kitabı

PMI’a Göre Matris Organizasyonları : http://www.gokremtekir.com/index.php/2009/02/03/pmia-gore-matris-organizasyonlar/

PMI’a Göre Fonksiyonel Organizasyon : http://www.gokremtekir.com/index.php/2009/02/02/pmia-gore-fonksiyonel-organizasyon/

PMI'a Göre Proje Bazlı Organizasyon: http://www.gokremtekir.com/index.php/2009/01/30/pmia-gore-proje-bazli-organizasyon/

Teknikodu.com

Safkan.org/blog

Teşekkürler …

top related