Yazılım Geliştirme Projelerinde Kontrolörlük /...
Transcript of Yazılım Geliştirme Projelerinde Kontrolörlük /...
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
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
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+
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
% 10
Bütçe Takvim
Kapsam
5
Yazılım Projelerinde Başarı Durumu
Proje - Fil Benzetimi
Yazılım Projelerinde Başarı Durumu
İş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
• ‘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
• İş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
I’ll know it when I see it! (IKIWISI)
Yazılım Mühendisliği
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
Yazılım Mühendisliği Standartları
Yazılım Mühendisliği
Çevik Yazılım Geliştirme
Yazılım Mühendisliği Süreçleri
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
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
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!
İ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ı
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ı
İ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ı
İdare - Kontrolör - Yüklenici İş Birliği
İdare Şeffaflık
Yüklenici
Somut Çıktılar
Kontrolör
Objektif Değerlendirme
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.
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
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
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
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
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.
Sonuçlar - Bir Fil Nasıl Yenir?
Sorular / Teşekkürler