Yazılım Geliştirme Projelerinde Kontrolörlük /...

28
Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik Hizmetleri Y.Müh. Kadriye ÖZBAŞ ÇAĞLAYAN, PMP Y.Müh. Ahmet DİKİCİ, PMP

Transcript of Yazılım Geliştirme Projelerinde Kontrolörlük /...

Page 1: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik

Hizmetleri

Y.Müh. Kadriye ÖZBAŞ ÇAĞLAYAN, PMP

Y.Müh. Ahmet DİKİCİ, PMP

Page 2: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Sunum Planı

• Organizasyon Yapısı • Yazılım Projelerinde Başarı Durumu • Yazılım Mühendisliği • Yazılım Mühendisliği Süreçleri • Teknik Danışmanlık • Örnek Projeler • Sonuçlar

Page 3: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

TÜBİTAK - BİLGEM Organizasyon Yapısı

Stratejik Planlama ve Müşteri İlişkileri, İdari İşler, Mali İşler, Diğer Destek Birimleri, Kamu Sertifikasyon Merkezi

ULUSAL ELEKTRONİK VE KRİPTOLOJİ ARAŞTIRMA ENSTİTÜSÜ (UEKAE)

Kripto Analiz Merkezi

Ürün Gerçekleştirme Bölümü

EMC/TEMPEST Test Merkezi (ETTM)

Bilişim Sistemleri Güvenliği Bölümü (BSG)

Tümdevre Tasarım ve Üretimi Bölümü

İleri Teknolojiler Araştırma Enstitüsü Bölümü (İLTAREN)

Yazılım ve Veri Mühendisliği Bölümü (G222)

BİLİŞİM TEKNOLOJİLERİ ENSTİTÜSÜ (BTE)

UEKAE Kuruluş Yılı : 1972

Enstitü Oluş Yılı : 1995

BİLGEM Kuruluş Yılı : 2010

Kapalı Alan : 58.000 m²

Personel Sayısı : 1200+

Page 4: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Stratejik Plan - 5 No.lu Hedef:

…. Kamu kurum ve kuruluşlarına bilgi sistemlerine yönelik tedarik süreçlerinde ihtiyaç duydukları teknik danışmanlık, test / değerlendirme ve denetleme hizmetlerinde destek sağlamakta ve bu hizmetlere ilişkin kapasitelerinin artırılmasına yardımcı olmaktadır.

TÜBİTAK-BİLGEM-UEKAE / G222

Page 5: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

% 10

Bütçe Takvim

Kapsam

5

Yazılım Projelerinde Başarı Durumu

Page 6: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Proje - Fil Benzetimi

Yazılım Projelerinde Başarı Durumu

Page 7: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

İşin kapsamının ve iş ürünlerinin tanımlı

olmaması

Uygulanması gereken süreçlerin (Proje Yönetimi ve

İzleme ile diğer süreçler) tanımlı olmaması

Yazılım organizasyonlarının personel ve tecrübe

eksikliği

(1) (2)

(4)

7

Yazılım ortaya çıkmadan İdare’nin değerlendirme

yapamaması

(3)

Başarısızlık Nedenleri

Yazılım Projelerinde Başarı Durumu

Page 8: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

• ‘Yazılım Mühendisliği’ disiplini kendine özgü bir takım somut çıktılar üretir. Somut (Teslim Edilebilir) Çıktılar = Ölçülebilir ve Objektif sonuçlar

• Somut çıktıların her adımda değerlendirilmesi ve geri bildirimler ile nihai ürün şekillenir.

Yazılım Mühendisliği

Page 9: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

• İşlerin görünürlüğü ve izlenebilirliğinin sağlanması için planlama yapılmalı ve plan izlenmelidir.

Proje Planı = f (Yazılım Geliştirme Yaşam Döngüsü, Projeye Özgü Parametreler)

• Projeye özgü parametreler İşin Büyüklüğü (Adam Ay)

Bütçe

Zaman

Kaynak

Kapsam

• Yazılım Geliştirme Yaşam Döngüsü İzlenecek süreçlerin sırası, etkileşimi ve çıktıları

Proje Gelişiminin İzlenebilmesi

Yazılım Mühendisliği

Page 10: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

I’ll know it when I see it! (IKIWISI)

Yazılım Mühendisliği

Page 11: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Artırımlı ve yinelemeli yazılım geliştirme yaşam döngüsü

Artırımlı

Yinelemeli

11

Yazılım Geliştirme Yaşam Döngüsü

Yazılım Mühendisliği

