1. Ürün Geliştirme Yaşam Döngüsü
Yönetim Çözümleri
Sunan: Yücel Tepeköy
Çözüm Direktörü
BTG (Bilgi ve Teknoloji Grubu Ltd.)
16 Aralık 2010
2. Temel Sebep:
Olgunlaşmamış Yazılım Geliştirme Hayat Süreci
Zayıf kalite – kalite kontrolden yoksun iyi tanımlanmamış gereksinimler
• Proje başarısızlıklarında en önemli 3 neden gereksinimlerin kötü yazılması ile ilgili
• Yeniden yapılan iş (rework) eforunun %82’si gereksinim hatalarından kaynaklanıyor
Karmaşıklık - Kompleksite
Değişimin etkin olarak yönetilememesi
• Kullanıcıların üçte biri IT süreçlerinin kritik düzenlemeler ile ilgilenmediğini söylüyor
• Kullanıcıların dörtte üçü yeni projeleri ya da önemli değişiklik isteklerini takip edecek
sistematik bir yaklaşımları olmadığını söylüyor
Kalite halen sonradan düşünülüyor
• Ortalama bir kurum toplam eforun %30-40’ını yeniden yapılan işlere harcıyor.
• Hataların çoğu test/üretim aşamasında ortaya çıkartılıyor = düzeltmek 50-100 kat
daha pahalı
1980 1990 2000 2010
Zaman
Confidential 4
3. Borland Hedefi
Vizyonumuz: Yazılım geliştirme sürecini yönetilebilir,
verimli ve tahmin edilebilir iş süreçlerine dönüştürmek
• BT Yönetimi Güvenilirliliğini arttırmak
• Yazılımdan elde edilen katma değerin maksimum
seviyeye çıkarılması
Bunu da Açık (―Open”) bir Uygulama Yönetim Hayat
Döngüsü (Open ALM) çözümleri ile sağlıyoruz – bu
teknoloji ve hizmetler ile sizlerin süreçlerine, araçlarına
ve platformlarına gerçek anlamda uyarlanabilirlilik
sağlıyoruz.
Confidential 4
4. Yazılım Başarım Optimizasyonu için
Detaylı Bir Strateji
Tasarım Geliştirme
Yönetim
Tanımlama Test
Konuşlandırma
Confidential
5. Borland’ın Bugünkü ALM Çözümü
ALM: Application Lifecycle Management –
Yazılım Uygulama Geliştirme Hayat Döngüsü Yönetimi
Rapid SQL
Together ® JBuilder ®
ER/Studio Delphi™
C++Builder™
Tasarım
Geliştirme
StarTeam®
Silk Ürün Ailesi
CaliberRM™ Yönetim
Tanımlama
Test
Visibroker
(CORBA),
Interbase,
DBArtisan
Konuşlandırma
Confidential
6. Veri Yönetim Çözümleri
•ER/Studio Data Architect •Delphi
•ER/Studio Business Architect •C++ Builder
•ER/Studio Software Architect •JBuilder
•ER/Studio Repository •Delphi Prism
•ER/Studio Portal •Delphi for PHP
•Meta Wizard •3rdRail
•J Optimizer
Mimari Uygulama
Geliştirme
•DBArtisan Workbench Veritabanı Veritabanı •Rapid SQL and/or Rapid
•Change Manager SQL Developer
•DB Optimizer Yönetimi Geliştirme •Change Manager
•Performance Center •DB Optimizer
•ER/Studio Data Architect •ER/Studio Viewer
•ER Portal
6 Confidential 3/4/2
9. Müşteriler Neden Borland ALM
Çözümünü Seçiyor
1 Gereksinim Temelli Geliştirme
2 Takım Çalışması ve İletişim
3 Kullanılabilirlilik ve Uyarlanabilirlilik
Açık Yazılım olduğu için (bağlayıcı
4 veya tedarikçi bağımlısı değil)
Confidential
10. Gereksinim Temelli Geliştirme
Gereksinim yönetimine harcanan her 1 $, bakım ve geliştirme
maliyetlerinde 40 $ tasarruf sağlıyor.
Borland ne sağlıyor Müşteri için Katma Değeri
Proje Yönetimi, Proje Öngörüsü, Geliştirme ekibinin tümünde ne yapılması
Nesne Modellemesi, SCM, IDE ve gerektiğine dair ortak anlayış. Böylece
Test Yönetimi teknolojileriyle kolay hataları erkenden tespit edebilmek ve
entegrasyon bunları düzeltme maliyetlerinde düşüş.
Dağıtık geliştirme ortamlarına uygun Çok geniş ve dağıtık ekiplerde etkili
kurumsal sınıf mimarisi koordinasyon ve işbirliği
Değişen iş gereksinimlerini yönetmek Değişimin etkisini hızlı bir şekilde
için entegre etki analizi değerlendirme ve daha hızlı karar alma
Gereksinimler
Analiz ve
Dizayn Kodlama Kalite Borland gereksinim tanımlama
Geliştirme
Testleri
Kabul
Kaldıracı aşamasını %50´den fazla
50% Testleri
Üretim
sıkıştırmamızı ve gereksinimlerin
40-100x
30-70x
yeniden kullanımını %60´ın üzerine
15-40x
10x
Ürünü
İyileştirme çıkarmamızı sağladı.
3-6x
1x
Confidential
11. Takım Çalışması ve İletişim
Rollerin arasındaki boşlukları doldurur
Borland ne sağlıyor Müşteri için Katma Değeri
Dağıtık ve uzak ekipler arasında Disiplinli geliştirme sürecinin
iş süreci ve iletişimi yerleştirilmesi ve aynı zamanda pazara
erişim süresinin hızlandırılması
Uygulama geliştirmenin Öngörülebilir, tekrarlanabilir bir yazılım
izlenebilmesi ve kontrolü teslimat süreci
Ürün seviyesinde entegrasyonla Mevcut altyapınıza göre özelleştirilmiş ve
üretilen yapıların değişiminin entegre edilmiş, sizin kendi yazılım
otomasyonu geliştirme sürecinizi yansıtan çözümler
oluşturabilme
Modelleme
Geliştirme
Borland StarTeam uygulamasını 165 üstü kişiden oluşan
bir geliştirme organizasyonunda gerçekleştirdik. Böylece
ve Analiz
Süreç
Yönetimi ve
konfigürasyon yönetim süresinde %50, kodlama
Gereksinim
İşbirliği Performans
Analizi
süresinde %10 ve uygulama build süresinde %18´lik
Yönetimi
tasarruf sağladık.
Konuşlandırma Lucent Technologies
Yönetimi
Confidential
12. Kullanılabilirlilik ve Uyarlanabilirlilik
Kurum içerisinde uyarlanabilirliliğin sağlanması
Borland ne sağlıyor Müşteri için Katma Değeri
Kullanılabilirliği dünyaca geniş kabul Hızlandırılmış uyarlama, ve bunun
görmüş pazar lideri araç tasarımları sonucunda müşteri için zaman maliyet
kazancı
Rol bazlı çözümleri—rollerin geliştirme
aşamalarının birden fazlasını Bir işin birden kere yapılmasının en aza
kapsadığını öngörmesi indirilmesi suretiyle son kullanıcı
üretkenliğinin arttırılması
Gereksinim, modelleme, geliştirme ve
test aşamaları arasında sıkı Gelişkin kalite ve kontrol sayesinde daha
entegrasyon hızlı bir geliştirme süreci
JBuilder Together A Fortune 500 networking communications firm
deployed Borland’s ALM solution to 100 person
development team, saving over $4 million per year,
increasing productivity by over 33% and realizing
Caliber StarTeam
a payback on investment in nearly 2 months.
Consynity
Confidential
13. Açık Yazılım olduğu için (bağlayıcı veya
tedarikçi bağımlısı değil)
Sizin hedefiniz bizim hedefimiz
Borland ne sağlıyor Müşteri için Katma Değeri
Çoklu platform desteği Borland çözümlerinin uyarlanmasında
Geliştirme—Windows, Unix daha düşürülmüş maliyet ve daha az
Konuşlandırma—Java, .NET, Mobil uyarlama zahmeti
Middleware—CORBA, COM Araçların uyarlanmasında minimum
Veritabanı—Oracle, DB2, Sybase düzeyde organizasyon değişimi
Mevcut gereksinimler, kod, modellerin
kolayca kullanımı, birçok platformda Mevcut bilgi ve birikimin korunması
kullanılabilirlilik Geliştirme ortamından fayda sağlamak
Servis/Hizmetlere bağımlı bırakmama için belirli bir platforma bağlı olunmaması
Gizli maliyetlerin olmaması
Borland remains standards-compliant and technology-
agnostic, the veritable Switzerland of the software
development world
IDC
Confidential
15. Tanımlama: Gereksinim Yönetimi
• Borland CaliberRM: genel, teknik, işlevsel ve
operasyonel gereksinimlerin detaylı ve doğru bir
şekilde gösterimi
• İş gereksinimleri, yazılım geliştiren takım ve tüm
operasyon arasında ki boşluğa yönelik köprü oluşturma
işlevini görür.
• Gereksinimlerin yönetiminin otomatik olarak yapılmasını
sağlayan bağımsız bir süreçtir.
• İş gereksinimlerin değiştirilmesinin tüm süreçte ki etkisinin
analizini ortaya koyan ve böylece değişiklikleri sürece
kolayca entegre etmemizi sağlayan bir araçtır.
Confidential
23. Süreç Yönetimi ve
Ekip Çalışması – Ürün Yönetimi
(Konfigürasyon Yönetimi, Değişiklik Yönetimi, İş Akış Yönetimi)
• Borland StarTeam: dağıtık ortamlar için ekip
çalışmasına dayalı, süreç bazlı bir altyapı
• Proje takımının bilgileri paylaşabilmesi, uyumlu bir şekilde
çalışabilmesi ve tüm bu sürecin kontrol edilebilmesi için
ortak bir havuz oluşturulur.
• Tüm proje hayat döngüsünün takip edilebilirliği ve kontrol
edilebilirliğini arttırılması için takımlar arasında
özelleştirilebilir bir iş akış süreci geliştirilir.
• Verimli bir bilgi yönetimi ve gereksinimlerin daha net
ortaya konulabilmesi için bir ana iletişim merkezi
oluşturulur.
Confidential
25. Konfigürasyon Yönetimi
DURUM Test Kalite Nihai
(Promotion State)
View ABC Program ABC Program ABC Program
Label v1.0 Build 1001 v1.0 Build 1002 v1.0 Build 1003
Revision Finans Finans İdari
Label Modülü 1.0 Modülü 1.1 Modül 1.0
• Dosyalar
Birim A B C D • Değişiklikler
Nesneler • İhtiyaçlar
• Proje Adımları
1.0 1.0 1.0 1.0 •Tartışmalar
1.1 1.3 1.6 1.3
1.2 1.7 1.21 1.7
Confidential
26. İş Akışı
Örnek: Hataların İş Akışı Dahilinde Ele Alınması
Birim Enteg. Sistem
test test test
Test Döngüsü 1 Hatalar
Değerlendirilen
Hata atanır.
Test başarısız.
2.İnceleme-
0.Giriş 1.Yeni Hata 3.Analiz 4. Analiz Onayı 5. Uygulama
Atama
Yetersiz/İlgisiz 6.Test
Hata Bildirimi
Test
99.b Yetersiz onaylanmadı.
Arşiv-Kapandı Gerçekleştirme
Geri onaylanmadı.
Çevrildi 7. Uygulama
Hata sahibini Onay
bilgilendir. Hata sahibini
bilgilendir.
Konfigürasyon 8. Konfig
güncelle. Oluşturma
Hata sahibini 99.a Düzeltilen
bilgilendir. Arşiv-Kapandı
Confidential
36. Tasarım: Modelleme ve Analiz
• Borland Together Teknolojileri: genel iş
gereksinimlerden yola çıkarak oluşturulmuş teknik
mimarinin görsel belirtimi ve konfigürasyonu
• UML Modelleme
• Değişikliklere hızlı cevap verecek mimari yapılara ve
metodolojilere uyum sağlar.
• Tasarı kalıplarının, tasarım çıtalarının (framework) ve
mimarilerinin tekrarlanabilir kullanımını sağlama başarısı
• Audit ve metric kullanarak uygulama geliştirme boyunca
nitelik standartlarını ölçmenizi sağlar.
Confidential
44. Geliştirme: Uygulama
• Borland Geliştirme Ortamları [JBuilder, Delphi,
C++Builder]: çoklu platform uygulama geliştirme
ortamlar
• Tekrar eden işlerin otomatikleştirilmesi suretiyle kişisel
verimliliği arttırır.
• Hızlı yazılım geliştirme döngüsünü destekleyerek takım
verimliliğini arttırır.
• J2EE ve .NET beraber geliştirildiği ortamlarda ki
karışıklığın üstesinden gelir.
Confidential
45. Test Process – Testing Stage
Test Stages
1. General Test Stage
2. Regression Testing Set
3. Advanced Test Set
4. Functional Test Set
Confidential
89. BTG Gerçekleştirim (Altyapı Seviyesi)
Entegrasyon
Yazılım Geliştirme /
BT Servis Yönetimi Altyapısı (BPM/
Analiz Altyapısı Test Altyapısı
Altyapısı (ITIL) SOA / Job
(CMMI)
Scheduling)
Yazılım/Ürün Geliştirme ve Konfigürasyon Altyapısı (CMMI tabanlı kalite
yönetim gereksinimleri)
Gereksinim Yönetimi, Tanımlama / Prototipleme
Modelleme
Geliştirme ve Konfigürasyon Oluşturma Altyapısı
Değişiklik Yönetim Altyapısı
Yazılım Kalite Süreç Grubu
BT Servis Yönetimi Altyapısı (ITIL tabanlı kalite yönetim gereksinimleri)
Gereklilikler için Denetim (gap analiz) yapılması
Hem iç müşteri hem servis sağlayıcılar hem de nihai müşteri için IT servis yönetiminin
ITIL diliyle gerçekleştirimi
Servis Destek (hali hazırda kurulu olmayan süreçler için)
Servis Masası, Vaka Yönetimi, Problem Yönetimi, Konfigürasyon Yönetimi, Değişiklik Yönetimi
Servis Sunumu
Availability ve Kapasite Yönetimi
Envanter Yönetimi
90 Confidential
90. BTG Gerçekleştirim (Kalite ve Altyapı
Seviyesi)
Entegrasyon
Yazılım Geliştirme /
Operasyon Altyapısı Altyapısı (BPM/ Test Altyapısı (IEEE
Analiz Altyapısı
(ITIL) SOA / Job std)
(CMMI)
Scheduling)
Entegrasyon Altyapısı (Scheduling)
İş Tanımlamalarının merkezi olarak kontrol ve
planlaması için batch/scheduling altyapısının kurulması
Test Altyapısı (IEEE test yönetim gereksinimleri)
Test altyapısının kurulması
Test laboratuarının kurulması ve işletilmesi
Test grubunun IEEE test yönetim süreçlerinin
oluşturulması
Analiz ve tasarım denetimi
Kod denetimi
Regresyon ve Performans Test
91 Confidential
93. Güç ve Tecrübenin
Üzerine Gelişim
Yazılım Başarım
Optimizasyonu
Yönetilebilir Bir İş Süreci ile
İş için Katma Değeri
Kurumsal Üretkenlik
Yazılım Uygulama Geliştirme Hayat
Döngüsü Yönetimi (ALM) Çoklu
Rolleri Kapsayan Ekip Üretkenliği
Geliştirme Ortamları
Kişisel Geliştirici Üretkenliği
Yazılım Başarım Gelişimi
Confidential
94. Test Aşamaları
• Unit Test
• Entegrasyon Testi
• Performans Testi
• İşlevsel Testi
• Load Testi
• Tuning
• Performans Yönetim Testi
Confidential
95. Test Process
Master Test Plan Test Scenario Testing Stage
• Proje anlatılır. • Master Test Planı kapsamında • Seviyeler bazında - üst düzey (genel
• Projede yer alan modüller anlatılır. belirlenen test komponentleri ve test çalışabilirlilik) test setlerinden, ayrıntılı
• Nelerin test edileceği ve nasıl test türleri bazında test senaryoları (test düzey test testlerine kadar değişik
edileceği anlatılır case)’ler yazılır. kademelerde test set’leri hazırlanır.
• Temel komponentler üzerinde • İşlevsel ve işlevsel olmayan test • Hataların ele alınması ile ilgili iş
işlevsel ve işlevsel olmayan testler senaryoları yazılır. akışı
belirlenir.
• Hatalar nasıl ele alınır.
• Test gerçekleştirme (test lab)’ının
nasıl kurulacağı anlatılır.
• v.b.
Temel İSTER belirleme seviyesi
Confidential
96. Test Process – Master Test Plan
Master Test Plan structure ((ANSI/IEEE Standard 829-1983 yapısı)
1. Test Plan Code
2. Introduction
3. Test Units
4. What will be tested
5. What will not be tested
6. Approach
7. Unit success criteria
8. Test stop criteria and requirements for re-starting the testing
9. Test Outputs
10. Test Work Tasks
Confidential
97. Test Process – Testing Stage
Test Stages
1. General Test Stage
2. Regression Testing Set
3. Advanced Test Set
4. Functional Test Set
Confidential
98. Test Process – Testing Stage (cont.)
Test Cycles
Unit Integ. System
test test test
Test Cycle 1
Regres. Integ. System
test test test
Test Cycle 2
Test Cycle 3
Test Cycle ‘n’
Confidential