软件外包项目的与需求地工程.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件外包项目与需求工程 作者结合自身工作实践,深入探讨了在软件外包项目管理过程中,如何有效地进行“需求工程”的相关工作,从而保证承包商获取完整并符合用户真实意愿的项目需求,以及减少因需求变更失控带来的可能危害。 一、需求的重要性 何为“需求”?广泛的讲,软件项目中的需求源于用户的一些“需要”,这些“需要”被分析、确认后形成完整的文档,该文档详细地说明了软件产品“必须或应当”做什么。 从重要性来看,软件项目中“需求、设计、编码、测试”四者哪个更重要?这个问题不好回答。四者都是软件开发过程中必不可少的环节,光做好其中一个环节并不能产生好的系统,但是做坏了其中任何一个环节,必定对系统产生坏影响。若从风险管理的角度讲,我认为需求开发和管理是最重要的环节。因为需求是产品的根源,需求工作的优劣对产品影响最大,而且会带来最大的返工成本。举例来说,软件项目开发过程就像一条河流,如果河流的源头(需求)被污染了,那么整条河流也就被污染了。 开发软件系统最困难的部分就是准确说明开发什么。最困难的工作是编写出详细的需求,以及包括所有面向用户、面向机器和其他软件系统的接口。此工作一旦做错,将会给系统带来极大的损害,并且以后的弥补也极为困难。 二、需求工作的问题分析 电力行业这几年正迎来信息化建设新浪潮,每个电力企业每年都有大量的软件项目需要开发,一些项目是由本企业自主开发,另外很大一部分是外包给其他软件公司进行开发,我们在这里可以将其称为“软件外包项目”。从我个人的了解和切身体会来看,国内许多电力企业的软件项目开发状况并不理想,很多项目进度反复延期、大量的返工、产品质量总是不能满足项目预期和用户的要求。而作为信息化建设的主流模式,软件外包项目更会因为跨地域、沟通不到位、承包商不成熟、组织利益不同等原因而产生更多的问题。 分析导致软件项目失败的众多原因,其中最主要的一条就是项目的开发方和用户方对“需求工作”不重视或缺少一套有效的方法论。一方面开发方的很多人员并不知道如何把需求工作做好,而另一方面用户方往往也忽略需求,不能积极提供完整详细的需求说明,而且很多需求确认或评审工作也是草草了事。 为了改进软件项目以上所述现状,绍兴电力局从2004年起和上海沙迪克软件有限公司一起就软件外包项目开发管理过程进行规范和整改,并取得了非常理想的成效。 我们首先来了解一下软件外包项目中需求工作存在的种种问题。 2.1 用户说不清楚需求 用户说不清楚需求是普遍现象,这是让开发商非常头痛的问题。这种情况下,如果软件承包商以此为借口草率地对待需求工作,会连累整个项目的开发。无论什么原因导致用户说不清楚需求,承包商都必须设法搞清楚用户的真实需求,这是他们的职责。 2.2 态度问题 相当多软件承包商的开发人员习惯于被动地对待需求工作。每当遇到麻烦、挫折时,总是发牢骚,并找出用户的很多问题。这是普遍现象,并不是承包商懒惰所造成的,而是不正确的观念误导了他们。 很多承包商错误地认为: 需求是用户的事情,不是我们的事情。我们为用户开发软件,难道用户不该告诉我们应当开发什么吗?如果用户说不清楚需求或者经常变更需求,因此引起的问题是用户造成的,应当由他们自己负责。 软件承包商应该让自己的开发人员了解到:需求分析员的天职就是在有限的时间内获取准确而细致的用户需求,如果做不到就是失职,不要找借口。 2.3 双方对需求的误解 对用户描述的需求,不同的人员可能有不同的理解。如果需求分析员误解了需求,那会导致后续的开发人员错误的开发。不论是复杂的项目还是简单的项目,需求分析员和用户都有可能误解需求,因此需求文档和评审工作必不可少。 用户经常变更需求 需求变更通常会对项目的进度、成本、资源产生很大的影响,这是软件承包商非常畏惧的问题。很多情况下用户方也具有不可推卸的责任,如:在项目初始阶段不愿意认真地整理需求、确认需求,总是想着“以后反正可以修改,以后再说 … ”,这样做的结果可想而知,大量的需求变更,频繁的返工,导致承包商丧失工作激情,以致项目最终不了了之。 从以上列举的几点来看,要减少因为需求导致项目失败的几率,需要软件外包项目的双方好好反省,认真学习需求工作方法,建立一套有效的软件项目需求开发管理过程体系和方法。 三、 需求工程的概念 为了进行有效的改进,我们首先需要划分并定义清楚需求相关工作的主要内容及其目标。 上述阐述中多次提到的“需求工作”,指的是所有与需求直接相关的活动,业界术语又称为“需求工程”。需求工程中的活动可以分为两大类,一类属于需求开发,另一类属于需求管理。需求工程的结构如下图所示。 需求开发 的目的是通过调查和分析,获取用户需求并定义产品需求。需求开发过程域有3个主要活动: · 需求调查 需求调查的目的是通过各种途径获取

您可能关注的文档

文档评论(0)

dmz158 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档