Doğru Ürünü mü Yapıyoruz, Ürünü Doğru mu Yapıyoruz? Doğrulama ve Geçerleme
Yazıler

Doğru Ürünü mü Yapıyoruz, Ürünü Doğru mu Yapıyoruz? Doğrulama ve Geçerleme

Bir sistemin bütün testlerini geçmesi, o sistemin işe yarayacağı anlamına gelmez.

Bu cümle ilk duyulduğunda çelişkili gelir. Oysa mühendislikteki en pahalı başarısızlık türlerinden birinin tam tarifidir: şartnamedeki her maddeyi sağlayan ve kullanıcının ihtiyacını karşılamayan ürün.

Bunun arkasında, çoğu zaman aynı anlamda kullanılan ama tamamen farklı iki kavram vardır.

Tanım

Doğrulama (verification): Ürünü doğru mu yapıyoruz? Sistem, kendisi için yazılmış gereksinimleri karşılıyor mu? Referans nokta şartnamedir.

Geçerleme (validation): Doğru ürünü mü yapıyoruz? Sistem, kullanıcının gerçek ihtiyacını karşılıyor mu? Referans nokta ihtiyaçtır.

Aradaki fark, referansın nerede olduğudur. Ve şartname ile ihtiyaç aynı şey değildir: şartname, ihtiyacın bir yorumudur ve her yorum gibi yanlış olabilir.

Klasik örnek: şartnamede "sistem 5 kg taşıyacaktır" yazar, sistem 5 kg taşır, doğrulama geçer. Sahada anlaşılır ki kullanıcının taşıması gereken yük 5 kg değil, 5 kg + montaj aparatıdır. Doğrulama başarılı, geçerleme başarısız. Ürün şartnameye uygun ve işe yaramaz.

V-modeli: iki kolun ne anlattığı

Sistem mühendisliğinin en yaygın görselleştirmesi V-modelidir ve asıl anlattığı şey tam olarak bu ayrımdır.

Sol kol, ayrıştırma (yukarıdan aşağıya): Kullanıcı ihtiyaçları → sistem gereksinimleri → alt sistem gereksinimleri → bileşen tasarımı

Sağ kol, birleştirme ve test (aşağıdan yukarıya): Bileşen testi → alt sistem entegrasyonu → sistem doğrulama → kullanıcı geçerlemesi

Modelin can alıcı noktası, yataydaki eşleşmelerdir. Sağ koldaki her test seviyesi, sol koldaki karşı seviyeye bağlıdır:

  • Kullanıcı ihtiyaçları. Sağ kol (kanıtlama): Geçerleme (gerçek kullanıcı, gerçek görev)
  • Sistem gereksinimleri. Sağ kol (kanıtlama): Sistem doğrulama / kalifikasyon
  • Alt sistem gereksinimleri. Sağ kol (kanıtlama): Entegrasyon testi
  • Bileşen tasarımı. Sağ kol (kanıtlama): Birim / bileşen testi

Bu eşleşme sadece şematik bir zarafet değil, çok pratik bir kural üretir:

Sol koldaki her kutu yazılırken, sağdaki karşılığının nasıl kanıtlanacağı da yazılmalıdır.

Yani bir gereksinim yazdığınız anda test yöntemini de yazarsınız. Bunu sonraya bırakan projeler, sonunda doğrulanamayan gereksinimlerle kalır. Ve o noktada seçenek ya gereksinimi değiştirmek ya kanıt olmadan teslim etmektir.

Doğrulama yöntemleri: hepsi test değildir

Yaygın bir yanlış anlama: doğrulama, test yapmaktır.

Aslında dört standart yöntem vardır ve doğru olanı seçmek maliyet açısından belirleyicidir:

Muayene (inspection). Gözle veya ölçüm aletiyle bakılır. Boyut, ağırlık, etiketleme, malzeme. En ucuz yöntem.

Analiz (analysis). Hesap, simülasyon veya modelleme ile gösterilir. Test edilemeyen ya da test edilmesi çok pahalı olan durumlar için: yapısal dayanım, ömür, aşırı koşullar. Simülasyon altyapısına yapılan yatırımın kalifikasyon aşamasında geri döndüğü yer burasıdır.

Gösterim (demonstration). Sistem çalıştırılır ve beklenen davranışı sergilediği gözlenir. Ölçüm gerekmez, işlevin varlığı yeterlidir.

Test. Ölçüm yapılır, sayısal sonuç kriterle karşılaştırılır. En kesin, en pahalı yöntem.

