Giriş
Yazma gereksinimleri, onlarca yıldır önemli bir zorluk teşkil ediyor ve bunun ana nedenlerinden biri, bunları ifade etmek için kullanılan dil. Özellikle okuyucular işletme sahipleri, son kullanıcılar veya paydaşlar olduğunda, gereksinimleri hem kapsamlı hem de kolay anlaşılır bir şekilde yazmak çok önemlidir. Bu, teknik jargondan ve karmaşık terminolojiden arınmış “doğal” bir dil kullanmak anlamına gelir. Bununla birlikte, doğal dil doğası gereği belirsizdir ve kolayca yanlış yorumlanabilir veya yanlış anlaşılabilir, bu da daha fazla karmaşıklığa yol açar.
Ne yazık ki birçok analist, gereksinimleri yazarken her türlü yapıya direniyor, bunun yerine ek gereksinimleri ima edebilecek tanımlayıcı paragraflara ve cümlelere güvenmeyi tercih ediyor. Bu yaklaşım okuyucuları için daha çekici olsa da, gereksinimler geliştiricilere veya sistem analistlerine teslim edildiğinde genellikle kafa karışıklığına ve yanlış anlamalara yol açar. Bu da, gereksinimlerin gerçekte ne anlama geldiğini açıklığa kavuşturmaya çalışırken uzun tartışmalara ve gecikmelere neden olabilir.
Visure Solutions ile yapılan röportajda, Ürdün KyriakidisQRA Corp'un saygın Kurucu Ortağı ve CEO'su , gereksinim mühendisliğinin çeşitli yönleri hakkındaki görüşlerini paylaştı. Bu röportaj sırasında, aşağıdakiler de dahil olmak üzere oldukça ilginç bazı konuları tartıştık:
- Büyük Gereksinimlerin Temel Unsurları
- EaSY Aiçin yaklaşım Rdonanımlar Ssözdizimi Yaklaşımı
- Yapay Zeka, Gereksinim Mühendisliğinin Dijitalleştirilmesinde İlgi Kazanıyor
- Büyük Gereksinimler Yazmak İçin İpuçları ve Püf Noktaları
- Ve daha fazlası!
Jordan Kyriakidis kimdir?
Jordan Kyriakidis, güvenlik açısından kritik sistem tasarımı ve doğrulama alanında tanınmış bir liderdir. Düzenlemelere tabi endüstrilerdeki yeni teknolojileri içeren karmaşık projelerde riskleri belirlemek ve azaltmak için şirketlere ve hükümetlere son teknoloji çözümler sunan bir şirket olan QRA Corp'un Kurucu Ortağı ve CEO'sudur. Yüksek performanslı ekiplere liderlik etme konusunda neredeyse yirmi yıllık bir deneyime sahip olan Jordan, sayısız uluslararası yayını olan başarılı bir bilim insanıdır.
Ürdün doktora sahibidir. İsviçre'deki Basel Üniversitesi'nden Kuantum Teorisi bölümünden mezun oldu ve Avrupa, Amerika Birleşik Devletleri ve Kanada da dahil olmak üzere dünyanın çeşitli ülkelerinde yaşadı ve çalıştı. Gereksinim mühendisliği alanındaki uzmanlığı, bu alanı ilerletme tutkusuyla birleştiğinde, onu sektörde aranan bir konuşmacı ve düşünce lideri haline getirdi. Jordan, AI'dan yararlanmaya yönelik vizyoner yaklaşımı ve kritik endüstrilerde gereksinimleri yazmak için en iyi uygulamaları ile tanınır ve gereksinim mühendisliğini dijitalleştirmede etkili olmuştur.
Gereksinim Belirtimi nedir?
Gereksinim belirleme, bir sistemin, yazılım uygulamasının veya ürünün işlevsel ve işlevsel olmayan gereksinimlerini açıkça tanımlama ve belgeleme sürecidir. Gereksinim tanımlamasının amacı, müşteriler, son kullanıcılar ve diğer ilgili taraflar dahil olmak üzere paydaşların ihtiyaç ve beklentilerini açık ve öz bir şekilde yakalamaktır. Bu belgeler, sistemin veya ürünün tasarımı, geliştirilmesi, test edilmesi ve uygulanması için bir plan olarak kullanılır.
Gereksinim belirtimi tipik olarak sistemin veya ürünün amaçlanan işlevselliğinin, performansının, kullanılabilirliğinin, güvenilirliğinin, güvenliğinin ve diğer önemli özelliklerinin bir tanımını içerir. Ayrıca sistem veya ürünün tasarımını veya uygulanmasını etkileyebilecek kısıtlamaları, varsayımları veya bağımlılıkları da içerebilir. Gereksinim belirtimi, yazılım geliştirme yaşam döngüsünün önemli bir bileşenidir ve proje paydaşları arasında etkili iletişim ve işbirliği için bir temel görevi görür.
Büyük Gereksinimler Yazmanın Önemi
Büyük gereksinimler yazmak, herhangi bir yazılım geliştirme projesinin başarısı için çok önemlidir. İşte bazı nedenler:
- Açık İletişim: İyi yazılmış gereksinimler, tüm proje paydaşlarının geliştirilmekte olan sistemden veya üründen ne beklendiği konusunda net ve ortak bir anlayışa sahip olmalarını sağlamaya yardımcı olur. Bu netlik, herkesin aynı fikirde olmasını sağlayarak hatalara, yeniden çalışmaya ve proje gecikmelerine yol açabilecek yanlış anlama ve yanlış iletişim riskini azaltır.
- Kullanıcı İhtiyaçlarına Odaklanma: Büyük gereksinimler, geliştirilmekte olan sistem veya ürünün onların beklenti ve gereksinimlerini karşılamasını sağlayarak son kullanıcıların ve müşterilerin ihtiyaçlarına odaklanır. Bu yaklaşım, müşteri memnuniyetini artırır ve ürün ile kullanıcı ihtiyaçları arasındaki uyumsuzluk nedeniyle projenin başarısız olma riskini azaltır.
- Risk yönetimi: Gereksinimler, potansiyel riskleri ve sorunları geliştirme sürecinin başlarında tanımlayabilir ve proaktif azaltma stratejilerinin devreye alınmasına olanak tanır. Ekipler, olası sorunları erkenden belirleyerek maliyetli yeniden çalışmalardan, gecikmelerden ve hattaki başarısızlıklardan kaçınabilir.
- Verimlilik: Büyük gereksinimler, geliştiricilerin izlemesi için net bir yol haritası sağlayarak geliştirme sürecini kolaylaştırmaya yardımcı olur. Bu yol haritası, geliştiricilerin en önemli özellikler ve gereksinimler üzerinde çalışmasını sağlayarak daha az önemli görevler için boşa harcanan çabadan kaçınılmasını sağlar.
- Kalite güvencesi: İyi tanımlanmış gereksinimlere sahip olarak, geliştirilmekte olan sistem veya ürünün gerekli kalite standartlarını karşılamasını sağlamak daha kolaydır. Büyük gereksinimler, geliştirilmekte olan sistem veya ürünün test edilmesini, doğrulanmasını ve doğrulanmasını kolaylaştırarak, zamanında, bütçe dahilinde ve beklenen kalite seviyesinde teslim edilmesini sağlar.
Büyük Gereksinimlerin Özellikleri
Müşteri beklentilerini karşılayan, zamanında teslim edilen ve bütçe dahilinde olan başarılı yazılım geliştirme projeleri sunmak için büyük gereksinimler gereklidir. Büyük gereksinimlerin bazı özellikleri şunlardır:
- Açık ve Özlü: Belirsizliği veya karışıklığı önleyen açık ve özlü bir dille büyük gereksinimlerin anlaşılması kolaydır.
- Tamamlayınız: Büyük gereksinimler, geliştirilmekte olan sistemin veya ürünün tüm gerekli işlevsel ve işlevsel olmayan yönlerini kapsamalı ve yoruma veya yanlış anlaşılmaya yer bırakmamalıdır.
- Doğru: Büyük gereksinimler doğru ve doğrulanabilir olmalı, yazılanlar ile sistem veya ürünün yapması beklenenler arasında hiçbir tutarsızlık olmamalıdır.
- Test edilebilir: Büyük gereksinimler test edilebilir olmalıdır, yani sistemin veya ürünün gereksinimleri karşıladığını doğrulayabilen testler oluşturmak mümkün olmalıdır.
- Öncelikli: Önce en önemli özelliklerin ve işlevlerin geliştirilmesini sağlamak için büyük gereksinimlere öncelik verilmelidir.
- Mümkün: Büyük gereksinimler uygulanabilir olmalıdır, yani verilen zaman ve bütçe kısıtlamaları dahilinde teknik ve pratik olarak ulaşılabilir olmalıdır.
- İzlenebilir: Büyük gereksinimler izlenebilir olmalıdır, yani talep eden paydaş da dahil olmak üzere her gereksinim ile kaynağı arasında açık bir bağlantı vardır.
- Tutarlı: Büyük gereksinimler, proje planı, kapsam bildirimi ve diğer ilgili belgeler dahil olmak üzere diğer proje belgeleriyle tutarlı olmalıdır.
- açık: Büyük gereksinimler, geliştirilmekte olan sistemden veya üründen ne beklendiğinin net bir şekilde anlaşılmasını sağlayarak, belirsizlik veya karışıklık içermemelidir.
Gereksinimleri Yazarken Karşılaşılan Zorluklar
İnsanların gereksinimleri yazarken karşılaştıkları çeşitli zorluklar vardır.
Kötü Evrak İşleri – Bazı kuruluşlarda, süreçlerin belgelenmesi ya yoktur ya da eşit düzeyde değildir. Bu durumda, gereksinimlerin toplanması iki adımlı bir süreç haline gelir: önce mevcut sürecin tersine mühendisliğini yapın ve ardından iyileştirme ve optimizasyona ihtiyaç duyan alanları belirleyin. Gereksinimlerin detaylandırıldığını ve doğru olduğunu doğrulamak için kilit paydaşları ve konu uzmanlarını belirlemek ve onlarla doğrudan etkileşim kurmak çok önemlidir. İş süreci haritaları çizmek ve iş akışlarını görselleştirmek, bunu yapmanın iki mükemmel yoludur. Bu, tam bir resim sağlarken yanlış varsayımların ortadan kaldırılmasına yardımcı olur. Süreç haritalarının çizilmesi ve süreçlerin görüntülenmesi bu amaç için yararlı iki yaklaşımdır.
Çelişkili Gereksinimler – Paydaşların iş hedefleri için farklı öncelikleri olduğunda, bu birbiriyle çelişen gereksinimlere yol açar. Bu gibi durumlarda bir iş analistinin sorumluluğu, tüm gereksinimleri ayrıntılı olarak belgelemek, hangi isteklerin birbiriyle çeliştiğini belirlemek ve paydaşlara neyin öncelikli olduğuna karar verme fırsatı tanımaktır.
Paydaşların görüşlerini dinlemeden karar veremezsiniz ve bir iş analisti olarak neye öncelik verilmesi gerektiği konusunda bazı fikirleriniz olabilir. Paydaşların bakış açısını duymak hala çok önemlidir. Bir anket oluşturmak, paydaşların çoğunluğu için neyin en önemli olduğu konusunda netlik elde etmenin yöntemlerinden biri olabilir.
Kullanıcı Girişinin Kullanılamaması – Birkaç neden, son kullanıcıların kullanılamamasına katkıda bulunabilir ve her biri kendi çözümünü gerektirir. Örneğin, bazen son kullanıcılar günlük işleriyle o kadar meşguldür ki, gereksinim toplama etkinliklerine katılmak istemezler.
Bu gibi durumlarda, bir iş analistinin yapabileceği en iyi şey, etkileşimlerin sayısını ve süresini sınırlamaktır. Toplantıdan önce mümkün olduğunca fazla araştırma yapmak tartışmayı daha organize ve bilgilendirici hale getirmeye yardımcı olacaktır. Bu neredeyse gereksinimlerin toplanmasını gereksinim doğrulama oturumlarına dönüştürmek gibidir. odak gruplarının tanımlanması ve her grup için en uygun son kullanıcıların belirlenmesi
Deneyim Yerine Arayüze Odaklanmak – Pek çok paydaş ve son kullanıcı, yeni çözümün nasıl görünmesi gerektiğine dair net bir vizyona sahip, ancak bunun neyi başarması gerektiğini bilmiyorlar. Herhangi bir sistemin kullanıcı arabirimi çok önemlidir, ancak işlevselliği tanımlamamalı veya engellememelidir.
İş analistleri, belgelerinde tasarım ve işlevsel gereksinimleri ayrı tutmayı her zaman hatırlamalıdır. Tasarım taslakları yerine diyagramlar, kullanıcı hikayeleri veya düşük maliyetli prototipler gibi daha genel araçları kullanarak, gereksinim toplamanın işlevsel yönlerine odaklanmayı sürdürebilirler.
Paydaş Girdileri – Paydaşlar veya son kullanıcılar, tasarımcılara sistemin ne yapması gerektiği yerine sistemin nasıl çalışması gerektiğini söylemeye çalıştıklarında, yetersiz tasarımlara yol açabilir. Bunun önüne geçmek için, "neden?" ta ki çözülmesi gereken asıl soruna ulaşana kadar.
İletişim Sorunları – Bir iş analisti ile diğer taraflar arasında iletişim bozukluğuna yol açabilecek sorunlar arasında dil engelleri, yanlış varsayımlar, yeterince açıklanmayan kelime dağarcığı ve teknik terimlerin aşırı kullanımı yer alır.
Bu sorunu önlemek için ideal yaklaşım, sık sık etkileşimde bulunmak ve iki yönlü konuşmalar geliştirmektir. Keşfettiğiniz ihtiyaçları belgeleyin ve bunları çeşitli konu uzmanlarına akran incelemesi ve eleştirisi için gönderin, bir jargon sözlüğü oluşturun ve önermeleri iki kez kontrol edin.
Gereksinimleri Yazarken Yaygın Hatalar
Yazma gereksinimleri zorlu bir görev olabilir ve yazılım geliştirme projesinin başarısını etkileyebilecek yaygın hatalar yapılabilir. Gereksinimleri yazarken bazı yaygın hatalar şunlardır:
- Belirsizlik: Gereksinimleri yazarken en sık yapılan hatalardan biri, yanlış anlamalara ve hatalara yol açabilen belirsiz bir dilin kullanılmasıdır. Bu, açık, özlü ve net bir dil kullanılarak önlenebilir.
- Eksik veya Tutarsız Gereksinimler: Eksik veya tutarsız olan gereksinimler, yazılım geliştirme sürecinde kafa karışıklığına ve hatalara yol açabilir. Bu, gereksinimlerin eksiksiz ve diğer proje belgeleriyle tutarlı olduğundan emin olmak için gözden geçirilerek ve doğrulanarak önlenebilir.
- Önceliklendirme Eksikliği: Doğru önceliklendirme yapılmadan, gereksinimler gelişigüzel geliştirilebilir, bu da gecikmelere ve müşteri beklentilerini karşılamayan bir ürüne yol açabilir. Gereksinimlerin önceliklendirilmesi, en önemli özelliklerin ve işlevlerin önce geliştirilmesini sağlayabilir.
- Belirsiz veya Doğrulanamayan Gereksinimler: Belirsiz veya doğrulanamayan gereksinimler, sistemin veya ürünün gereksinimleri karşıladığının doğrulanmasında yanlış anlamalara ve zorluklara yol açabilir. Bu, gereksinimlerin açık ve doğrulanabilir olmasını sağlayarak önlenebilir.
- Altın kaplama: Altın kaplama, sistem veya ürüne gereksinimlerde belirtilmeyen ek özellikler veya işlevler eklendiğinde gerçekleşir. Bu gecikmelere, ek maliyetlere ve müşteri ihtiyaçlarını karşılamayan bir ürüne yol açabilir.
- Paydaş Katılımının Eksikliği: Paydaş katılımının olmaması, müşterilerin ve diğer paydaşların ihtiyaçlarını karşılamayan gereksinimlere yol açabilir. Paydaşları yazılım geliştirme süreci boyunca dahil etmek, gereksinimlerin onların ihtiyaç ve beklentileriyle uyumlu olmasını sağlayabilir.
- Teknolojiye Aşırı Güven: Teknolojiye aşırı güven, geliştirilmekte olan sistemin veya ürünün yetenekleriyle uyumlu olmayan gereksinimlere yol açabilir. Gereksinimlerin uygulanabilir ve kullanılan teknolojiyle uyumlu olması sağlanarak bu durum önlenebilir.
- Test Eksikliği Hususları: Test etme, yazılım geliştirmenin önemli bir yönüdür ve gereksinimlerde test etme konusunun dikkate alınmaması, ürünün test edilmesinin zor olmasına veya kalite standartlarını karşılamamasına neden olabilir.
Doğal Dil Yöntemlerini Kullanarak Yazma Gereksinimleri
Gereksinimleri doğal dil yöntemlerini kullanarak yazmak, gereksinimleri açık, özlü ve anlaşılması kolay bir şekilde iletmek için günlük dili kullanmayı içerir. Bu yaklaşım, teknik uzmanlıkları ne olursa olsun tüm paydaşlar tarafından kolayca anlaşılabilen gereksinimlerin yakalanması ve belgelenmesi gereken yazılım geliştirme ve diğer endüstrilerde sıklıkla kullanılır.
Doğal dil, İngilizce, Fransızca, İspanyolca vb. günlük iletişimimizde kullandığımız dildir. Gereksinimlerin doğal dil kullanılarak yazılması, teknik jargon veya teknik olmayan paydaşlara yabancı olabilecek özel bir dil kullanmak yerine, paydaşların günlük iletişimlerinde kullandıkları dilin kullanılmasını içerir.
Yazma gereklilikleri açısından diğer dillerle karşılaştırıldığında, doğal dil teknik olmayan paydaşlar için daha kolay anlaşılır olma avantajına sahiptir. Doğal dili kullanmak, gereksinimlerin tüm paydaşlara etkili bir şekilde iletilmesini sağlamaya yardımcı olabilir ve bu da daha başarılı bir proje sonucuna yol açar. Buna karşılık, resmi belirtim dilleri gibi yazma gereklilikleri için diğer diller daha kesin ve net olabilir, ancak teknik olmayan paydaşların bunları anlaması daha zor olabilir.
Gereksinimleri doğal dil yöntemlerini kullanarak yazmak için basit, anlaşılması kolay günlük bir dil kullanmak önemlidir. Gereksinimler spesifik, ölçülebilir ve doğrulanabilir olmalı ve belirsiz terimler veya teknik jargon kullanmaktan kaçınmalıdır. Şablonların, örneklerin ve görsellerin kullanılması da gereksinimlerin daha net ve daha özlü hale getirilmesine yardımcı olabilir.
KULAK Şablonu
EARS (Gereksinimlere Kolay Yaklaşım Söz Dizimi) şablonu, gereksinimleri yakalamak ve belgelemek için yapılandırılmış bir yol sağlayan bir gereksinim toplama ve belgeleme şablonudur. Havacılık, savunma ve yazılım geliştirme gibi karmaşık ve genellikle teknik gereksinimleri yakalama ve belgeleme ihtiyacının olduğu sektörlerde yaygın olarak kullanılır. EARS şablonu, hem işlevsel hem de işlevsel olmayan gereksinimler için kullanılabilir.
EARS şablonu dört ana bölümden oluşur:
- Çevre: Bu bölüm, dikkate alınması gereken kısıtlamalar veya bağımlılıklar da dahil olmak üzere sistemin çalışacağı bağlamı açıklar.
- Aktör: Bu bölümde, rolleri ve sorumlulukları da dahil olmak üzere, sistemle etkileşim kuracak farklı kullanıcı veya sistem türleri açıklanmaktadır.
- gereksinimi: Bu bölümde, hem işlevsel hem de işlevsel olmayan gereksinimler dahil olmak üzere sisteme yönelik özel gereksinimler açıklanmaktadır. Her gereksinim, standartlaştırılmış bir sözdizimi kullanılarak açık ve öz bir şekilde tanımlanır.
- uyaran: Bu bölümde, sistemi belirli eylemleri veya yanıtları gerçekleştirmesi için tetikleyecek girdiler ve beklenen çıktılar veya yanıtlar açıklanmaktadır.
EARS şablonunu kullanmak için, gereksinim analisti veya ekibi öncelikle kısıtlamalar veya bağımlılıklar da dahil olmak üzere sistemin çalışacağı ortamı belirlemelidir. Ardından, sistemle etkileşime girecek farklı aktörleri veya kullanıcıları ve bunların rollerini ve sorumluluklarını tanımlamalıdırlar. Ardından, şablonda tanımlanan standartlaştırılmış sözdizimini kullanarak sistem için özel gereksinimleri tanımlamalıdırlar. Son olarak, sistemin belirli eylemleri veya tepkileri gerçekleştirmesini tetikleyecek uyaranları ve beklenen çıktıları veya tepkileri belirlemelidirler.
EARS şablonu, gereksinimlerin anlaşılmasını ve doğrulanmasını kolaylaştırarak, gereksinimleri belgelemek için açık ve öz bir yol sağlamak üzere tasarlanmıştır. Havacılık, savunma ve yazılım geliştirme gibi kesin ve doğru gereksinimlere ihtiyaç duyulan sektörlerde sıklıkla kullanılır. EARS şablonunu kullanarak, gereksinim analistleri ilgili tüm gereksinimlerin tutarlı ve yapılandırılmış bir şekilde kaydedilmesini ve belgelenmesini sağlayabilir.
INCOSE Yönergeleri – Şablon
INCOSE veya Uluslararası Sistem Mühendisliği Konseyi, kuruluşların daha iyi sistem mühendisliği süreçleri oluşturmasına yardımcı olmak için standartlar ve yönergeler sağlayan, kar amacı gütmeyen uluslararası bir üyelik kuruluşudur. INCOSE Sistem Gereksinimleri Standardı (SRS), kuruluşların gereksinim beyanlarını uygulanmadan önce değerlendirmelerine yardımcı olmak için tasarlanmış bir dizi kural ve standart içerir. SRS, dünya çapında bir dizi büyük şirket ve devlet kurumu tarafından benimsenmiştir ve birçok farklı endüstride çeşitli uygulamalar için kullanılabilir. Yazılım geliştiriciler, iş analistleri, proje yöneticileri, testçiler, BT departmanı personeli ve diğer ekip üyeleri gibi paydaşların herhangi bir sistem gereksinimi bildirimi veya projesi üzerinde çalışmaya başlamadan önce bu gereksinimleri güçlü bir şekilde anlamaları önemlidir.
Nihayetinde, iyi gereksinimler yazmak, ayrıntılı ve öz olmak arasında dikkatli bir denge kurmanın yanı sıra, gereksinimin test edilebilir ve uygulanabilir olduğundan emin olmayı içerir. INCOSE SRS, ekiplerin kaliteli gereksinimler yazabilmesi ve projelerinin başarılı olmasını sağlamaya yardımcı olabilmesi için ilkeler ve yönergeler sunar. Bu, geliştirme sırasında veya dağıtımdan sonra maliyetli hataların önlenmesine yardımcı olacak ve böylece kuruluşların daha kısa sürede daha iyi sistemler oluşturmasına yardımcı olacaktır.
INCOSE Kuralları nelerdir?
Gereksinim Bildirimleri INCOSE kuralları çerçevesinde değerlendirilir. Bu standartlar, kuruluşların gereksinimlerin uygulanmadan önce fizibilitesini ve kalitesini değerlendirmesine yardımcı olur. Değerlendirme süreci dört ana kriter içerir:
- Açık - Yazılı gereklilikler açık, okunması kolay ve anlaşılır olmalıdır. Aktörler arasında değiş tokuş edilecek olumlu cümleler kullanarak bilgileri açıkça belirtin. Her gereksinim net başarı kriterlerini tanımlamalıdır. Basit kelimeler kullanmaya çalışın ve kısaltmalardan kaçının. Örneğin, “Kullanıcı, Denetim Günlüğü Raporunu görüntüleyebilecektir”.
- atomik – Her gereksinim, ayrı bir test durumu olarak ele alınmalıdır. Gereksinimlerin atlanmasına neden olabileceğinden ve, veya, vb. gibi bağlaçlar kullanılmamalıdır. Bu gibi terimler, yazılım geliştiricilerin ve test uzmanlarının gereksinimleri gözden kaçırmasına neden olabileceğinden, bu özellikle çok önemlidir. Karmaşık ihtiyaçları, her biri ayrı ayrı test edilene kadar daha küçük parçalara bölmek, bunun olmasını önlemenin bir yoludur.
- kesin – Net olmayan, eksik veya çelişkili gereksinimler hatalara ve yeniden çalışmaya yol açabilir. Bunun olmasını önlemek için, gereksinimler nihai hale getirilmeden önce her paydaş tarafından gözden geçirilmelidir. Bu, daha sonra ele alınabilecek boşlukların erken belirlenmesine yardımcı olacaktır.
- Doğrulanabilir – Geliştirme ekibindeki herkesin, gerektiği kadar sık başvuruda bulunabilmesi için belgeye erişimi olmalıdır. Gereksinimlerin net olması gerektiğinden ekip üyeleri daha fazla bilgi istemez. Hepsine SRS belgesinde erişilebilir olmalıdır.
- Gerekli - Her gereksinim, kullanıcıların gerçekten ihtiyaç duyduğu bir şeyi veya harici bir arayüzün varlığı nedeniyle bir standart veya entegrasyon ihtiyacını karşılamak için gerekli olan bir şeyi belgelemelidir. Ayrıca, her gereksinim için yetkili bir kaynağa sahip olmak önemlidir.
- Bağımsız Tasarım – Her gereksinim, nasıl uygulanacağını değil, neyin gerekli olduğunu tanımlamalıdır. Gereksinimler, sistemin dahili detaylarını değil, dışarıdan gözlemlenecek özelliklerini tanımlamalıdır.
- Mümkün - Her gereksinim teknik olarak yürütülebilir olmalı ve bütçe, son tarih ve projeyi etkileyen diğer kısıtlamalar dikkate alınarak uygulanmalıdır. Gereksinimler, maliyet, zaman çizelgesi ve teknoloji dahil olmak üzere gerçek durumu yansıtmalıdır. Gelecekteki teknolojik gelişmelere bağlı olmamalıdırlar.
- Tamamlayınız - Gereksinimler belgesi, geliştirme ekibinizin ve testçilerinizin ürünü tamamlaması ve kullanıcının gereksinimlerini hatasız olarak karşılamasını sağlaması için yeterli bilgiyi içermelidir.
- Doğru - Belgelerde belirtilen gereksinimler, herhangi bir karışıklığı önlemek için çok kesin olmalıdır. Herhangi bir boşluk, belirsizlik, öznellik, üstünlük veya karşılaştırma içermemelidirler. Bu nedenle, doğru gereksinimleri yazmak için doğru bilgileri edinmeli ve toplanan bilgileri doğru bir şekilde belgelemeliyiz.
Gelecek Eğilimler: Yapay Zeka ile Yazma Gereksinimleri
Yapay Zeka (AI) teknolojisi, ürün geliştirmede gereksinimlerin nasıl yazıldığı ve yönetildiği konusunda devrim yaratma potansiyeline sahiptir. Son yıllarda, doğal dil işleme (NLP) ve makine öğreniminde (ML) gereksinim mühendisliğinin belirli yönlerini otomatikleştirmeyi mümkün kılan önemli gelişmeler oldu.
Gelecekteki potansiyel trendlerden biri, yazma gereksinimlerine yardımcı olmak için ChatGPT ve Jasper gibi yapay zeka destekli sohbet robotlarının kullanılmasıdır. Bu sohbet robotları, paydaşlardan gelen girdileri analiz etmek ve bu girdiye dayalı olarak yüksek kaliteli gereksinimler oluşturmak için NLP algoritmalarını kullanır. Kuruluşlar, bu araçlardan yararlanarak gereksinim mühendisliği sürecini düzene sokabilir, gereksinimleri geliştirmek için gereken zaman ve çabayı azaltabilir, daha hızlı ürün geliştirme döngülerine ve kaynakların daha verimli kullanımına yol açabilir.
Diğer bir potansiyel eğilim, müşteri geri bildirimi, sosyal medya gönderileri ve ürün incelemeleri gibi çeşitli yapılandırılmamış veri kaynaklarından gereksinimleri otomatik olarak belirlemek ve çıkarmak için yapay zekanın kullanılmasıdır. Kuruluşlar, bu kaynaklardan ilgili gereksinimleri otomatik olarak belirlemek ve çıkarmak için NLP algoritmalarını kullanarak müşteri ihtiyaçları ve tercihleri hakkında daha derin bir anlayış kazanabilir ve bu da daha başarılı ürün geliştirme sonuçlarına yol açabilir.
Yapay zeka teknolojisi, gereksinimlerdeki potansiyel çatışmaları, belirsizlikleri veya fazlalıkları belirleyerek gereksinimlerin kalitesini ve tutarlılığını geliştirmeye de yardımcı olabilir. Bu, hata ve yanlış anlama riskini azaltmaya yardımcı olarak daha iyi ürün kalitesine ve daha az maliyetli yeniden işleme döngülerine yol açabilir.
Yazma Gereksinimleri İçin Temel İpuçları
- Katmanlar halinde yaz – Gereksinimleri katmanlar halinde yazmak, karmaşık gereksinimleri daha küçük, daha yönetilebilir parçalara bölmek anlamına gelir. Bu, gereksinimleri daha anlaşılır, kapsamlı ve uygulanması daha kolay hale getirmeye yardımcı olur.
- Teker teker – Her gereksinim, ayrı bir test durumu olarak ele alınmalıdır. Gereksinimlerin atlanmasına neden olabileceğinden ve, veya, vb. gibi bağlaçlar kullanılmamalıdır. Bu gibi terimler, yazılım geliştiricilerin ve test uzmanlarının gereksinimleri gözden kaçırmasına neden olabileceğinden, bu özellikle çok önemlidir. Karmaşık ihtiyaçları, her biri ayrı ayrı test edilene kadar daha küçük parçalara bölmek, bunun olmasını önlemenin bir yoludur.
- “Nasıl” Değil “Ne” Konuşun – Sistemin nasıl yaptığına değil, ne yapacağına odaklanılmalıdır. Ek olarak, alan adları, programlama dili nesneleri ve yazılım nesneleri gibi tasarım konularına çok derinlemesine dalmaktan kaçının. Kendinizi Gereksinim Belirtimi Belgesinde bu konuları tartışırken bulursanız, bir adım geri atın – bu muhtemelen fazla spesifik olmaya başladığınız anlamına gelir.
- Doğrulanabilir – Gereksinimleri düzenlerken akılda tutulması gereken başka bir şey de bunların her zaman test edilebilir olmaları gerektiğidir. Bu, sistemin söz konusu gereksinimi karşıladığını doğrulamanın mümkün olması gerektiği anlamına gelir. Bu aynı zamanda bir sonraki noktamız olan izlenebilirlik ile de bağlantılıdır. Bir gereksinim belirsiz terimlerle doluysa, sistemin bu standartları Performans açısından gerçekten karşılayıp karşılamadığını analiz etmek ve doğrulamak zorlaşır. Bu nedenle, Gereksinim toplamanın belirsiz bir süreç olmaması için mümkün olduğunca dilinizde netlik ve kesinlik hedefleyin.
- izlenebilirlik – Proje yönetiminde izlenebilirlik, gereksinimlerin projedeki diğer bileşenlerle bağlantılı olmasını sağlamak anlamına gelir. Bu, proje yöneticilerinin, geliştiricilerin ve paydaşların bir gereksinimin tüm yaşam döngüsünü baştan sona tüm yönlerde ve ayrıca sistemin diğer bölümlerinde takip etmelerini sağlar. İzlenebilirliği düzgün bir şekilde yönetirseniz, herhangi bir gereksinime uymayan koddan ("başıboş" kod) kaçınabilir ve her test senaryosunun en az bir gereksinimi kapsadığından emin olabilirsiniz. Gereksinimleri benzersiz bir tanımlayıcıyla etiketleyerek ve tüm ekip üyelerinin erişebileceği merkezi bir havuzda kaynakları hakkında bilgi sağlayarak izlenebilir hale getirebilirsiniz.
- 3 W – Gereksinimler, çözüme değil, kullanıcının ihtiyaçlarını karşılamaya odaklanmalıdır. Bu nedenle, gereksinimleri geliştirmeden önce kullanıcının gereksinimlerini ve sorunlu noktaları anlamak önemlidir.
- Ne? - Biz ne yapıyoruz?
- DSÖ? – Kimler yararlanacak?
- Neden? - Biz neden bunu yapıyoruz?
- 1 Görev İçin 1 Gereksinim – Her gereksinim, tek bir eylem ve hedef belirtmelidir. Aşırı "ve" ve "veya" kullanımına dikkat edin. Örneğin, “Ayın son Cuma günü ve ödeme 31'inde ise ve 31'i ayın son Cuma günüyse, ödemeyi o gün Doğu saatiyle 6:XNUMX'den sonra yapmak geç ödemeye neden olur. ”. Bunu anlaman için sana meydan okuyorum!
- Gereksinimleri Önceliklendirin – Gereksinimleri, projenin başarısı üzerindeki önemlerine ve etkilerine göre önceliklendirin. Bu, önce en önemli gereksinimlerin karşılanmasını ve paydaşların ihtiyaçlarının karşılanmasını sağlamaya yardımcı olur.
- Kaçış Yok Maddesi – Örneğin, "Kullanıcının açıkça yanlış bir kullanıcı adı girdiği durumlar dışında, sistem oturum açma denemelerinin sayısını belirleyecektir".
Jordan'a Göre Başarılı Projeleri Başarısız Projelerden Ayıran Nedir?
Jordan Kyriakidis'e göre, başarılı projeleri başarısız olanlardan ayıran şey, gereksinimleri etkin bir şekilde yönetme becerisidir. Başarılı projeler, gereksinimleri net bir şekilde anlar ve bunları ilk planlamadan nihai teslimata kadar tüm geliştirme süreci boyunca yönetebilir. Öte yandan, başarısız projeler genellikle yanlış iletişim, gecikmeler ve nihayetinde proje hedeflerini karşılayamamaya yol açabilecek zayıf gereksinim yönetiminden muzdariptir. Bu nedenle, şirketlerin projelerinin başarılı olmasını sağlamak için sağlam gereksinim mühendisliği uygulamalarına ve araçlarına yatırım yapmaları çok önemlidir.
Jordan Kyriakidis Hakkında Daha Fazlasını Nerede Bulabilirsiniz?
Jordan Kyriakidis ve QRA Corp hakkında daha fazla bilgi edinmek için şu adresteki LinkedIn sayfalarına göz atabilirsiniz: https://www.linkedin.com/company/qra-corp/. Ek olarak, Jordan Kyriakidis'i LinkedIn'de şu adreste bulabilirsiniz: https://www.linkedin.com/in/jordankyriakidis/. QRA Corp ayrıca, web sitesinde, teknolojisine ve çeşitli endüstrilerdeki uygulamalarına ilişkin içgörüler sağlayan çeşitli teknik incelemelere ve vaka incelemelerine sahiptir.
Son Düşüncelerimiz
Sonuç olarak, Jordan Kyriakidis ve Visure Solutions, Yazma Gereksinimleri hakkında anlayışlı bir sohbet paylaştı. Büyük gereksinimler yazmanın önemini araştırdık ve gereksinimleri yazarken karşılaşılan zorluklara ve yaygın hatalara değindik. Doğal dil yöntemleri, EARS şablonu ve INCOSE yönergeleri gibi farklı yöntemleri inceledik. Yapay zeka teknolojisi ayrıca gereksinimleri yazmak için pek çok olanak sunarak, bunları nasıl daha iyi yazacaklarını öğrenmeye başlayan kişilerin işini kolaylaştırdı. Son olarak, bu yolculuğa çıkarken size yardımcı olacak önemli ipuçlarını da ekledik. INCOSE Kurallarını öğrenmekten Yazma Gereksinimlerinde Gelecekteki Eğilimlere kadar - burada herkes için bir şeyler var! Bu temel ipuçlarını alın ve şimdi uygulamaya koyun! Röportajın tamamına şimdi göz atın!