摘 要:计算机软件项目管理中的需求分析是提高软件质量的基础也是决定一个软件项目成败的关键。本文介绍了在需求分析研究中探索出的一些有效措施。
关键词:需求分析;用户方干系人;项目经理;需求分析员
众观国内计算机软件业的发展,除远不如欧美等西方发达国家外,与人均GDP不及我国的印度相比也相距甚远,软件业的劣势正严重制约着我国IT业的发展。我国软件业的劣势表现在自主开发的成熟软件不多,而开发的大量软件工程项目(如ERP等)存在缺陷或完全开发失败。目前,国家正在加大对软件工程的研究和对软件工程人才的培养。根据资料显示,属于需求分析造成软件设计的错误和缺陷约占软件失败的6400,而属于程序代码的错误仅占软件失败的360a,数据表明需求分析是提高软件质量的基础也是决定一个软件项目成败的关键。通过对软件项目管理知识的系统学习并结合近年来自己参与部分软件项目实施的经验,介绍在需求分析研究中探索出的一些有效措施。
1尽快熟悉项目用户方干系人全貌
项目用户方干系人,指所有可能受到项目结果重大影响的人,即项目的风险承担者,他可能是项目的受益者,也可能是项目的受害者。因此,应当从项目的启动开始,需求分析员及其项目成员就要分清项目用户方干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。
有些项目在做需求调查时,由于受进度要求等客观因素影响,需求分析员与建设单位的技术部门交流较多,向业务管理部门和实际使用者调查不够深入,造成软件试用后不得不再对需求做较大调整,“从头再来”的部分比例很高,大大超过进度要求时间。因此,熟悉项目用户方干系人全貌是进行需求调查的第一步,也是需求调查的基础。在定制开发项目的项目用户方干系人中,最重要的是建设单位中的人事组织、业务关系。最好是能够用组织结构图画出相关单位的组织结构;还应当在相关单位组织结构图基础上画出全体项目用户方干系人结构图,以便更好更全面地进行需求调研分析;用责任矩阵确定各部分的调研对象;建立调研对象通讯录以保证调研及分析期间及时的沟通。
2采取正确的需求获取方法
软件开发项目的目的就是要实现项目用户方的需求,项目用户方的需求包含明确的和隐含的,也可以分为NEED, WANT, WISH等不同的层次。如果对项目所有用户方干系人没有进行足够的沟通和影响,使其尽可能地参与项目,则会出现客户方相关责任人不明确或对范围和需求责任心不强,提出的需求具有随意性,项目前期对需求的确认不够积极,或者是多个用户代表各说各话、昨是今非,项目后期需求变化随意等现象,这就会造成项目范围的蔓延,进度的拖延,成本的扩大,甚至项目的完全失败。
各种用户对系统具有不同的要求,如一个没有经验的用户关心系统是否简单易用,对于高级用户则关心产品的易用性和高效性。因而需要对用户进行分类,每一个用户类将有自己的一系列功能和非功能要求。在项目中,要尽早为产品确定并描述不同的用户类,这样就能从每一个重要的用户类代表中获取不同的需求。
项目需求具有双面性(用户与开发商)和多面性(项目中各干系人),因此,项目经理和系统集成者应了解用户干系人需求,用户干系人也应了解技术方面的需求,两者缺一不可。正确的需求获取需要了解需求的来源、用户的分类、用户的代表性、用户需求谁说了算数等因素。开发人员和项目经理要有足够的耐心聆听用户的讲述,要足够详细地了解每一个细节。项目管理者要善于将需求分类、归类,善于将需