Yazılım üretirken proje süreleriniz uzamaya meyilli mi? Projelerinizin karlılıkları ile ilgili sorun mu yaşıyorsunuz? Teslimatını yaptığınız ve “bitti” gözüyle baktığınız projelerinizi desteklemekten, yeni projelerinize kaynak ayıramıyor musunuz? Eğer yukarıdaki soruların en az birine evet yanıtı verdiyseniz, okumaya devam edin. Pişman olmayacaksınız.
Günümüzde iş dünyası artık daha karmaşık yazılımlar talep etmekte. Yazılım geliştiriciler ise daha büyük ekipler gerektiren ve daha uzun süren projeler hayata geçirmekteler. Her ne kadar daha yüksek seviyeli teknolojiler kullansak da, günden güne yazılan kaynak kodlar satır satır çoğalıyor.
Bugün yazılan her bir satır kod, yarın bizler için sürdürülmesi gereken yeni bir satır kod olmakta. Yazılım projelerinde, yazılımın geliştirilmesi sırasında birçok sorun ile baş ederken, projelerin daha büyümesi yüzünden, geliştirme sonrasında da bir çok sorun ile başedilmek durumunda. Artık daha fazla kaynak ile sürdürme yapılmaka ve daha karmaşık hata/sorun takibi süreçleri işletilmekte.
Bu sebeplerden dolayı birçok firma rastgele yöntemleri bir kenara bırakıp, daha standart analiz-dizayn-geliştirme modellerine geçmeye başladı. Zira yaşanan sorunların artık çok daha küçük bir kısmı yazılan kaynak koddan kaynaklanıyor. Standish Group’un sunduğu Chaos Report’a göre bulunan hataların sadece %24’ü programlama kaynaklıdır. Bunun yanında ise hataların %29’u uygulama tasarımlarından, %47’si ise müşteri isterlerinin doğru toplanamamasından kaynalanmakta.
Test Ek bir Maliyet midir?
Gelişmekte olan yazılım sektörümüzde, firmaların kafasını kurcalayan en büyük sorulardan birisi de standartlaşmaya yönelik aktivitelerin maliyetleridir. Yapılan çalışmalar göstermektedir ki süreçlerin iyileştirilmesi için harcanan kaynaklar, deneyimli ellere teslim edildiği sürece, 10 aydan düşük sürelerde, yapılan yatırımlarını geri döndürmektedir.
Yazılım geliştirme süreçlerinde QA (Quality Assurance - Kalite Güvencesi) aktivitelerinin yerine getirilmesinde ise bizim deneyimlerimiz çok daha kısa sürelerde bahsedilen yatırımların geri döndüğünü göstermektedir.
Çoğu projede yaptığımız ölçümlerde, projede gerçekleştirilen QA ve test aktivitelerinin maliyetlerinin, test yapılmaması durumunda bakım – destek – sürdürme maliyeti olarak yada süreçlerin uzaması şeklinde birkaç kat artarak, yine de ortaya çıktığını görmekteyiz. Böyle bir ortamda gerçekleştirilen QA ve test aktiviteleri ile yatırımın hemen ilk ay sonunda dönmeye başlaması tabii ki şaşırtıcı değil.Yazılım firmalarında süreç iyileştirme alanında hizmet veren danışmanlık firmalarının doğrudan kaliteye yönelik çalışmaları geliştirerek ilk adımlarını atmalarının sebebi de budur açıkcası.
Rad Group’un araştırmasının sonuçları ile yukarıdaki bilgiler daha da somut hale getirilebilir.
|
Rastlantısal Test |
Manuel Test İle |
Test Otomasyonu İle | |
|
Yatırım |
$0 |
$70.000 |
$150.000 |
|
QA ekibinin bulduğu yazılım hataları |
0% |
55% |
90% |
|
Müşterilerin bulduğu yazılım hataları |
100% |
45% |
10% |
|
QA ekibinin bulduğu hataların maliyeti |
$0 |
$19.250 |
$31.500 |
|
Müşterilerin bulduğu hataların maliyeti |
$350.000 |
$246.750 |
$35.000 |
|
Hata/Kalitenin Toplam Maliyeti |
$350.000 |
$246.750 |
$216.500 |
Görüldüğü gibi yapılan yatırımlar proje sürelerini bile bulmayan dönemlerde geri dönmektedir. Süreçlerini geliştirerek karlılıklarını korumak isteyen firmalar için QA aktiviteleri oluşturmak ve bunları geliştirmek görüldüğü gibi en karlı başlangıç noktası olacaktır.
Nereden Başlamalı?
QA aktiviteleri üç faktörün bileşimi ile gerçekleştirilmektedir.
- Yetişmiş İnsan Kaynağı
- Metodoloji
- Uygun Araçlar
Test teknik yoğun bir aktivitedir. Gerek test aktivitelerinin planlanması, gerekse de uygulanması için farklı bir bakış açısına sahip insan kaynakları gerekmektedir. Kalite güvencesini ve test faaliyetlerini gerçekleştiren bireyler, ne müşterinin kendisi, ne geliştirici, ne analizci, ne de programcıdırlar. Lakin aktiviteleri gerçekleştirirken aynı zamanda bu rollerin hepsine bürünebilmelidirler. Bu sebeple işletmelerin programcılar, analistler yada tasarımcılardan ziyade adanmış bir ekip ile testlerini yürütmeleri daha sağlıklı olacaktır.
Qualitest’in yaptığı çalışmalarda rastlantısal testlerin sadece bulunabilir hataların %50’sini saptayabildiği görülmüştür. Rastlantısal olmayan test ise net bir hedefi olan ve iyi planlanmış bir aktiviteler bütünü ile önemli hataları erken bulmaktır. Söylenebilir ki QA aktivitelerinin büyük bir çoğunluğu planlamadır. QualiTest’in metodolojisine göre, proje sürecinde QA ve test aktivitelerine ayırılan kaynakların yaklaşık %50’si planlamadan ibarettir. Planlama haricinde bile, planlanan aktivitelerin uygulanması, ölçülmesi ve sonuçların değerlendirilmesi sürecinde de sağlam ve denenmiş metodolojiler uygulanmalıdır. Unutulmamalıdır ki kullanılan metodolojinin kalitesiz olması harcanan kaynakların israf edilmesine yol açacaktır.
Bunun yanı sıra bazı organizasiyonlar farklı standartları takip etmektedirler ve her sektörün ihtiyacı farklı ve kendisine özeldir. O nedenle işletilecek olan test süreci ve metodolojisi dikkatli bir biçimde hem sektöre, hem organizasiyona ve hem de şirketin süreçlerine özelleştirilmelidir. Bu özelleştirmenin bir zorunluluk olduğu ve hiçbir ürünün, aracın yada prosedürler bütünün gümüş kurşun olmadığı bir çok işletme tarfından, tüm QA alt yapılarını çöpe atıp, yenisini geliştirerek, olabilecek en acı biçimde öğrenilmiştir.
Kaynakların doğru değerlendirilmesinde önemli bir diğer nokta ise test araçları kullanılarak aktivitelerin etkinliğinin ve veriminin arttırılmasıdır. Çoğu durumda ciddi bir maliyet kalemi olarak ortaya çıkan bu araçların geliştirilen sisteme uygun seçilmesi ve etkin bir biçimde kullanılması çok önemlidir. Piyasada bulunan birçok araç içerisinden size en uygununu seçerken verilecek kararın uzun bir vadeyi gözeterek verilmesi önemlidir. Bunun yanı sıra test araçları ile ilgili fikir alırken tek bir üreticinin önerilerine değil, piyasadaki araçların büyük bir kısmını bilen ve kullanmış uzmanlara da danışmanız en doğrusu olacaktır. Ayrıca kullanmayı düşündüğünüz aracın, sizin organizasyonel yapınıza, iş süreçlerinize ve geliştirdiğiniz projelere uyumluluğunu, uzman tavsiyelerinden faydalanarak ölçmek ve kararınızı buna göre vermek en doğrusudur.
Doğru insan gücü, gelişmiş bir metodoloji ve uygun araçların kullanımı ile günümüz dünyasında yazılımlar daha fazla beklentiye sahip olan müşterileri memnun edebilmektedir. Birçok işletme bu sayede karlılıklarını koruyabilmekte ve iş dünyasının talepkar yazılım ihtiyaçlarına cevap verebilmektedirler.
Evrim ile... Devrim ile değil...
İşletmeler bir noktadan başlayarak kendi test ve QA ekiplerini kurmalı ve gerekli metodolojiyi transfer ederek ve uygun araçlar ile çalışmaya başlamalıdırlar. Bu noktadan sonra evrime izin verilirse süreçler kısaltılıp mükemmelleşecektir.
------------------------------------------------------------------------
Özay Civelek
Yazıda sözü geçen QualiTest, Kalitest Bilişim Sistemleri ve Danışmanlık hizmetleri Ltd. Şti. markasıdır. http://www.qualitest.com.tr


