İş Analizi - Gereksinimler Mngmt
Yazılım gereksinimlerinin toplanması, tüm yazılım geliştirme projesinin temelidir. İş gereksinimlerini istemek ve toplamak, her proje için kritik bir ilk adımdır. İş ve teknik gereksinimler arasındaki boşluğu doldurmak için, iş analistleri verilen bağlamda iş ihtiyaçlarını tam olarak anlamalı, bu ihtiyaçları iş hedefleriyle uyumlu hale getirmeli ve ihtiyaçları hem paydaşlara hem de geliştirme ekibine doğru şekilde iletmelidir.
Kilit paydaşlar, birinin müşteri / müşteri gereksinimlerini sade bir İngilizce ile açıklayabilmesini diler. Bu, değeri yüksek düzeyde anlamalarına fayda sağlayacak mı? Dokümantasyonu gereksinimlerle ve iş idaresinin mümkün olan en iyi şekilde nasıl iletişim kurabileceğiyle eşleştirmeye çalışacaklarından, bu ana odak alanı olacaktır.
Projeler Neden Başarısız Olur?
Projelerin başarısız olmasının birçok nedeni vardır ancak ortak alanlardan bazıları aşağıdakileri içerir -
- Pazar ve Strateji Başarısızlığı
- Organizasyonel ve Planlama Başarısızlıkları
- Kalite Hataları
- Liderlik ve Yönetişim başarısızlıkları
- Beceriler, Bilgi ve yeterlilik başarısızlıkları
- Katılım, ekip çalışması ve iletişim hataları
Sorunun temelinde, projelerin giderek daha karmaşık hale gelmesi, değişikliklerin meydana gelmesi ve iletişimin zorlaşması var.
Neden Başarılı Takımlar Gereksinim Yönetimini yapar?
Gereksinim yönetimi, ekibinizi korumakla ilgilidir in-sync ve sağlamak visibility bir proje içinde neler olup bittiğine.
Projelerinizin başarısı için tüm ekibinizin neyi ve neden inşa ettiğinizi anlaması çok önemlidir - ihtiyaç yönetimini böyle tanımlarız. "Neden" önemlidir çünkü hedefler, geri bildirimler ve gereksinimlerle ilgili alınan kararlar için bağlam sağlar.
Bu, gelecekteki başarının ve olası sorunların öngörülebilirliğini artırarak ekibinizin herhangi bir sorunu hızla düzeltmesine ve projenizi zamanında ve bütçe dahilinde başarıyla tamamlamasına olanak tanır. Başlangıç noktası olarak, dahil olan herkesin gereksinimlerin ne olduğu ve bunların nasıl yönetileceği konusunda temel bir anlayışa sahip olması değerlidir.
Temellerden Başlayalım
Gereklilik, paydaşın bir sorunu çözmek veya bir hedefe ulaşmak için ihtiyaç duyduğu bir koşul veya kabiliyettir. Bir sistem veya sistem tarafından karşılanması veya sahip olunması gereken bir koşul veya yetenek. Bir sözleşmeyi, standardı, şartnameyi veya diğer resmi olarak empoze edilmiş belgeleri karşılayan bileşen.
Bir mühendise neyin inşa edileceğini ve bir QA müdürüne neyin test edileceğini en iyi şekilde ileten bilgiler ne olursa olsun, bir gereksinim metin, eskizler, ayrıntılı örnekler veya modellerle ifade edilebilir. Geliştirme sürecinize bağlı olarak, gereksinimleri yakalamak için farklı terminoloji kullanabilirsiniz.
Üst düzey gereksinimler bazen basitçe şu şekilde anılır: needs veya goals. Yazılım geliştirme uygulamalarında gereksinimler, "kullanım durumları", "özellikler" veya "işlevsel gereksinimler" olarak adlandırılabilir. Çevik geliştirme metodolojileri içinde daha spesifik olarak, gereksinimler genellikle şu şekilde ele alınır:epics ve stories.
Ekibinizin onlara ne dediği veya hangi süreci kullandığınızdan bağımsız olarak; tüm ürünlerin geliştirilmesi için gereksinimler çok önemlidir. Gereksinimleri açıkça tanımlamadan, eksik veya kusurlu bir ürün üretebilirsiniz. Süreç boyunca, gereksinimlerin tanımlanmasına birçok kişi dahil olabilir.
Bir paydaş, ürünün bir problemin çözümünde nasıl değer sağlayacağını açıklayan bir özellik talep edebilir. Bir tasarımcı, nihai ürünün kullanılabilirlik veya kullanıcı arayüzü açısından nasıl görünmesi veya performans göstermesi gerektiğine bağlı olarak bir gereksinim tanımlayabilir.
Bir iş analisti, belirli teknik veya organizasyonel kısıtlamalara uyan bir sistem gereksinimi oluşturabilir. Günümüzün gelişmiş ürünleri ve geliştirilmekte olan yazılım uygulamaları için, bir projenin veya bir sürümün kapsamını yeterince tanımlamak için genellikle yüzlerce veya binlerce gereksinim gerekir. Bu nedenle, gereksinimler geliştirme sürecinde zaman içinde doğal olarak değişip geliştikçe ekibin her bir gereksinime erişebilmesi, işbirliği yapabilmesi, güncelleyebilmesi ve tamamlanana kadar test edebilmesi zorunludur.
Gereksinim yönetiminin değerini üst düzeyde tanımladığımıza göre, şimdi her ekip üyesinin ve paydaşın anlayıştan yararlanabileceği dört temel ilkeye daha derine inelim:
- İyi gereksinimleri planlama: "Ne halt inşa ediyoruz?"
- İşbirliği ve katılım: "Spesifikasyonu şimdiden onaylayın!"
- İzlenebilirlik ve değişiklik yönetimi: "Bekle, geliştiriciler bunun değiştiğini biliyor mu?"
- Kalite güvencesi: "Merhaba, bu şeyi test eden oldu mu?"
Herkes ne inşa ettiğimizi biliyor mu ve neden? Gereksinim yönetiminin değeri budur.
Paydaşlardan İşbirliği ve Satın Alma
Herkes döngüde mi? İlerlemek için gereksinimler konusunda onayımız var mı? Bu sorular, geliştirme döngüleri sırasında ortaya çıkar. Herkesin gereksinimler üzerinde anlaşması harika olurdu, ancak birçok paydaşın bulunduğu büyük projeler için bu genellikle olmaz. Herkesin aynı fikirde olmasını sağlamaya çalışmak, kararların ertelenmesine veya daha kötüsü hiç alınmamasına neden olabilir. Her kararda fikir birliğine varmak her zaman kolay değildir.
Uygulamada, mutlaka “fikir birliği” istemezsiniz, gruptan “satın alma” ve projeyi ileriye taşıyabilmek için kontrolü elinde tutanların onayını istersiniz. Mutabakatla, herkesin ödün vermesini ve karar üzerinde anlaşmasını sağlamaya çalışıyorsunuz. Buy-in ile, insanların en iyi çözümü desteklemelerini, akıllıca bir karar vermelerini ve ilerlemek için gerekli olanı yapmalarını sağlamaya çalışıyorsunuz.
Kararın en iyisi olduğu konusunda herkesin hemfikir olmasına ihtiyacınız yok. Herkesin kararı desteklemesine ihtiyacın var. Ekip işbirliği, kararlar konusunda destek almaya ve iyi gereksinimleri planlamaya yardımcı olabilir.
İşbirlikçi ekipler, herkesin projelerde payının olduğundan emin olmak için çok çalışır ve geri bildirim sağlar. İşbirlikçi ekipler sürekli olarak fikirlerini paylaşır, tipik olarak daha iyi iletişim kurar ve projenin hedeflerine ilişkin ortak bir bağlılık duygusu ve anlayış olduğu için alınan kararları destekleme eğilimindedir.
Geliştiriciler, test uzmanları veya diğer paydaşlar iletişim sorunları ortaya çıktığında, insanlar sinirlendiğinde ve projeler ertelendiğinde "döngünün dışında" hissettiğinde. Herkes iş kapsamına girdiğinde, gereksinimlerin açık ve iyi belgelenmesi zorunludur. Tüm gereksinimleri takip etmek, işlerin zorlaştığı yerdir.
Tamamlanması gereken birden fazla kişiyle işbirliği yapmayı içeren bir mil uzunluğunda bir yapılacaklar listesine sahip olduğunuzu hayal edin. Tüm bu öğeleri nasıl düz tutarsınız? Bir maddede yapılacak bir değişikliğin projenin geri kalanını nasıl etkileyeceğini nasıl izlersiniz? İzlenebilirlik ve değişim yönetiminin değer kattığı yer burasıdır.