Page 12: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Yazılım Mühendisliği Standartları

Yazılım Mühendisliği

Page 13: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Çevik Yazılım Geliştirme

Yazılım Mühendisliği Süreçleri

Page 14: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

14

Tasarım

Kodlama

Gereksinim Analizi

İhtiyaç Analizi

Birim Testleri

Entegrasyon Testleri

Kabul

Testleri

Sistem

Testleri

Yazılım Tasarım Tanımı

Yazılım Gereksinimleri Dokümanı

Teknik Şartname / Müşteri Gereksinimleri Dokümanı

İş Ürünleri - Proje Sonucu İlişkisi

Yazılım Mühendisliği Süreçleri

Page 15: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Kullanıcının istediği : Analiz sonrasında : Tasarım sonrasında : Kodlama sonrasında :

Kontrol Edilmeyen Proje

Yazılım Mühendisliği Süreçleri

Page 16: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Kullanıcının istediği : Kullanıcının asıl ihtiyacı : Analiz sonrası : Tasarım sonrası : Kodlama sonrası :

Kontrollerin Gerçekleştirildiği Proje

Yazılım Mühendisliği Süreçleri

I’ll know it when I see it!

Page 17: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

İdare, Yazılım Mühendisliği konusunda uzman değildir, Yazılım

Mühendisliği çıktılarını değerlendirme noktasında çalışacak

uzman desteğine ihtiyaç duymaktadır.

Yüklenici organizasyonlar çeşitli süreç iyileştirme modelleri

çerçevesinde olgunluk sertifikalarına sahip olsalar bile,

İdare’nin de yazılım projeleri açısından belirli bir olgunluk

seviyesine ulaştırılması gerekmektedir.

İdare tarafında olarak sadece kalite kontrol değil, Yüklenici

tarafında da kalite güvence faaliyetlerine destek verilmelidir.

Teknik Danışmanlık İhtiyacı

Page 18: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Tecrübeli, uzman ve başarı ile bitmiş projelerde

görev almış personelin görevlendirilmesi

Çalışmalara sözleşme hazırlık aşamalarından

itibaren dahil olunması,

(Gerekirse) Proje kapsamının tanımlanmasında

görev alınması,

Projenin izleyeceği yaşam döngüsünün,

süreçlerin ve ara ürünlerin proje başlangıcında

tanımlanması,

Yüklenici’ye süreç ve iş ürünü içeriği / standardı

konusunda rehberlik sağlanması,

Projenin durumunun objektif bir göz

değerlendirilmesi; (öncelikle) İdare ve

Yüklenici’ye geri bildirim sağlanması.

TÜBİTAK’ın Teknik Danışmanlık Yaklaşımı

Page 19: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

İdare’nin projenin sağlığı hakkında zamanında ve

nesnel temellere dayanan geri bildirim alması,

Problemlerin kabulden çok önceki aşamalarda

çözümlenmesinin sağlanması ve bu sayede

Yüklenici’nin yeniden çalışmalarının (rework)

azaltılması,

Projenin başarı ile bitme olasılığının yükselmesi,

Yüklenici’nin süreç temelli çalışma pratiğini

kazanması ve olgunluk seviyesinin artırılması,

Ülke genelinde sektörün olgunluk seviyesinin

arttırılmasına katkı sağlanmasıdır.

Teknik Danışmanlık Kazanımları

Page 20: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

İdare - Kontrolör - Yüklenici İş Birliği

İdare Şeffaflık

Yüklenici

Somut Çıktılar

Kontrolör

Objektif Değerlendirme

Page 21: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

G222 Bölümü tarafından … Projesi kapsamında İdare adına Teknik Danışman sıfatı ile İdare ve Yüklenici’ye Yazılım Mühendisliği süreçlerine ilişkin olarak Kalite Güvence ve Kalite

Kontrol hizmetleri sağlanmaktadır. Bu kapsamda;

Proje 1 - Gerçekleştirilen Faaliyetler

Yüklenici ve İdare’ye eğitimler verilmekte,

Yüklenici’ye yazılım geliştirme sürecine ilişkin

iyileştirme önerileri sunulmakta,

Yüklenici’nin ürettiği iş çıktıları incelenerek geri

bildirimler sunulmakta,

Projeye ilişkin riskler, problemler tespit edilmekte ve

çözüm önerileri geliştirilerek tavsiyelerde

bulunulmakta,

İdare’ye Proje Değerlendirme Raporları sunulmakta,

Yazılım Mühendisliği süreç varlıkları hazırlanmaktadır.

