软件开发管理问题及策略

时间:2022-04-18 10:55:00

软件开发管理问题及策略

在信息化建设高速发展的今天,建立与之相适应的信息化系统已成为政府机关,企事业单位的重要课题之一。然而,在软件项目的开发过程中,项目变更频繁、进度超期,成本增加等现象数不胜数,这些问题的出现,使很多项目无法达到预定的目标,最终不得不以失败而告终。究其原因,主要有需求开发的原因、项目控制的原因、与客户沟通的原因、技术方面的原因等等,但对项目影响最大的则大多与开发需求有关。

(一)软件项目需求开发与管理存在问题分析

1.需求获取过程中,需求的不确定性

(1)项目开发团队缺乏项目的业务背景和行业经验,没有能完全了解客户的需求,需求分析不到位。项目开发团队的组成,是根据项目的规模、项目技术人员具备的专业技术水平来决定的。需求规格说明书是项目组成员通过前期的调研、向客户详细咨询等方式获得,是项目需求阶段的重要文档。需求分析人员在需求获取过程中,由于不了解客户的业务流程及行业状况,不好把握客户的需求,无法将需求表述为准确的技术用语,对项目需求分析产生一定的影响。

(2)客户不能全面、准确的阐述项目需求。由于客户对计算机系统的能力和限制缺乏了解,他们认为所提出的需求是否准确、全面,计算机最终能否达到他们的需求,只能取决于需求分析人员对客户对需求的描述和理解。

(3)对需求理解的分歧。客户和需求分析员之间由于工作背景不同以及理解的偏差,双方很难在沟通过程中对某一问题进行有效的沟通。当需求分析人员就系统需求与客户进行沟通时,需求分析人员通常使用的是专业的计算机术语,而客户使用的是通俗的行业语言描述。对同样的一句话,不同行业背景,不同层次的人员所理解的含义也尽不一样,这些情况都会在认识上产生一定的分歧。

2.需求分析不完整在需求分析阶段,客户提出的需求仅是一个模糊的概念,需求分析员虽然已按客户的描述进行需求分析,但这只是从开发者的角度考虑,并没有能完全站在客户角度去搜集和整理需求,所形成的软件需求说明文档无法得到客户的认可。

3.需求变更频繁需求在项目开发生命周期的任何阶段,都有可能被改变、删除或增加,需求的变更,对项目后期的相关活动产生很大的影响。这时,项目组成员不得不重新执行需求分析、设计、测试等工作。在需求评审、确认阶段,不同层面的客户所关注的问题也不尽一样,由此将会提出其它新的想法及要求;另外,客户的业务变化,也是客户提出需求变更的原因之一,这些需求变更的提出,对项目的进度、成本、资源配置等造成一定程度的影响。

4.缺乏有效的沟通制度和机制由于项目组对客户的组织结构、人员关系、工作职责等没有足够了解,使得用户需求的传递延迟、丢失或者传达的意见被曲解的现象。另外,在需求开发阶段,由于出现多个用户代表各说其词,没有形成统一的需求,以致于项目组无法得到最终用户代表确认的需求。

(二)软件项目需求开发和管理对策1.全面、准确的理解客户需求

(1)需求获取是项目需求分析人员与客户之间有效的沟通与交流,收集客户需求,与客户达成需求共识的活动。这项工作在很大程度上依赖于需求获取者的专门知识,这种专门知识可以建立在对各种行业的了解上,也建立在对项目开发技术的全面了解上,因此项目需求获取阶段必须由具备专业技术知识的项目经理或技术人员担当。针对项目开发方缺乏项目相关行业经验的情况,可以聘请行业专家、顾问等专业人员,通过业务培训、专业指导的方式进行,以提高项目团队尤其是项目需求分析人员对客户需求的把握能力。

(2)选择熟悉业务流程、能够确定需求的管理者、客户代表,让他们参与需求讨论。对于客户无法详细描术清楚的需求,由需求分析人员对他们进行引导,必要时,有针对性的对他们进行软件项目的相关知识培训,让客户能够更好的了解软件项目开发知识,提高他们对开发高质量系统需求重要性的认识,从而能清楚表达自己的需求。

(3)为了能够准确把握客户的需求,只有语言、文字上的交流沟通还不够,还需要通过成熟的项目进行演示,或搭建直观易懂的项目需求模型,由有实际开发经验的项目经理作为需求分析人员向客户演示并详细解说,减少客户与分析人员对系统开发需求的理解偏差。若客户在听取需求分析人员的解说后,仍对项目需求仍存在理解上的分歧,需求分析人员可与客户再进行深入交流和需求探讨。