Yazılım Geliştirmeye bir bakış : Yazılım geliştirme zor bir süreçtir, her zaman yüksek maliyetli olarak öngörülür.Yazılım projelerinin %66’sı başarısızlıkla sonuçlanıyor, ya da çok zor tamamlanıyor.
Peki Neden ?
45% gereksinimlerin zayıf belirlenmesi, veya yönetilememesi
30% analizin yetersiz yapılması
25% yetersiz araç kullanımı veya gerekli eğitimin alınmaması
NEDEN GEREKSİNİMLERİN YÖNETİMİ?
Bu soruyu verilecek en güzel yanıt şudur:
“Tahminlerinizden çok, müşterinin istekleri doğrultusunda bir yazılım üretebilmek için”.
Belirsizlik, tüm proje risklerinin kökünü oluşturur. Belirsizliğin büyük bir bölümünü de yetersiz gereksinimler analizi oluşturur. Gereksiz veya tekrarlanmış gereksinimler, projenin kapsamının, maliyetinin ne olacağının belirlenmesini engeller. Dahası, projeyi durdurma noktasına getirir. Gereksinimlerdeki eksikleri gidermek, tasarım sırasında ve, gerçekleştirim sırasında tahmin edilemez maliyet ve iş gücü farkları oluşturur.
İyi Gereksinim Yönetimi Nedir?
- Gereksinimlerin takibi, analizi için kullanıcı merkezli, organize bir yaklaşımdır.
- Gereksinimlerin nasıl ele alınacağını ve gereksinimlerin yönetimi planını kapsar
Peki Gereksinim Yönetimi bize ne avantaj sağlar ?
· Sürecin neresindeyiz?
· Öncelikli olanları biliyormuyuz?
· Gereksinimlerin tamamını gerçekleştirdik mi?
· Hatalar ve eksikleri biliyor muyuz
?
Bu soruları artık daha az soruyor olacağız ve hepimiz takip edebiliyor olacağız. Boylelikle projemiz “ölçülebilir” hale gelecek. J
Başarılı bir proje dikkatlice oluşturulmuş ve belgelendirilmiş gereksinimlerle başlar. İyi oluşturulmuş bir gereksinimlerin yönetimi süreci, proje takımına tüm projeler boyunca yardımcı olur.
GEREKSİNİMLERİN YÖNETİMİNDE KULLANILACAK ARAÇLAR: BORLAND CaliberRM
Peki Neden CaliberRM ?
CaliberRM Projeleri TeamSystemProjeleri ile entegre çalışır.
Work Itemlar CaliberRM içerisinde;
Gereksinimler de Team System içerisinde görülebilir.
Borland – CaliberRM : Gereksinimleri detaylandırdığımız bölümdür.
|
CaliberRM
|
Gereksinim Yönetim Sistemi
|
|
CaliberRM Administrator
|
Administrator Paneli
|
|
Estimate Professional
|
Tahmini Gereksinimleri Belirler
|
|
Document Factory
|
Kullanıcı tanımlı şablonlardan özelleştirilmiş dokumanları oluşturur.
|
|
Requirement Viewer
|
Gereksinimler için detaylı bir görüntüleyicidir.
|
|
StarTeam Toolbar
|
System Tray’e yerleşerek, ilgili bileşenlere buradan erişim sağlar.
|
|
Import Utility
|
Daha önce Export Utility ile export edilmiş projeyi import eder.
|
|
Export Utility
|
Projeyi ASCII dosyası olarak export eder.
|
|
Diagnostic Tool
|
Provides current status information on server connectivity to aid in troubleshooting, as well as an automated system for reporting problems to Support
|
Borland Caliber DefineIT : Gereksinimleri, Aktörleri ve senaryoları tanımladığımız bölümdür.
Administrator : CaliberRM kurulumu ile birlikte gelir. Projeleri erişimleri,çalışma alanını, CaliberRM ve DefineIT için kullanıcı rolleri , lisanslama ve otomatik bildirimler gibi proje açısından kritik nesneleri buradan tanımlarız.
Administrator: Genel olarak proje için kurallar bu tool ile belirlenmektedir.Administrator tool’a giriş yaparken. Server’ın kurulduğu host’u yazmalıyız.
Localimizde kurulu olduğu için “localhost” olarak yazıyoruz.
Kullanıcı Adı: admin
Şifre : admin olarak ilk girişimizi yapalım.

Kullanıcı Tanımlama
Öncelikle yeni bir proje için, yeni bir kullanıcı yaratarak başlayalım.
1) File à New User
2) 3. Adımda bize oluşturduğumuz kullanıcının hangi security grubuna üye olmasını istediğimizi sorucak buradan administrators’ı seçelim çunku yeni proje oluşturacağız.
3)
4. adımda oluşturduğumuz kullanıcı için bir şifre belirleyelim ardından Password never expires
User can perform Baseline Administration
User can manage Glossary Terms
kutucuklarını tikleyelim.
4) 5. adımda Lisans kaynağı olarak “CaliberRM” seçelim ve çıkan combobozlardan CaliberRM ve CaliberRM Web Viewer için “Concurrent” seçelim.
Evet boylelikle kullanıcımızı oluşturduk. Daha sonra istersek Users tab’ından değişiklik yapabiliriz.Caliber’de kullanıcı gruplarıda tanımlayıp , bir projeye bu grupları atama yapabiliyoruz.
Proje Tanımlama
1) Fileà New Project
2) 3. adımda Projeye atıyacağımız grup var ise seçiyoruz.
3) 4. Adımda Glossary dediğimiz ek sozlukler bulunuyor. Bunlar oluşturacağımız yapıyı tanımlamalar açısından standarlize etmek için kullanılıyor. Ben seçmeden devam edeceğim.
Ve projemizi oluşturduk.
Baseline

Projemizi oluşturduğumuzda karşımıza çıkan arayüz’de dikkatimizi çeken bir bölüm de baseline.. Baselineları birer katman olarak düşünebiliriz. CaliberRm ‘de her projede en az bir tane baseline oluşur. Current Baseline’da Administrator rolundeki kullanıcı, gereksinimleri oluşturur. Current Baseline’da listelenen gereksinimler üzerinde değişiklik yapılabilir.
Baseline’ı katmanlı yapıda bir gereksinim şablonu olarakda düşünebiliriz. Projemizi baselinelara ayırarak yazılım geliştirici gruplar içerisinde gereksinimleri dağıtabiliriz.
Aşağıdaki yapıda gördüğümüz üzere; Current Baseline Altta oluşturulan bütün baselineları kapsamaktadır. Hakan Ayse ve Ali Personel Baseline’ında yeni gereksinim oluşturabilir fakat malzeme ve dys baselinelarında sadece gereksinimleri okuyabilir.
Administrator hakkına sahip kişi ise butun baselinelarda değişiklik yapabilir.
External Traceability

CaliberRM’in dışarıdan hangi programlar tarafından erişilebilir olduğunu belirtmemiz gerekiyor. Burada gördüğümüz gibi VSTS Tests ve VSTS WorkItems’ı enabled kısmına taşıyoruz.
Administrator tool’undan projeler ,gruplar ve kullanıcılar hakkında detaylı rapor almakda mumkun.
CaliberRM Define It 2008

Projeyi oluşturmak ..
1. File à New à Requirements Elicitation Project ‘i seçiyoruz.
2. “New Project” sihirbazı açılır.
3. “Requirements Elicitation” sayfasında , Proje adını ve lokasyonu giriyoruz.
4. Next’e tıklayıp Project Preferences Sayfasına ulaşıyoruz.
5. Select the Requirements Elicitation projects ‘i seçiyoruz.
Böylelikle Projemizi oluşturmuş oluyoruz.
Aktörleri Tanımlamak
Aktörleri tanımlamak için projenin üstünde sağ fare tuşuna tıklıyoruz.
Newà Actor diyerek çıkan arayüzden ilgili aktöre vereceğimiz isimi girerek tanımlamayı gerçekleştiriyoruz.n bu örnek için “Kulllanıcı” adında bir aktör tanımladım.

Gereksinim Tanımlama
Gereksinimleri tanımlamak için projenin üstünde sağ fare tuşuna tıklıyoruz.
Newà Requirement dediğimizde sihirbaz karşımıza çıkıyor. Gereksinim ismini ve açıklamasını giriyoruz. Ardından bu gereksinimle ilgili aktörü Primary Actor bolumunden seçiyoruz.

Bir dahaki ekrana geçtiğimizde karşımıza Steps diye bir alan çıkıyor. Şimdi düşünelim. Kullanıcı sisteme girerken nasıl bir yol izlemeli ?
1) Kullanıcı Adını gir
2) Şifreyi gir
3) Tamam butonuna bas
Olarak üç tane basic adım tanımlayalım ve Finish butonuna tıklayalım..
Bu adımdan sonra, requirement üzerinde çift tıklayarak, overview penceresine ulaşalım buradan eğer istersek senaryo adını tanımını ve şayet gerekliyse Primary Actor ‘ü belirledikten sonra ,Open Scenario diyerek senaryo penceresine ulaşalım.

Gördüğümüz gibi ilgili adımlar burada listelenmiş. Bu bölümden senaryo adımlarının ismini F2 tuşuna basarak değiştirebiliriz.
Add Step : Senaryoya yeni adım eklemek.

