`
selfImpr
  • 浏览: 714 次
  • 性别: Icon_minigender_1
  • 来自: 兰州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

[心得]需求分析需要领域专家

阅读更多
原创作品,转载请申明出处。 --selfImpr


who?

do what?

how do?

需求是让我们了解用户需要的产品模型的过程。

软件产品的开发,核心是需求。用户有需求之后,委托我们进行开发,然而,用户只是有需求,用户真的了解需求吗?这个问题的答案是不尽如人意的,当用户委托软件公司开发软件产品的时候,往往连用户自己都不能明确的知道自己的需求是什么。因此,成功的软件开发需要尽可能完善的需求分析作为垫脚石。

需求分析是什么?当然是让开发人员了解用户想要什么。

那我们应该怎么去了解who,do what和how do呢?

who,是相对容易获取的。在一般的软件开发过程中,有经验的需求分析员都可以比较容易的得到使用系统的人员名单。

do what,用户每天做的事情是很多的,对于用户而言,他们不了解应该把哪些工作集成到将来的软件产品中,而对于软件开发人员,对于用户的日常工作又不清楚,这就是瓶颈。

how do,如果我们的需求人员已经确定了用户要做什么,那么,通过访谈就比较容易了解用户日常工作的细节。当然,how do并不如who那样容易获取。

我们已经找到了瓶颈,就是do what。这是软件需求过程中最难的一个环节,因为用户并不能很容易的从日常工作中抽取出来那些需要集成到系统中的工作,这就需要我们的需求分析人员引导用户,发现需求。然而,需求人员并不了解用户每天要做什么,我们的软件公司往往没有那么多的精力让需求分析员整天陪用户工作。

这个时候,我们就可以利用软件工程学中的分层思想,我们需要在需求分析人员和用户之间抽象另外一层----领域专家。

领域专家是什么?领域专家应该是计算机软件行业出身,有一定的软件需求分析经验,有多次某一领域项目开发经验的人。

为什么需要领域专家?因为我们的需求人员在做需求工作的时候,往往是力不从心的,虽然有着优秀的需求分析能力,然而,由于对专业领域知识的欠缺,往往会导致需求分析不彻底,或者与用户起冲突。

领域专家做什么?领域专家由于有着丰富的行业软件开发经验,熟悉行业信息化过程中的一般性工作,更重要的是由于领域专家有较丰富的行业知识,询问客户的时候,就会有更多的话题,这样,就能够更多的捕获到用户的需求。

引入领域专家,是喜是忧?有人说,引入领域专家会增加软件开发成本。That's true?No!领域专家的引入,表面上来看,会增加一些人力资源的开销,然而,领域专家的引入能够带来好处往往在项目一开始就有体现了:

      1. 首先,领域专家由于对行业的了解,同时对行业信息化有丰富经验,因此,能够博得客户的信赖,因此,在招投标过程中的成功率将会大幅提升。

      2. 其次,领域专家自己原本就了解很多的行业信息化的需求,所以,对于需求只需要和关键性的用户进行访谈,然后针对企业做特定的需求就可以完成需求。这就意味着我们的需求周期将会变小,也就是说,我们的人力资源成本可能不是增加而是降低,同时,需求周期变小带来的软件周期缩短将会为客户带来更多的商机,客户体验好了,是不是意味着我们更容易得到下一次合作机会呢?

      3. 最后,众所周知,软件工程学出现的目的是为了降低软件产品的维护成本。那么当我们的领域专家为我们带来了更加彻底的需求的时候,是不是就意味着我们的维护成本降低呢?

领域专家,需求分析员,who is who?这是两个职业,我们应该知道,分层带来的最大好处就是职责的单一性。当我们引入各行业领域专家之后,我们的需求分析员并不是没有活干了,而是专注于通过领域专家总结出来的领域模型,得到软件产品的模型。需求分析员不必再因为项目的不同去查找那些可能一生只能用一次的领域典藏。领域专家则在小茶馆和用户畅谈行业状况。

当物尽其用时,效率的提升是必然的。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics