GEREKSİNİM DEĞİŞİM KONTROLÜ Sevilay Tanış Konular 1. Yazılım Gereksinim Değişimlerinin Sınıflandırılması 2. Business Process Model Yazılım Gereksinim Değişimlerinin Sınıflanadırılması • Değişik sınıflandırma metotları olmasına rağmen bunların izlenebileceği ve yönetilebileceği metot yoktur. Bu kısımda gereksinimler sınıflandırılarak değişiklik yönetimi anlatılacaktır. Sınıflar: Market(Pazar) Organizasyon Proje Vizyonu Spesifikasyonlar Çözüm Giriş • Yazılım gereksinimleri yazılım geliştirme süresince devam eder. • Bu kısımdaki amaç değişikleri sınıflandırarak ölçülebilir hale getirmektir. Kaynak Alanlarının Açıklaması Yapılan Çalışmada Cevaplanacak Sorular 1. Değişiklik maliyeti nedir? 2. Değişiklik değeri nedir? 3. Şans yüzdesi ve ilgili değişiklik kusurları nelerdir? 4. Gerekli paydaşların sayısı ne olmalıdır? 5.Değişiklikler bulunurken gerçekleşen aktiviteler nelerdir? 6. Proje yönetim kontrol seviyesi nedir? Goal QuestionMetric (GQM) metrikleriyle bu sorular cevaplanır. UML modelleme kullanarak sonuçlar gösterilir. İlgili Çalışma Çalışma Tasarımı: Analiz değişiklikleri ele alındı İlgili Çalışma Çalışma İçeriği: Organizasyon: Araştırmadaki firmanın 300 personeli var ve BT çözümleri sunmaktadır. Proje: Devlet sektöründe geliştirilen proje ele alınmıştır. Tahmini maliyet 1.000.000 poundu aşmaktadır. 15 yazılımcı ve analist bulunmaktadır. Waterflow yaşam döngüsü kullanılmıştır. Proje Nisan 2009 da başlayıp, Ağustos 2010 da sona ermiştir. Veriler yaşam döngüsü süresince toplanmıştır. İlgili Çalışma Veri Belirleme: Akademik çalışma olduğundan dolayı değişiklik yönetimi veri tabanından veriler toplandı. GQM(Goal Question Metric) araştrıcılar ve 2 proje yöneticisi tarafından kullanıldı. Maliyetle ilgili sorular(1-2), Yönetimle ilgili sorular(2-6) değişiklikleri yönetmek adına oluşturuldu. İlgili Çalışma Veri Toplama Protokolü: Değişiklik bulunduğunda veriler analist ya da proje yöneticisi tarafından excelde toplanır. Başlangıç aşamasında iki ayda bir toplantılar düzenlenerek değişiklikler gözden geçirilir. İlgili Çalışma Veri Doğrulama: Her bir kayıt için doğru verilerin toplanıp toplanmadığı için araştırmalar yapılır. İlgili Çalışma Veri İnceleme Süreci: Veri toplantılarında veri doğrulamanın yanında her bir değişiklik alanında tekrar gözden geçirme gerekiyorsa sınıflandırma değişikliği yapılır. Örneğin «New Maket Technology» değişikliği «Market » alanına eklenir. İlgili Çalışma Analiz İşlemleri: Hipotezler araştırma sorularını ifade eder. Örneğin: S1: Değişiklik alanına dayanarak maliyette farklılıklar var mıdır? C1: Değişiklik alanları arasında önemli maliyet farklılıklar vardır. İlgili Çalışma Sonuçlar Geliştirme Aşamasında Genel Görünüm: Proje başlangıcında 16 aylık sürede 282 gereksinim değişikliği görülmüştür. 2405.5 gün maliyet ortaya çıkmış buda proje maliyetini %50 aşmıştır. Sonuçlar Tabloda bulunan değişiklikler ve değişiklik kaynak alanları gösterilmektedir. Şekilde görüldüğü gibi genel olarak UAT ve D&C aşamalarında değişiklikler daha fazla görülmüştür Sonuçlar Değişiklik Maliyeti: Şekildeki gibi değişiklik maliyeti eşit olarak dağılmamıştır. Sonuçlar Tabloda değişiklik alanlarındaki maliyet gösterilmiştir. Maliyetin çoğu başlangıç aşamasında olmasına rağmen UAT aşamasında da yüksek maliyet elde edilmiştir. Sonuçlar Şekilde her bir değişim alanındaki maliyet gösterilmiştir. Eğer tüm maliyet gereksinim alanının maliyetinden büyükse , değişiklikler ortalama maliyetten çok daha pahalıdır. Sonuçlar S1: Değişiklik maliyeti nedir? C1: Değişim maliyeti değişim alanına göre değişmektedir. En maliyetli değişim Organizasyon alanındayken en az maliyet Çözüm alanında gerçekleşmiştir. Sonuçlar Değer Değişimi: Değişikliklerin yarısı «Very Low» değerindedir. Bu gereksinimlerin %74’ü gereksinim alanında oluşturulmaktadır. Sonuçlar S2: Değişiklik değeri nedir? C2: Büyük değer değişikliği organizasyon aşamasında oluşurken en azı sonuç alanında oluştu. Sonuçlar Bulgu: Değişiklik sistem fonksiyoneletisindeki hataları düzeltmek için bir fırsattır. Değişiklik 1677 gün olarak hesaplanmış Bulgu 559 gün maliyeti olarak hesaplanmıştır, bulguların %56 sı çözüm alanında oluşmaktadır. Sonuçlar S3: Şans yüzdesi ve ilgili değişiklik kusurları nelerdir? C3: Bulgular alanlara göre eşit dağılmamıştır. Değişim genel olarak organizasyon ve vizyonda görünürken, bulgu en çok gereksinim spesifikasyon ve çözüm aşamasında görülmektedir. Sonuçlar Paydaş Sayısı: Değişiklik bir paydaş tarafından yada müşterisiz verilmiş karar olabilir. Paydaş sayısı 3 demek 3 veya daha fazla paydaş değişikliği kabul etmiştir anlamına gelir. Paydaş sayısı arttıkça maliyette artar. Sonuçlar S4:Gerekli paydaşların sayısı ne olmalıdır? C4: Hipoteze göre paydaş dağılımı eşit değildir. En çok organizasyon ve vizyonda değişiklik için paydaş kullanılmıştır. Sonuçlar Bulgu Aktiviteleri: Sonuçlar S5:Değişiklikler bulunurken gerçekleşen aktiviteler nelerdir? C5: Yetersiz veriden ötürü test edilemedi. Sonuçlar Proje Yönetim Kontrolü Waterflow yaşam döngüsü kullanıldığından tüm gereksinimler başlangıç aşamasında belirlendi. Proje yönetimi için bu gereksinimlerin ne kadar erken keşfedildiği önemlidir. Sonuçlar Sonuçlar S6: Proje yönetim kontrol seviyesi nedir? C6: Proje Yönetimi(PM) her alanda farklılık göstermektedir. Sonuçlar Yapılan çalışmada gereksinimlerde yapılan değişiklikler nekadar geç olursa, yazılım projesine vereceği zarar okadar büyük olacağı anlaşılmaktadır. Öyleyse gereksinimlerin doğru çıkarılması ve olabilecek değişikliklerin tahmininin iyi yapılması yazılım projelerinde tehlikeyi daha az seviyelere indirir. Business Process Model kullanarak gereksinim değişimindeki tehlikeyi azaltabiliriz. Konular • 1. Yazılım Gereksinim Değişimlerinin Sınıflandırılması • 2. Business Process Model Yazılım Projelerinde Değişiklik • Yazılım projelerinde değişiklik herzaman olacaktır. • Eğer bu değişiklikler uygun şekilde engellenmezse yazılım kalitesi üzerine negatif etkileri olabilir. • Negatif etkiler: maliyet aşımı,gecikmeler, memnun kalmayan müşteriler ve en kötü ihtimalle iptal olan projelerdir. Yazılım Projelerinde Değişiklik Değişiklik örnekleri: • Teknoloji değişiklikleri • Geliştirme aşamasında problemin daha iyi anlaşılmasından kaynaklanan değişiklikler • Prosedüre binayen kullanıcı değişiklik istekleri • Piyasadaki değişiklikler • Kanuni değişiklikler Business Modelling • Business modelling iş fonksiyonlarının nasıl olduğunu belirten soyuttur. • Başlangıç aşamasında business modelling kullanarak basit çizimler ile iletişim daha rahat sağlanır. Sistem simule edilebilir. Business Modelling Faydaları • • • • Kullanıcı katılımı artırılır Modelleme formal ya da informal olabilir. Şimdiki ve ilerki durumlar modellenebilir. Yazılım geliştirmenin başka alanlarında kullanılabilir. Business Modelling ve Yazılım Geliştirme • Business modelling yazılım geliştirme sürecinin başlangıç aşamasında kullanılır, böylece uzun vadeli, güçlü kaliteli yazılımlar oluşturulur. • Brier et al’e göre gereksinim mühendisliği müşteri paydaşları, yazılım geliştiricilerine kadar genişletilmelidir, yani yazılım büyük sosyal teknik sistemidir. Business Modelling ve Yazılım Geliştirme • Business modelling iş içeriğini amacını kurallarını görselleştirir, buda gereksinimlerin elde edilmesinde önemli rol alır. • Business modelling kullanarak istenilen sistemin nasıl olması gerektiği belirtilerek, paydaşların teknik kararlarını almalarında yardımcı olur. Business Modelling ve Yazılım Geliştirme • Şekilde görüldüğü gibi problem anlamadaki değişiklik, gereksinim değişikliğine yansır. Business Modelling ve Yazılım Geliştirmer BPM kullanarak geleneksel yazılım geliştirmeye göre problem daha iyi anlaşılır. Business Modelling ve Yazılım Geliştirme • BPM kullanılarak paydaşlar arası iletişim daha rahat sağlanabilir. BPM Örneği Sonuç • Değişimler erken teşhis edilirse, yazılım projeleri daha az zarar görür. • BPM kullanarak daha az maliyetli ve kaliteli yazılımlar elde edilir. Referanslar [1] Eystein Mathisen, Kjell Ellingsen, Terje Fallmyr «Using business process modelling to reduce the effects of requirements changes in software projects», 2009 2nd International Conference on Adaptive Science & Technology [2] Study Sharon McGee1 and Des Greer2 School of Electronics, Electrical Engineering and Computer Science Queens University Belfast, United Kingdom {1smcgee08|2des.greer}@qub.ac.uk «Software Requirements Change Taxonomy: Evaluation by Case « , 2011 IEEE 19th International Requirements Engineering Conference [3]Muhammad Wasim Bhatti,Farah Hayat, Nadeem Ehsan «A Methodology to Manage the Changing Requirements of a Software Project»2010 International Conference on Computer Information Systems and Industrial Managment Applications