需求的实践(4) 下

需求的实践(4)
yun_qi_img/c.gif业务建模时期(下)
林星 (iamlinx@21cn.com)
2001 年 11 月和上一篇的理论不同,这一篇文章更注重于实际,举出了在业务建模简短需要注意的一些原则和实践,每一条都来自于实践之中,也都有理论的支持。其中的很多内容更是经过多次的失败才总结出来的。相信大家如果能够理解这些原则和实践的某些方面,至少能够避免重蹈覆辙。
原则(Principle)
1. 谁才是"上帝"
<我们说客户是上帝,是因为客户的重要性,客户占有决定性的地位。可是在软件开发中,到底是谁有决定权呢?是出资方,还是项目经历,或是程序员?
职责不清,是业务建模失败的主要原因之一。我们可以很容易的看见客户把自己的要求用几句话高度浓缩之后扔给开发人员,或是开发人员按照自己的意思开发程序。难道说,客户和开发人员之间真的是"心有灵犀",完全不用沟通的吗。
我在前文中已经提到过项目涉众和开发人员的权利和义务,我想这里还有必要再次强调。Scott W. Ambler说:
it is the role of project stakeholders to provide requirements, it is the role of developers to understand and implement them.
在我一次开发过程中,遇到过一个很有意思的涉众,他在他的需求分析中这样写:"总之,要实现那种能够想到就能做到功能。"我想,这位涉众对我们的计算机工业有着非常远大的抱负。但我不得不客气的告诉他目前实现是不太现实的。
大家听了可能会觉得好笑,但是在我自己和客户打交道的生涯中,这种客户不在少数。现实就是这样,你要怎么做?是一笑之后,弃之不顾吗?我想大多数人会这样做。因为他的要求太荒唐了嘛。可是,你有没有花时间去了解一下,他这句荒唐的话背后代表了他的什么意思呢?我觉得,软件开发人员负有教育涉众的义务,你需要引导你的涉众,让他们说出自己的心声。我在看到这位涉众的这句话后,就花了一些时间去了解,其实呢,事情很简单,他就是想要一个能够定制报表模板的功能。而在项目结束后,我和这位涉众有幸再一次的合作,这时候,他已经成为了一个出色的客户方的项目领导者了。
这个例子说明了什么呢?涉众往往都是领域专家,对自己的工作有很深的认识,可是由于对软件开发的不了解,涉众往往表达不清,甚至表达不出自己的需求。这时候,就是体现你的功力的时候了。记住,象对待上帝一样对待你的客户。

时间: 2024-07-31 11:07:56

需求的实践(4) 下的相关文章

需求的实践(5)(下)

需求的实践(5)细节需求时期(下)和业务建模时期不同的是,我不再花费笔墨讨论需求要如何做,因为做法.注意点和业务建模时期并没有什么太大的区别.而在完整的流程上,像RUP.XP之类的方法学可比我讲的要好的多.因此,我会把焦点集中在我在实际工作中的一些困惑,以及一些思考.1."和其它阶段的关系"的再思考.上一篇的末尾我们简单的讨论了细节需求阶段和其它阶段的关系.对于软件过程的各个阶段,不同之处只是注重的焦点不同而已.在业务建模阶段,我们关注于系统的整体需求:在细节需求阶段,我们更关注于需求

需求的实践(2)

需求的实践(2)yun_qi_img/c.gif能力和过程 林星 (iamlinx@21cn.com)2001 年 11 月本文作为这个关于需求的软件工程专栏的第二篇,作者将继续花了一些篇幅来讨论软件工程中的一些基本概念,以求大家能够从整体的角度来理解需求过程.1.煮鸡蛋的启示 有个英国人学煮鸡蛋,开始,他把鸡蛋放到开水里煮时总会炸裂.他为此想了各种方法,并找到了一个解决方案:在鸡蛋上打个孔.但在鸡蛋上打孔带来了另一个问题:孔打小了,鸡蛋还会裂:孔打大了,蛋清会在它凝固以前流出来.于是,这个英国

《软件需求最佳实践:SERU过程框架原理与应用》笔记

最近看了这本书,和实际的结合比较紧密,对实际的需求有一定的指导作用,特别市对于国内的特色需求,有很好的指导. <软件需求最佳实践:SERU过程框架原理与应用> 首先从软件需求实践中出现的主要问题和困难入手,指出了改进的主要方向:然后逐一说明了需求定义.需求捕获.需求分析与建模.编写规约.需求验证等需求开发活动的任务.要点和具体手段:并提出了一个可操作性强.易于上手的SERU过程框架,能够帮助读者清晰地了解整个过程,理解各阶段的关键产物和产物之间的关系. 还对包括需求基线.变更管理.需求跟踪在内

需求的实践(3)

需求的实践(3) yun_qi_img/c.gifCustomer Oriented,而不是Program Oriented 林星 (iamlinx@21cn.com)2001 年 10 月软件开发人员总是在困惑为什么软件分明是按照需求做出来的,可是客户为什么仍然不满意.客户总是在困惑为什么软件和自己想要的差距会那么大.这究竟是怎么回事?如何才能把开发人员和客户之间的沟壑填平?本文作为这个关于需求的软件工程专栏的第三篇,将向您介绍这个把客户和开发人员联系在一起的工具

需求的实践(4)

需求的实践(4) yun_qi_img/c.gif业务建模时期(上) 林星 (iamlinx@21cn.com)2001 年 11 月在大规模的需求调研展开之前,有一个重要的工作要做.这项工作在项目中所占的时间跨度非常的小,但是却有非常重要的意义.不同的人.不同的方法对这项工作有不同的描述,在我们的文章中,根据UP的思想,称之为"业务建模".所有的项目都有业务建模时期1. 业务建模是什么 业务建模(Business Modeling),业务建模是一个复杂的过程,对其下一个准确的定义是困

超实用的JavaScript技巧及最佳实践(下)

摘要:JavaScript是一门非常流行的编程语言,许多开发者都会把JavaScript选为入门语言,本文向大家分享JavaScript开发的小技巧.最佳实践等非常实用的内容. 在前段时间,CSDN研发频道发表了超实用的JavaScript技巧及最佳实践(上),很多开发者都觉得里面所提到的技巧非常实用,基于此,我们再向大家推荐超实用的JavaScript技巧及最佳实践(下),希望对大家有所帮助. 文中所提供的代码片段都已经过最新版的Chrome 30测试,该浏览器使用V8 JavaScript引

用例驱动的需求过程实践

一.需求矛盾 根据CHAO的权威统计,虽然自"软件危机"提出以来,软件工程方法得到了长足的发展与进步,但在去年的软件项目成功率仍然不足30%,绝大多数的软件项目仍然超进度.超成本.而在这些不成功的项目中,由于需求不清晰.需求不完整等方面的因素,占到了60%左右. 根据笔者多年来从事软件需求捕获.分析工作的实践经验,认为造成这一现象的根本原因在于客户与开发人员之间的沟通存在障碍,双方都以自己的角度.自己的专业术语进行沟通,这使得大家并不能够很好地就软件需求达成共识. 由于帮助客户更好地利

深入解析SQL Server并行执行原理及实践(下)

谈完并行执行的原理,咱们再来谈谈优化,到底并行执行能给我们带来哪些好处,我们又应该注意什么呢,下面展开.   Amdahl's  Law    再谈并行优化前我想有必要谈谈阿姆达尔定律,可惜老爷子去年已经驾鹤先去了.     其中  P:可以并行的百分比 N:算法并行计算使用的"CPU"    这里我们举个简单的例子,我们来做一份大餐,如图1-1所示:   图1-1   土豆泥,荷兰豆,鸡排还有整体组合各需十分钟.在这里前三个食材是可以共同执行的,也就是说4个步骤中3步可并行 P=3/

ADO.NET最佳实践(下)

ado     T.与XML结合         ADO.NET在DataSet中提供对XML的广泛支持,同时在SQL Server2000或以后版本中的XML功能性扩展也能在ADO.NET中得到充分运用.你可以使用SQLXML访问在SQL Server2000和以后版本中提供的XML功能性扩展.下面是使用XML和ADO.NET的一些技巧信息.         I.DataSet和XML         DataSet和XML的完美整合,可以使你完成以下事情:             ①从XSD