Bir analiz teknolojiden bağımsız mı olmalı? [kapalı]


11

Dün meslektaşlarımdan biriyle tartıştım. O (bir iş analisti, daha önce bir programcı) sistemi uygulamak için kullanılan teknolojinin farkında olması gerektiğini düşünüyor, böylece daha iyi tasarım kararları alabiliyor. Bence (ben bir programcıyım), analiz herhangi bir şekilde teknolojiyle birleştirilmemelidir ve iyi bir analistin uygulama ayrıntıları hakkında endişelenmeden harika bir tasarım yapabileceğine inanıyorum.

Bu şekilde düşünmeye hakkım var mı? Bir iş analistinin sistemi uygulamak için kullanılan teknolojiyi bilmesi için herhangi bir neden var mı?

EDIT: Ben söylerken yanlış terimi kullandığım inanıyorum business analyst. Belki de mimar ya da sistem analisti demek istedim. Bu terimlere alışkın değilim. İsterseniz mimar ya da sistem analisti gibi bir şey demek istedim.

Müthiş cevaplarınız için herkese teşekkürler! Henüz çok tecrübeli değilim ve bu konuda gözlerimi açtığınıza sevindim.


8
Ne zaman bir fark yaratacağına dair bir örnek istediniz mi?
Karl Bielefeldt

Bana bir örnek vermedi, ancak eski AS / 400 sistemlerinden, bazı Delphi ve .Net'ten yeni teknolojiler için geniş bir teknoloji yelpazesi kullanıyoruz. Ama yine de RPG'de uygulanacak bir şey tasarlarsanız, endişelerin ayrılmasını ve iş mantığı
vb.İçin

Kullanıcı kadar bilmesi gerekir. AS / 400 vs web uygulaması ihtiyacı olan bir detay.
kodlayıcı

2
Fark "o zaman kullanıcıya bir şey sunmak zorundasınız" bölümünde olacaktır. İş analisti ne tür bir kullanıcı arayüzü kullanıldığını ve hangi seçeneklerin kullanılabilir olduğunu bilmelidir. İş analistlerinin kullanabileceği, temel olarak bir kullanıcı x yaptığında işlevsel olarak ne olması gerektiğini tanımlamasına izin veren araçlar vardır (bir düğmeyi tıklamak gibi). Platformda bir düğme (yeşil ekran) yoksa, bu yararlı bir bilgi parçasıdır.
kodlayıcı

1
@marcof: İdeal kullanıcı arayüzü, kullanıcının bir düşünce düşündüğü ve istediklerinin basitçe yapıldığı yerdir. Bunun dışında kalan her şey, elimizdeki teknoloji sınırlamaları tarafından sakat bırakılmıştır, bu nedenle BA'nın sistemi hangi bağlamda tasarlayabileceklerini anlaması gerekir.
gahooa

Yanıtlar:


18

Bir iş analistinin teknolojiyi en azından bir işletme kullanıcısına belirli bir özelliğin ne kadar önemli olacağı konusunda sorgulamanın ne kadar anlamlı olduğunu anlaması mantıklı olduğu durumlar kesinlikle vardır. Örneğin, işletme yeni uygulama web tabanlı olacakken bir yağ istemcisi uygulamasının davranışına alışkınsa, şişman bir istemcide önemsiz ancak nispeten zor olacak birçok "gereksinim" olması muhtemeldir web tabanlı bir uygulama ile. İş analisti, işletmeden gelen bir talebin geliştirme ekibi için önemsiz olup olmayacağını veya 20 saatlik AJAX geliştirmeyi içerip içermeyeceğini anlarsa,

Herhangi bir proje için, muhtemelen çeşitli türden ödünleşmeler yaparak işi tatmin edecek çok sayıda gereksinim vardır. İş analistinin hangi ödünleşimleri yaptıkları konusunda ne kadar fazla anlayışı varsa, maliyeti en aza indirirken iş dünyasına yararı en üst düzeye çıkaran bir dizi gereksinim sunma olasılıkları da o kadar artar.


4
+1, "maliyeti en aza indirirken işletme avantajını en üst düzeye çıkarır". Bu, BA teknolojiyi anlamadan yapılamaz. BA'nın işi, daha yüksek bir seviyede programcıdan daha fazla teknoloji anlamaktır.
mattnz

Ek olarak, değiştirilmesi gereken şartlar değil, bu şartların uygulanmasını etkileyen kısıtlamalar. İşletmenin istediklerini elde edememesi, istemeyi bırakmaları gerektiği anlamına gelmez, ancak şimdi sahip olduklarını rasyonelleştirmeye zorlar . Örneğin, şimdi kötü bir işe sahip olmak daha iyi bir iş istememi engellemiyor, sadece mevcut kısıtlamalarla elde edilemiyor. Önemli olan, bir kısıtlamanın kaldırılması durumunda gereksinimin artık karşılanabilmesi fırsatını açmasıdır. Şimdilik gereksinimi değiştirirseniz, sonsuza kadar kaybedersiniz
BiGXERO

8

Bu sorunun her iki tarafında da çalıştıktan sonra Analist ile hemfikirim. Teknolojinin yeteneklerinin anlaşılmamasından kaynaklanan bazı zayıf tasarımlar gördüm. Bazı durumlarda, pazarlama yutturmaca gerçeği almanın bir sonucu olmuştur. Genel olarak, sorun teknik özelliklerle uyuşmayan özellikler üretmektir.

Analist ne yapılması gerektiğini, ne zaman ve kimin tarafından yapıldığını belirtmelidir. Neden yapıldığını bilmeliler. Geliştirme önceliği Neden'e diğer faktörlerden daha bağımlı olmalıdır. Tasarım ve geliştirme ekibinin How ile başa çıkması gerekiyor. Uygun maliyetli sistemler geliştirmek için analistlerin, mevcut teknolojinin sınırlarını zorlamayan açılardan ne yapılması gerektiğini belirtmeleri gerekir.

Sınırları zorlamak maliyetleri çeşitli yollarla artırabilir, ancak bazı durumlarda önemli bir getiri sağlayabilir. Maliyet faktörlerinden bazıları:

  • Çalışan bir çözüm geliştirmek için deney yapılması gerekebilir;
  • Uzmanlık bilgisine sahip yeni çalışanların veya danışmanların edinilmesi gerekebilir;
  • Yeni teknoloji konusunda eğitim gerekebilir;
  • Geliştirme daha yavaş ve hata oranları daha yüksek olma eğilimindedir; ve
  • Ekstra çaba, daha acil değere sahip daha basit çözümleri geciktirebilir.

6

Kullanılacak teknoloji biliniyorsa, tasarım oluşturulurken analistler tarafından dikkate alınmalıdır. Farklı teknolojiler işleri farklı şekilde yapar ve bu farklılıkları dikkate almayan bir tasarımın sorunları olacaktır.

Bununla birlikte, iş analistleri hangi teknolojinin kullanıldığını önemsememelidir, görevleri iş kurallarını toplamak ve teknik ekip tarafından anlaşılabilir kılmaktır. Sistem analistleri / mimarları / tasarımcıları veya verilebilecek başka herhangi bir isim, kullanılan teknolojileri bilmeli ve etraflarında tasarım yapmalıdır, çünkü iş analistleri değil gerçek tasarım yapan olanlar olmalıdır.


6

İki düşünce çizgisi arasında muhtemelen daha gerçekçi bir nokta olduğuna inanıyorum. Teknoloji agnostik olarak saklandığında üst düzey bir tasarım en iyi olabilirken, tasarıma dahil edilmesi gereken bilinen gerçek dünya kısıtlamaları ve gereksinimleri göz önünde bulundurulmalıdır. Bu tasarım ne düzeydedir? Yeterli gereksiniminiz var mı? Çevre ne kadar esnektir? Yönetim belirli bir teknik yöne yatırılıyor mu?

Sizi belirli bir yöne yönlendiren hiçbir operasyonel parametre yok mu? Herhangi bir teknoloji yığınında çözüm uygulayabilecek geniş bir kaynak diziniz var mı? Diğer sistemlere erişim gerektiren birlikte çalışabilirlik sorunları var mı?

Teknolojinin denklemin bir parçası olup olmadığını veya tasarımın teknoloji seçimini destekleyip desteklemediğini kesin olarak söyleyebilmeniz için bu soruların yanıtlarına ihtiyaç vardır.

Herhangi bir kısıtlama ve çok üst düzey bir tasarım olmadıkça, tasarımın gerçekten agnostik olduğunu düşündüğünüze katılabilirim. Ancak, 20 yılı aşkın deneyimimde, seçimlerimi sınırlayan ve tasarımımı belirli teknolojilere veya teknoloji ailelerine yönlendiren herhangi bir kısıtlamanın olmadığı bir durumda nadiren karşılaştım.