Peki kullanıcı adı ve şifresi yanlış grilmişsse ne olacak, yada doğru girilmişsse ne olacak bunu irdeleyelim.
Add Decision : Bu fonksiyon sayesinde senaryomuza bir karar aşaması ekliyoruz. İstediğimiz adıma gelerek, Add Decision dediğimizde karşımıza Decision1 – Answer1 ve Answer2 çıkar
Burada isimleri gene F2 tuşuna basarak düzenliyoruz.
Decision à Kontrol
Answer1à Doğru
Answer2à Yanlış
Şeklinde isimleri düzenledikten sonra, kullanıcı adı ve şifre kombinasyonu doğru ise sürecin bitmesini istiyoruz . Doğruyu seçtiğimizde karşımıza bir açıklama alanı ve GoTo çıkıyor.
Açıklama alanındaki bilgileri doldurmamız daha karışık süreçlerde işimizi kolaylaştıracaktır.
GoTo Bölümünden End’i seçerek sürecin tamamlandığını belirtiyoruz.
Şayet kullanıcı adı ve şifre kombinasyonu Yanlış ise sürecin başladığı noktaya gitmesi için Kullanıcı adını gir bolumune yonlendiriyoruz. Aşağıdaki şekil otomatik olarak bizim belirlediğimiz sartlar doğrultusunda Caliber Define IT tarafından oluşturuluyor ve Real Time’da kendi kendini değişiklikler doğrultusunda guncelliyor.
Bu noktadan sonra sürecimiz başka bir süreç ile birleşecek olduğunu dusunerek, farklı bir Requierement tanımlayıp burdaki senaryo ile bağlamak için ;
Once diğer requirement’ı tanımladıktan sonra her hangi bir adımın üzerine gelerek Scenario ekranının sağ alt kosesinden invoke diyerek diğer süreci çağırabiliriz.
Story Boarding : Story Boarding özelliği ile oluşturduğumuz süreci adım adım kontrol edebiliriz.


Caliber Define IT ‘de gereksinimlerimizi tanımadık. Bundan sonra Caliber RM ile senkronizasyonu sağlamamız gerekiyor. Bu senkronizayon için yapmamız gereken projenin üstünde sağ fare tusuna tıklayıp “synchronize requirements” demek. Karşımıza çıkan ekrandan Caliber RM Server’ı altında igilii projenin ilgili adımını buluyoruz. Ardından ok dedikten sonra “Synchronize” butonuna tıklayarak senkronizasyonu gerçekleştiriyoruz.
Ardından projemizi yeni oluşturduğumuzdan dolayı hata gelicektir, ve bize remote serverda bu requirementlar bulunamadı hatası verecektir. Requirementlar üzerinde sağ fare tuşuna tıklayarak “Publish to CaliberRM” diyerek requierementları CaliberRm server’ında da oluşturuyoruz. Bu arada Caliber RM Navigator adlı tool’un Defıne’ıt içerisinde çıktığınıda goruyoruz.
CaliberRM
CaliberRM içerisinden ise Define IT ile tanımlamış olduğumuz requirementları ilgili projeyi açtığımızda görebiliriz.Burada önemli bölüm Responsibilities. Burada gereksinimi atama yaptığımız grup yada kişi kendi account’u ile girdiği zaman bu gereksinimin kendisine atandığını bildiren bir notification alır.Requirementların sırasını, parent/child ilişkilerini drag&drop yaparak düzenliyebiliriz.

Bir gereksinime referans döküman eklemek için; Referances Tab’ına gelip New File komutu ile istediğimiz dökümanı ekleyerek yapabiliyoruz.
Traceability
Traceability’i kullanarak, projeler arasında veya aynı proje içerisinde iş adımları arasında ilişki kurarak yapılan değişikliklerin takibini yapabiliyoruz.Bunun için Traceability tabına gelip modify dememiz ve çıkan arayuzden hangi stepden hangi step’e kadar takip edileceğini belirtmemiz yeterli oluyor.VSTS Workitemları dahil olmak üzere takip etmemiz mumkun.Proje içerisinde genel olarak takip kuralları belirlendiğinde hangi gereksinimlerin tam anlamıyla sonuçlanması için hangilerine bağlı olduğunu görebilmek için Traceability Matrix ‘i kullanabiliyoruz.
Validation
Gereksinim için işlemler tamamlanmış olsa bile test aşaması için , aramızdan seçeceğimiz test yapıcak olan arkadaşımıza ( Beyda J ) ön bilgileri ve nasıl test yapması gerektiğini bildirmek için, Validation tab’ına gelerek ilgili bilgileri doldurabiliriz.
Discussion’da yorumlarımızı yazabiliriz.History’de ise gereksinimin geçmişine bakabiliriz.
Borland Caliber RM ve VSTS
Bilgisayarımıza Visual Studio Team Explorer ve CaliberRm Client yuklediğimizde, RequirementsCaiberRM kısmında CaliberRM içerisinde tanımladığımız gereksinimleri görebiliyoruz. Gereksinimlerin üstüne tıkladığımızda ise CaliberRM Client arayüzünün VSTS’e entegre olduğunu görüyoruz. CaliberRM Client içinden yapabileceğimiz işlemleri buradan da gerçekleştirebiliriz.

Bir daha ki yazımızda görüşmek üzere..
Güney Tosun

Son Yorumlar