Geliştirilmesi planlanan yazılım sistemlerinin amacına uygun, yüksek performanslı, etkinliği yüksek ve müşteri beklentilerinin ötesine geçmesini sağlamanın en kolay yolu detaylı bir sistem analizinin yapılmasıdır.
Sistem Altsistem Tanımları dokümanının Fonksiyonel Gereksinimler kısmında sisteminin "ne yapması" gerektiği belirtilirken "Sistem Karakteristikleri" başlıklarında da yapacağı işi "nasıl yapması" gerektiği belirtilir.
Pek çok projede "Sistem Karakteristikleri" başlıkları bütçe yetersizliği, zaman darlığı veya yeterli uzmanlık olmaması sebepleri ile U/D, N/A, DSB gibi kısaltmalar konularak boş bırakılır.
Sistem kullanıma alındıktan sonra da kullanılabilirlik, erişebilirlik, performans, idame edilebilirlik, gibi konularda ardı ardına sorunlar yaşanmaya başlanır.
Standartlara uygun proje geliştiren şirketler çoğunlukla (kısmen de olsa) "Sistem Karakteristikleri"ni belirlemeye çalışmaktadır. Ancak daha düşük bütçeyle iş yapan şirketlerin bu tarz belgeler oluşturma imkanı olmayabilir.
Bu sebeple, bu tarz şirketlerin kullanımı için, son kullanıcıları tanımaya yönelik soruları aşağıda listeledim. Bu sorulara ek sorular da eklenebilir. Sorulara verilecek cevaplara uygun olarak geliştirilecek yazılım sistemlerinin çok daha az hata içeren ve yüksek müşteri memnuniyeti içeren sistemler haline geleceğine emin olabilirsiniz.
Kullanıcı Beklentileri:
- Kullanıcıların sistemden beklentileri nelerdir?
- Mevcut durumda ne tip işlerde ne tip maliyetler / zararlar oluyor?
- Kullanıcıların bilgisayar okuryazarlığı hangi seviyededir?
- Kullanıcılar içinde bedensel / zihinsel engeli olanlar var mı? Ne tür engelleri var?
- Sistem tek bir yerleşke içinde mi kullanılacak yoksa geniş bir alanda mı?
Kullanıcıları Tanıma:
- Toplam kaç kullanıcı olacak? Önümüzdeki 5 yılda kullanıcı sayısında tahminen kaç kişilik bir artış olur?
- Hangi rollerde kullanıcılar olacak? Yönetici, sistem yöneticisi, veri giriş, raporlama / sunum, …
- Rollere göre kullanıcı sayıları nedir?
- Rollere göre kullanıcılar hangi gün ve saatlerde sistemi kullanacaklar?
- Rollere göre hangi kullanıcı sistemi ne kadar süre kullanacak?
- Rollere göre kullanıcıların en stresli / yoğun / yorucu iş akış(lar)ı nelerdir?
- Rollere göre kullanıcıların çalışma ortamı kısıtları var mı? Sahada kullanım gibi.
- Rollere göre kullanıcı için en kritik / beklemeye tahammül edemeyeceği iş akış(lar)ı nelerdir?
- Kullanıcıların uygulama üzerinden ve/veya dosya sistemi / veritabanı üzerinden girecekleri veri tipleri nelerdir?
- Kullanıcıların girecekleri veri dosyalarının adet ve/veya boyut sınırı var mıdır?
- Kullanıcıların sisteme toplu halde girmeleri gereken veriler ve/veya başka bir sistemden aktarılması gereken veriler var mı?
- İşin zorluklarını ve olası dar boğazlarını anlamak açısından bir müddet çalışma ortamında kullanıcılar ile birlikte vakit geçirmemiz mümkün mü?
Kullanıcı Eğitimi:
- Kullanıcılara hangi konularda eğitim verilecek?
- Eğitim hangi ortamda yapılacak?
- Eğitim sırasında (projenin ilk aşamasında) Kullanabilirlik testi için prototip hazırlanması.
- Toplamda hangi rolde kaç kullanıcı eğitim alacak?
- Eğitim materyali nelerden oluşacak?
Donanım/Yazılım Altyapısını Tanıma:
Yazılım:
- Kullanılan işletim sistem(ler)i nelerdir?
- Kullanılan internet gezginlerinin isimleri ve versiyonları nedir?
- İnternet Gezginleri'nde yüklü addon - pluginler var mı?
- İnternet gezginlerinin / pluginlerin güncellenmesine izin verilmekte midir?
- Kullanıcı doğrulama için LDAP benzeri bir sistem var mıdır?
Donanım:
- Sistemin kullanılacağı tesis(ler)in fiziksel altyapısı nedir? Kablosuz iletişim gerekli ise, ortam uygun mudur?
- Kullanıcıların sistemi kullanacakları donanımın (bilgisayar, tablet, telefon) özellikleri nelerdir? Rollere göre hangi tip donanımlar kullanılacaktır?
Kalite Karakteristikleri:
- Sistemin herhangi bir çevresel şart kısıtı var mıdır? Sıcaklık, nem, toz, gürültü, sarsıntı, ...
- Sistemin kullanılacağı tesis(ler)in donanım altyapısı nedir? Ağ hızı, sunucu sayısı, elektrik altyapısı, jeneratör / UPS varlığı, …
- Sistemin Genişleyebilirlik ihtiyacı var mı? Sınırları nedir?
- Sistemin Yedekleme ihtiyacı var mı? Nasıl bir süreç düşünülüyor?
- Sistemin uyması gereken bir Sertifikasyon kısıtı var mı?
- Sistemin birlikte çalışması gereken (Uyumluluk) başka sistemler var mı? Arayüzler ve veri tipleri nedir?
- Sistemin Kaynak Kullanım kısıtları var mı? CPU, bellek, disk alanı, ağ kapasitesi kullanım sınırları gibi.
- Sistemin Afet Kurtarma özelliği ihtiyacı var mı?
- Sistemin Efficiency (belirli bir yük için kaynak tüketimi) kısıtı var mı?
- Sistemin Effectiveness (harcanan efor sonrasında elde edilen performans) kısıtı var mı? Bir işlemin en fazla 3 adımda yapılması gibi.
- Sistemin uyması gereken bir yasal mevzuat / standart var mı? Nedir?
- Sistemin Performans (tepki süreleri) kısıtı var mı? Hangi yük altında bu süreler nedir?
- Sistemin Platform Uyumluluk kısıtı var mı? Hangi platformlar?
- Sistemin veri / bilgi Gizliliği kısıtı var mı? Ne tür veriler, hangi roldeki kullanıcılar?
- Sistemin Kurtarılabilme (Recovery / recoverability) kısıtı var mı? Ölümcül hata durumunda en geç 5 dakikada sistemin faal hale gelmesi gibi.
- Sistemin Bakımı için izin verilen gün / saatler nelerdir?
- Sistem için Hizmet Seviyesi Anlaşma şartları nelerdir?
Kullanıcı Destek:
- Kullanıcıların eğitim sonrası sorunlarında hangi yöntem ile yardımcı olunacak?
- Bir Destek Merkezi kurulması ihtiyacı var mı?
- Destek hangi ortam üzerinden sağlanacak? E-posta, telefon, video konferans, …
- Soru ve hata bildirimleri nerede kayıt altına alınacak?