3

İdeal bir kullanıcı arayüzü kullanıcı bir düşünce düşünüyor ve ne yaptıklarını istedim sadece yapılır nerede olurdu. Bunun dışında kalan her şey, elimizdeki teknoloji sınırlamaları tarafından sakat bırakılmıştır, bu nedenle BA'nın sistemi hangi bağlamda tasarlayabileceklerini anlaması gerekir.


2

Farklı teknolojiler, belirli bir sorunun çözümü için çok farklı maliyet ve verimlilik yapılarına sahip olabilir. Bu maliyetler, yerel alanda işe alma maliyetleri, belirli sistemler için enerji ve soğutma maliyetleri, mevcut kod ve mevcut ekipmanların yeniden kullanım olanakları, vb. maliyet ve verimliliğin diğer hususlar kadar önemli olmadığı bir yerde (havacılık güvenliği, nükleer santral kontrolü, tıbbi implantlar vb.) çalışılıyorsa. Ancak çoğu iş durumunda yönetim, sistem çözümlerinin faydalarına karşı potansiyel çözümlerin maliyet yapısını dikkate alabilir.


1

İş analisti , ne tür bir uygulama geliştirdiğimizi bilmelidir * Web uygulaması / Konsol uygulaması / Mobil uygulama / Raporlama uygulaması vb. * Böylece uygulama için güzel bir özellik kümesi geliştirebilir veya kullanıcıyı geri itebilir 3. seviye iç içe sürükle ve bırak gibi imkansız beklentiler üzerine.

O / O gelmez ki farkında olmak gerekir Java / C # / Python / SQL gibi teknoloji vb


1

Analiz sürecinin tamamen teknoloji-agnostik olması gerekir. İstemciyi ve ihtiyaçlarını araştırırken, bunu tamamen açık bir zihinle yapmanız gerekir. Bununla birlikte madalyonun diğer tarafı, analistten sık sık tavsiyelerde bulunulması istenir ve sistem mimarisini de ele alması gerekebilir. Bu, mevcut teknolojiler hakkında daha geniş bir anlayışın çok önemli olduğu rolün tamamen farklı bir yönüdür, çünkü müşteri için sadece bir projeyi yerden çıkarma yeteneği açısından değil, aynı zamanda da büyük bir fark yaratabilir. uzun vadeli ihtiyaçlarının ve projenin kendisinin sürdürülebilirliğinin

Yazılım tasarlamanın büyük kısmının kullanılan teknolojiden bağımsız olarak esasen aynı olduğu doğru olsa da, tasarımın her zaman teknoloji seçiminden etkileneceği alanlar vardır. Platform seçimleri dil ve API seçimlerini etkileyebilirken, uzmanlık, destek ve hatta maliyetin kullanılabilirliği de yapılan seçimler üzerinde etkili olacaktır. Dolayısıyla, bir bakış açısından, konumunuzun bir kısmı, gerçek analizin herhangi bir belirli teknolojinin etkisi olmadan gerçekleştirilmesi gerektiğinde haklıdır, ancak analizi bir tasarım belirlemek için kullanmak her zaman daha geniş bir teknoloji bilgisi gerektirir, böylece analist tavsiyelerde bulunabilir müşterinin ihtiyaçlarını karşılamaya yönelik tasarımların uygulanmasına izin verecektir.


0

Her teknolojinin sınırları ve kısıtlamaları vardır, bu nedenle bir analistin bu sınırları dikkate alması mantıklıdır. Öte yandan, .net'i iyi bilen, ancak doksanların sonlarından beri Java'yı görmeyen bir analist, Java (veya RoR vb.) sorun daha iyi olurdu. Böyle bir tasarımı daha sonra başka bir teknolojide uygulamak nispeten zordur.

Bu nedenle, bir analistin teknoloji henüz seçilmediğinde agnostik olması gerektiğini, ancak seçimin zaten yapıldığı durumlarda deneyimli olması gerektiğini düşünüyorum.


Tasarım kalıpları dile-agnostik değil mi?
marco-fiset

2
Genellikle belirli bir dile bağlı değildir, ancak bazı teknoloji yığınlarının uygulanması diğerlerinden daha kolay olabilir. ASP.net MVC göz önünde bulundurularak yapılan bir tasarım, düz PHP veya Oracle Application Express'te uygulanması zor olabilir.
user281377
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.