Shao Fan

关于JAVA与软件工程
posts - 31, comments - 71, trackbacks - 0, articles - 4
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

关于需求变更的问题(2)

Posted on 2006-02-26 07:22 shaofan 阅读(329) 评论(0)  编辑  收藏 所属分类: 软件工程
If the problem was exploring requirements to lead them toward stability, the solution was seen to be prototyping. ... Prototyping and JAD continue to be used to this day, especially when requirements are poorly understood.

Meanwhile, management had to figure out how to deal with reuiqrements instability and the "moving target" problem. ... But eventually management came to realize that, although they could not freeze the requirements, they could insist that changing requirements lead to changing project terms and conditions. "You want new or revised features? Then let's talk about how much time and money that will cost over and above our original estimate." Unfortunately, that led us into the swampland of changing estimates while the project was in progress...

There is an interesting new twist evolving on the requirements instability problem. The extream Programming lightweight methodology calls for a representative of the user community to reside with the software project team during development. ... The questions remain, however, how many user organizations (a) will be willing to give up a first-rate person to such a full-time task, and (b) have one person who can represent all the potentially varying viewpoints of the customers and users?

为了更好得捕获需求,使它们有更好的稳定性,人们开始使用"原型"."原型"和JAD(联合应用开发)在如今仍在被使用着,尤其当需求无法被准确理解的时候.

同时,管理者必需面对和解决需求不稳定,及"移动靶"的问题.最终他们认识到,虽然他们无法冻结需求,但是他们可以坚持"需求变化导致合同条款变更"的想法."如果你想修改项目的功能,那就需要考虑这些修改所需要的时间和资金成本."不幸的是,这致使项目陷入需要重新进行估计的泥沼之中(在项目进行之中进行重新估计会造成哪些问题?).

此时极限编程浮出水面.它要求一个客户代表与开发人员一起,参与软件开发的过程.这可以解决一些问题,然而问题仍然存在,有多少组织(a)愿意放弃一个一线员工,让他全职参与软件开发,(b)能找到一个可以代表所有潜在的,持不同观点的客户和用户的人?(关于这点,个人认为光有客户代表可能还不够,还是要在需求捕获的过程中采用多种有效的手段,起码客户代表要与其他参与需求的客户和用户有一定的一致意见,否则,怎么起到"代表"的作用?)

[GLASS] Facts and Fallacies of Software Engineering, Rober L. Glass, Addison-Wesley,2002

只有注册用户登录后才能发表评论。


网站导航: