您当前的位置:首页 > 计算机论文>软件开发论文

浅谈软件需求管理中存在的常见问题

2015-09-30 09:45 来源:学术参考网 作者:未知

摘 要:需求管理是整个软件项目管理的基础,也是软件项目成功与否的关键因素之一。本文分析了软件项目需求管理过程中存在的若干问题,力求通过对相关问题的探讨,为软件项目需求管理提供更多的借鉴。

关键词:软件项目;需求管理;意识;沟通
随着计算机和信息技术的发展,软件的需求越来越复杂,规模越来越大,而且随着软件企业的日益壮大,软件需求管理已成为日常软件开发中不可或缺的组成部分。在软件项目的开发过程中,需求管理贯穿了软件项目的整个生命周期,是软件项目管理中一项十分重要的工作,据调查显示在许多失败的软件项目中,由于需求原因而导致的约占到四至六成,因此,需求管理做得好坏直接影响到软件质量的高低,甚至软件项目的成功与否。
  需求管理是每个软件项目开发的基础,是一种用于查找、记录、组织和跟踪系统需求变更的系统化方法,可用于获取、组织和记录系统需求并使客户和项目团队在系统需求变更上保持一致。目前,软件工程仍然是一种新兴的工程领域,它远远没有其他传统工程领域那么规范,其开发过程缺乏成熟的理论和统一的标准。因此,软件需求管理具有相当的复杂性和特殊性,当然仍存在着各种问题,下面将针对需求管理的相关问题进行探讨。
1.意识问题
  在许多软件企业中,从事需求管理的人员大多是技术骨干,在需求管理方面的培训较少或不够系统,未能掌握需求管理的常用工具及方法,在实际的需求分析中主要依靠个人现有知识经验,需求管理随意性和盲目性较大。其中部分需求管理人员都没有意识到自己是从事需求管理的角色,而是局限于软件技术的分析,造成需求管理计划不周、任务不均、安排不明、资源浪费。
  目前软件企业中,很少有专门从事需求管理的专业人员,被任命为需求管理的人员往往都是具体负责软件开发的技术人员,而这些技术人员在沟通、技能以及专业知识方面与专业软件需求管理人员仍有很大的差距,因此造成在软件开发时并不清楚究竟该做什么,但却在一直忙碌不停地开发。这个现象,已经成为国内软件业的顽疾。
  需求的复杂性以及不确定因素的存在,加之意识上的不重视,使需求管理人员对需求分析认识不足,认为需求分析做得再好也不如实际变化快,导致做需求分析走过场而留于形式,造成需求分析与实际情况脱节,无法获知真实有效的需求。因此,加强需求管理人员意识的培养,提高需求分析的技能是更好地做好需求管理工作的基础。
2.沟通问题
  在软件需求调研过程中,很多客户都不能正确表达自身的需求,常常碰到用户对自己真正的需求并不是十分明确的情况,他们认为只要简单的说说自己意图就是把需求说明白了,而对业务的规则、工作流程却谈及甚少,也讲不清楚。更有甚者,在调研过程中参与度不高,对需求的确认不够积极,提出的要求也较随意;或者多个用户代表各说各话,昨是今非但又要求项目尽早交付。这些情况往往会增加需求调研的工作难度,分析人员需要花费更多的时间和精力与用户尽心沟通,帮助他们梳理思路,搞清用户的真实需求。
  客户沟通是需求管理中的润滑剂,在需求管理过程中与客户的沟通很重要,因为它直接决定着最终软件产品是否满足客户的要求,在很大程度上决定着项目的成败。在沟通时,双方对需求的认识要一致,不能模棱两可。
  建立良好的沟通环境和氛围。需求管理人员与用客户沟通的程度关系到需求分析的质量,因此建立一个良好的沟通氛围、处理好需求管理人员与客户之间的关系显得尤其重要。通常情况下,客户作为投资方会有一些心理优势,希望他们的意见得到足够的重视,分析人员应该充分的认识到这一点,做好心理准备,尽量避免与他们发生争执,因为我们的目的是帮助用户说出他们的最终需要。
  在沟通时需求管理人员应注意以下几个方面:
  (1)和具体业务执行者的沟通。要尽量深入他们的实际工作,了解软件项目需要解决的实际问题的关键点。做一个优秀的倾听者,以最快的速度适应客户的语言风格,理解他们要表达的意思。以及使用不同的沟通手段和沟通工具来和客户沟通,比如片界面或者文档规格说明书等等,争权把软件开发语言和客户语言能够很好的在表述上达到一致,切忌自以为是,答非所问。
  (2)和决策者的沟通。项目产品基本定型和相对完整的产品需求,需要经过客户决策者的认可,以确认项目建设思路和方向没有偏离,利于投入更多的资源来细化和付诸开发实现。和客户决策者要定期汇报沟通项目进展,及时修正项目目标偏离,争权客户更大力度的协调配合,裁定项目范围需求便捷,贯穿始终。
3.管理问题
  需求管理工作应该是需求全生命周期的管理,从用户原始需求的提出,到最终形成软件产品后客户对需求实现情况的验证以形成闭环流程。因此我们需要跟踪和了解到需求状态的演变过程。大型的项目软件生命周期模型较为复杂,一个需求的实现会经过用户需求,软件需求,总体设计,详细设计,开发和单元测试,集成测试,系统测试和验收测试多个环节,在这个过程中需要建立需求追踪以确认需求和中间阶段产生的工作产品的一致性。
  变更管理是需求管理的另外一个重点,对于软件项目来的需求而言,客户会经常性地提出需求变更要求,主要原因有:客户对系统功能理解的分歧。在前期需求调研时,需求分析人员的知识、业务水平与客户的沟通交流情况等因素会造出双方在功能理解上的分歧,随着软件项目开发的进行,这种分歧会导致需求的变更;客户业务逻辑发生改变。客户在竞争激烈的市场环境中随着市场发展情况的变化而调整自己的业务逻辑,从而对软件项目需求提出新的变更要求。各种原因导致需求的不断变更,使其始终困扰着软件需求管理人员。
  为此就要引进规范而又专业的管理机制,使得需求管理更加规范。需求管理的重要性则体现在项目计划的严肃性和可执行性,以保证项目目标的实现。通过引入了需求变更管理后,使软件项目需求文档成为大家都共同承诺和作为依据参考的文档,这个文档需要在设计,开发,测试等多种角色之间充分传递和共享。另外通过需求管理工作,使每个人意识到变更对项目的影响和变更的代价,从而促进需求开发质量的提高。
  对软件需求管理中存在的常见问题进行了浅显的分析,软件需求管理涵盖了意识、技术和管理等多方面的知识,对软件项目开发的成败有着 非常重要的意义,它是一个软件项目成功与否的关键因素之一。在软件开发过程中,要树立既要注重技术,又要注重管理的意识,努力提高需求管理的水平。
参考文献:
     [1]吴艳艳,周长伦﹒软件项目管理中的需求管理[J]﹒信息技术与信息化研究与探讨,2008.
     [2]陈俊霞,王卫东﹒软件项目管理的若干问题探讨[J]﹒现代计算机,1999.
     [3]齐治昌,谭庆平,宁洪﹒软件工程[M]﹒北京:高等教育出版社,2004.
  作者信息:李航(1983-)男,福建福州人,本科,研究方向:软件工程

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页