Page 22: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Riskler ve Kritik Bağımlılıklar

Sorunlar ve Çözüm Önerileri

Yüklenici Süreç Yönetimi Değerlendirmesi

Tahminlerden Sapmalar ve Kritik Noktalar

Kilometre Taşlarının Durumu

Proje Değerlendirme Toplantıları

Proje 1 - Proje Değerlendirme Raporu

Page 23: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Yüklenici aktiviteleri yazılım mühendisliği disiplininde uluslararası alanda

kabul görmüş standartlar, modeller ve en iyi pratiklerden faydalanılarak

izlenmektedir.

Gerek duyulan noktalarda süreç varlıkları projenin ihtiyaçları ile

Yüklenici kurumların olgunluk düzeyi ve Proje’de izlenen metodoloji

dikkate alınarak hazırlanmaktadır.

Proje 1 - Yüklenici Süreç Yönetimi Değerlendirmesi

Page 24: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

7. Gözden geçirme sonuçlarının Yüklenici ve İdare ile paylaşılması ve gerekli adımların tekrarlanması

6. İş ürününün gözden geçirme faaliyetlerinin yapılması

5. Belirlenen şablona göre Yüklenici tarafından iş ürününün hazırlanması

4. Hazırlanan kılavuz dokümanın tanıtılması ve geri dönüşlerin alınması

3. G222’de uygulanan sürecin anlatılması, bir pratiğin işletildiğini ve fayda sağladığını göstererek Yüklenici’nin ve İdare’nin ikna edilmesi

2. İş ürünü için Yüklenici’nin olgunluk seviyesine ve Proje’de izlenen metodolojiye göre kılavuz/şablon/kontrol listesinin hazırlanması

1. Yüklenici’nin ilgili aktivite/iş ürünü için olgunluk seviyesi ve yeteneklerinin belirlenmesi

Proje 1 - İş Ürünü Hazırlama ve Değerlendirme

Page 25: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Proje 2 - Projenin Görünür Çıktılarının Tanımlanması •Fizibilite Raporu •Ön Analiz Raporu •CONOPS Dokümanı

•Şartname •İş Tanımı •İş Kırınım Ağacı •Proje Planı •Çalışma ve Teslimat Takvimi •Eğitim ve Yaygınlaştırma Planı •Değişiklik İsteği Formu

•Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence Planı •Sürüm Planı •Müşteri Gereksinimleri •Yazılım Gereksinimleri •Arayüz Gereksinimleri

•Yazılım Tasarım Tanımı •Veritabanı Tasarım Tanımı •Arayüz Tasarım Tanımı •Proje Planı

•Kod Paketleri •Birim Test Planı •Birim Test Paketleri •Birim Test Sonuçları •Kullanıcı Kılavuzları •Kurulum Kılavuzları •Proje Planı

•Entegrasyon Test Planı •Entegrasyon Test Paketleri •Entegrasyon Test Sonuçları •Proje Planı

•Sistem Test Planı •Sistem Test Prosedürleri •Sistem Test Sonuçları •Proje Planı

•Kabul Test Planı •Kabul Test Prosedürleri •Kabul Test Sonuçları •Proje Planı

•Bakım Kılavuzu •Sistem Yükleme Kılavuzu •Kullanıcı Kılavuzu

Page 26: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Proje 2 - Sözleşme İçin Önerilerin Verilmesi

Sözleşme ve ekleri net ve çıktıları tanımlı

hale getirilmesinde

• Teknik Şartname İçeriğinin Netleşmesi

• Seçilen Yazılım Geliştirme Yaşam Döngüsünün Belirlenmesi

• Onay Mekanizmalarının Tanımlanması

• Teslimat Takviminin Belirlenmesi

• Eğitim ve Yaygınlaştırma Planının Belirlenmesi

İzlenecek süreçlerin (Proje Yönetimi, Gereksinim Mühendisliği, Tasarım,

Kodlama, Test, Değişiklik ve Konfigürasyon Yönetimi, Kalite Güvence / Kalite

Kontrol) tanımlanmasında

Kontrol Noktaları’nın tanımlanmasında

İş Kırınım Ağacı oluşturulmasında

Çalışma Takvimi’nin belirlenmesinde çalışılmaktadır.

Page 27: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Sonuçlar - Bir Fil Nasıl Yenir?

Page 28: Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik2015.dinamikler.org/2012/doc/2012/tubitak.pdf · •Proje Planı •Konfigürasyon Yönetim Planı •Kalite Güvence

Sorular / Teşekkürler