Her gereksinim için en ucuz yeterli yöntemi seçmek, kalifikasyon bütçesini belirgin biçimde değiştirir. Her şeyi test etmeye kalkan projeler, kalifikasyon aşamasında bütçelerini yerler.

Geçerleme neden atlanıyor?

Projelerin çoğunda doğrulama yapılır, geçerleme yapılmaz. Sebepleri yapısaldır:

Geçerleme geç yapılabilir. Gerçek kullanıcının gerçek görevde denemesi için sistemin bitmiş olması gerekir. O noktada takvim baskısı zirvededir.

Geçerleme rahatsız edicidir. Bulduğu şeyler tasarım seviyesindedir ve düzeltmesi pahalıdır. "Bulmasak da olur" hissi gerçektir.

Sözleşme genellikle doğrulamayı zorunlu tutar, geçerlemeyi değil. Şartname maddelerinin sağlanması hakediş şartıdır; kullanıcı memnuniyeti çoğu zaman değildir.

Kullanıcı erişilebilir olmayabilir. Özellikle savunmada, gerçek son kullanıcıya erişim kısıtlıdır.

Ama atlanmasının bedeli, sahaya çıktıktan sonra ortaya çıkar. Ve orada düzeltmenin maliyeti, geliştirme aşamasındakinin kat kat üzerindedir.

Geçerlemeyi öne çekmenin yolları

Tam geçerleme sonda yapılır ama sinyalini erken almanın yolları vardır:

Kullanıcıyı gereksinim aşamasına dâhil edin. Geçerlemenin en ucuz hali, şartname yazılırken kullanıcının odada olmasıdır. Bulunan her yanlış varsayım, orada bedava düzeltilir.

Operasyonel senaryolar yazın, madde listesi değil. "Operatör aracı şu koşulda alır, şunu yapar, şu durumda şöyle davranır" biçiminde yazılmış senaryolar, madde listesinin gizlediği boşlukları görünür kılar.

Erken maketlerle geçerleyin. Tam sistem olmadan da geçerleme yapılabilir: arayüz maketi, 3B basılmış mekanik model, simülasyon ortamında görev provası. Kullanıcı bir şeye dokunduğunda söyledikleri, dokümana bakarken söylediklerinden farklıdır.

Simülasyonda görev geçerlemesi yapın. Sistem henüz uçmuyorken, görev profilini simülasyon ortamında kullanıcıyla birlikte koşturmak mümkündür. Bu, geçerlemenin en ucuz ve en az kullanılan hali.

Kalifikasyon, kabul ve doğrulama: karışan üç terim

Savunma programlarında bu üçü sıkça birbirine karışır:

Kalifikasyon (qualification): Tasarımın, öngörülen çevre ve kullanım koşullarına dayandığının kanıtlanması. Tasarıma yapılır, genellikle bir kere.

Kabul (acceptance): Üretilen her bir ürünün, kalifiye edilmiş tasarıma uygun üretildiğinin kanıtlanması. Her seri numarasına yapılır.

Doğrulama (verification): Yukarıdaki ikisini de kapsayan üst kavram; gereksinimlerin sağlandığının gösterilmesi.

Bu ayrımın pratik önemi şudur: kalifikasyon testleri genellikle yıpratıcıdır (aşırı sıcaklık, aşırı titreşim, bazen tahribatlı). Kalifikasyona giren ürün çoğu zaman sahaya gönderilmez. Bunu planlamayan projeler, kalifikasyon aşamasında bir donanım eksiğiyle karşılaşır ve o donanımın temini haftalar sürer.

Program yöneticisi için sonuç

  • Doğrulama planı gereksinimlerle birlikte yazılır, sonunda değil.
  • Her gereksinim için en ucuz yeterli yöntem seçilir. Muayene ile geçilebilecek bir maddeyi test etmek para yakmaktır.
  • Kalifikasyon donanımı ayrıca planlanır ve bütçelenir.
  • Geçerlemenin en az bir erken turu proje ortasına konur, tam olmasa bile.
  • Test tesisi randevuları aylar öncesinden alınır. Bu, kritik yol üzerindeki en sık unutulan kalemdir.

Ve akılda kalması gereken tek cümle:

Doğrulama sizi sözleşmeye karşı korur. Geçerleme, ürünün işe yaramamasına karşı korur. İkisi farklı korumadır ve biri diğerinin yerine geçmez.


Bu yazıdaki görüşler şahsıma aittir, çalıştığım kurumları bağlamaz.

İlgili İçerikler