Bir ürün geliştirirken yeterlilik ve kapsam belirlemenin önemi.
Bir ürün geliştirirken ürünün yeterliliğini belirleyip minimum eforu, kapsamını belirleyip neleri yapmayacağınızı bilmediğiniz taktirde nelerle karşılaşırsınız.
Ürün, günlük yaşamda, sektörel alanlarda, veya özelleşmiş başka alanlarda, bir problemi gidermek için geliştirilmiş yöntem, fiziki araç veya bir fikir dahi olabilir.
Fiziki ürünleri, yeterlilik ve kapsam, daha net görülebilirken, nispeten soyut alanlarda yapılan geliştirmelerde bu sınırlar çok net olarak görünmez. Bunun en önemli sebebi soyut olması ve soyutsalların, kullanıma sokulmadan yapılacak testlerin dahi önceden ön görülemeyen kısımlarının çıkıyor olmasıdır.
Soyutsal ürünlerde, bunlar, fikri ürünler, teknolojide yazılım çözümleri vb…, konumuz teknoloji olduğundan örnekleri arttırmıyorum ve konumuz olan yazılım ürünlerine odaklanarak devam ediyorum.
Yazılım çözümlerinde problem olan nokta belirlendikten sonra, bu alanda getirilecek çözümler, başka bir yazılım olarak karşımıza çıkıyor.
Çözüm olarak geliştirilecek yazılım ürünü, geliştirmeye başlanmadan önce düşünce altyapısının mantıklı, akılcıl ve esnek bir şekilde oluşturulması gerekiyor.
Mantıklı bir düşünce altyapısı oluşmadığı durumlarda, ipin ucu her an her noktada koçabilir, geriye dönüp baktığınızda kötü bir deneyim bırakan bir süreçle karşı karşıya kalabilir, sürekli geriye dönüp düzeltmeler yapabilir, geriye dönüp yaptığınız düzeltmeleri başka bişeyle düzeltebilir ve bir sonraki adımda ne yapacağınızı bilmediğiniz bir noktada kendinizi bulabilirsiniz. Bu gibi süreçler genelde yazılım çözümünün dışına çıkılıp, başka alanlarda kaygı duyulmaya başlandığında yaşanır. Örneğin bir mobil uygulama geliştiriyorsunuzdur, daha çok ve hızlı para kazanmaya odaklandığınız için uygulamanızı reklamlarda doldurursunuz ve/veya olur olmaz yerlerde uygulama içi satın almalarla uygulamanızı kullanıcı açısından kötü deneyimlenen bir hale getirirsiniz. Uygulama deneyimi kötüleştikçe de uygulamanız kullanılmaz, ama konumuz bu değil sadece bir örnek.
Akılcı bir düşünce altyapısı oluşmadığında, uygulamanın ticari açıdan önünü açmaya yönelik müdahaleler gerektiğinde, süreci zora sokar, yazılımın alakasız yerlerine müdahale etmenize yol açabilir, önünüzü göremez hale gelebilirsiniz ve çözümü, ürünü mevcut özellikleriyle yeniden tasarlamaya çalışırken bulabilirsiniz.
Esnek bir düşünce altyapısı oluşmadığındaysa, yazılım ürününün bir kısmı gelişime açık bir halde olmaz, geliştirme süreçleri sancılı olabilir hatta bir öyle bir an gelirki, temelden yapılan yanlış bir tasarım, esnekliği sağlayamadığından dolayı yazılımın baştan tasarlanmasına yol açabilir.
Bunların hepsi zaman kaybı ve süreç uzadıkça motivasyon azalır, buna bağlı olarak hatalar artar ve yazılım çözümünün stabilitesi düşer.
Dikkat edilmesi gereken birkaç noktaya değindikten sonra konumuza dönecek olursak, bir yazılım geliştirilirken kapsamın belirlenmesi en önemli noktalardan biridir ve ürünün ortaya çıkmasındaki katkısı oldukça yüksektir.
Yazılım kapsamını belirlediğinizde yol haritanız elinizdedir, bir iki örneklendirme yapalım.
Kullanıcılar için bir servis geliştiriyor olduğunuzu varsayalım, bu servisin temel amacı, kullanıcının kişisel bilgilerini saklamak. Bu temel amacı tasarlarken kapsamı belirlemediğinizde, yapacağınız her bir geliştirme ve eforun boşa gitmesi muhtemeldir, hedefi göremeden gelişine sıkmanıza benzer bir durumla karşı karşıya kalırsınız. İş gücü ve zamanı doğru kullanmanın yolu budur.
Kapsamı belirlerken ilk başta kullanıcının hangi verilerini saklayacağınıza karar verirsiniz, hangi veriler zorunlu olacak, hangi veriler isteğe bağlı olacak, bunlara karar verdikten sonra, bir veri giriş arayüzü ve birde güncelleme arayüzü oluşturmanız ve verileri kaydedebilecek bir sisteminizin olması gerekiyor.
Bu verileri kurumanız için bir kullanıcı oturum sistemi gerekli, kullanıcı ismi ve şifresiyle sistemde kendini tanıtmalı ve verilerine ulaşıp ekleme ve güncelleme yapabilmeli.
Bu temel anlamda yeterlilik ve ürününüzde sunacağınız yetenek kapsamınıda çıkartarak ticari anlamda ürününüzü bir adım ileri taşımaya çalışabilirsiniz. Ticari bir vizyon koyarak ürününüzün kapsamını bu hedefte yeterlilik kapsamını genişletebilir ve ürünü cazip kılmaya çalışabilirsiniz.
Konuların arasında örneklendirmeler yaparak önemini vurguladım, bir ürün geliştirmeye çalışırken, yerinde bir tabirle bodoslama giriştiğinizde başınıza az çok neler geleceğinizi zihninizde canlandırabilirsiniz.