预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

谈论软件研发项目需求管理1概述目前根据国内软件开发组织的成熟度大概可以分如下几类:(1)处在接单求生存的阶段的小作坊管理者还根本没有项目管理的意识以满足客户需求、定制开发和回款为第一要务;(2)开始尝试按照项目管理的思路与方法管理软件开发项目但发现推行困难不得要领目前很多中小型的软件开发组织都处于这个阶段;(3)大型的软件企业已经通过CMM|ISO认证、有足够的资源做保障实行规范的项目管理制度如一些软件外包工厂。所谈的软件项目管理主要是针对第二种类型是基于实际工作的实施需要制定摈弃单纯满足管理的要求站在项目的实际参与者(即开发人员)的角度去制定的而不是单纯满足项目管理层的控股欲以避免管理活动与软件开发的具体活动相脱节客观上导致了管理费的增加而看不到项目管理对于项目的真实价值。2流程在软件项目管理过程中不仅要努力实现项目的范围、时间、成本和质量等目标还必须协调整个项目过程以满足项目参与者及其他利益相关者的需要和期望;随着软件规模和所涉及领域的不断扩大软件项目的管理越来越困难。严谨的软件过程控制与管理不仅可以在每个阶段回顾和纠正项目的偏差识别软件项目的风险甚至果断中止项目而且可以将人才流动所带来的不利影响减少到最小。要进行有效的过程控制必须明确软件项目管理流程。2.1启动一个软件项目软件人员和用户在系统工程阶段确定项目的目标和范围。目标标明软件项目的目的但不涉及如何去达到这些目的。范围标明软件要实现的基本功能并尽量以定量的方式界定这些功能。2.2度量度量的作用是为了有效地定量地进行管理。2.3估算在软件项目管理的过程中一个关键的活动是制定项目计划。在做计划时必须对需要的人力、项目的持续时间、成本作出估算这种估算大多参考以前类似的项目而作出的。2.4风险分析风险分析是贯穿软件工程过程中的一系列风险管理的步骤其中包括风险识别、风险估计、风险管理策略、风险解决和风险监督它能让人们主动攻击风险。2.5进度安排对于进度安排需要考虑的是预先对进度如何计划工作怎么就位如何识别定义好的任务管理人员对结束时间如何掌握如何识别和监控关键路径以确保结束对进展如何度量以及如何建立分割任务的里程碑。首先识别一组项目任务建立任务之间的相互关联然后估算各个任务的工作量分配人力资源制定进度计划。2.6追踪和控制由项目管理人员负责追踪在进度安排中标明的每一个任务并根据实际完成情况对资源重新定向、对任务重新安排填写更改单申请客户提出;开发团队提出;提交给项目经理过滤处理不是问题忽略需要发起小组会议小问题项目经理可自做决定项目经理发起小组会议开会决策如何处理修改Scope修改计划不接受接受并本次开发考虑接受以后版本中再考虑修改Sconematrix修改有关合同信息修改Scopematrix将更改内容安排到开发计划图1从而较好地控制软件开发。实践证明确定每个阶段的主要流程内容和里程碑并采用评价指标体系和一系列的模板及表格进行软件项目开发过程的控制和管理会使软件项目的成功率显著提高。3需求管理软件项目管理要求转变技术为先的观点站在用户的角度了解用户的需求看看用户需要的是什么并积极应对需求变更。3.1对客户自身情况的了解在项目前期项目组应熟悉客户的行业背景包括相关政策、法规、客户信息化的现状、与上级、下级以及同级单位或者其他相关单位之间的业务关系等为项目做一个明确的定位。3.2找到真正的客户有时一个项目进行了很长时间项目组都未必知道项目的真正客户是谁最常犯的错误是仅将项目成果的使用者作为客户。试想连自己的客户都没搞清楚又怎能理解客户需求。例如电子政务系统的真正用户是该机关的决策层而不是具体负责这个电子政务项目的某个部门。如果需求仅仅来自负责这个项目的某个部门那么即使这个系统建好了也极有可能没有真正达到目的。但是由于各种原因决策层人员往往没有足够的精力来关心这件事这时如果项目组不去想方设法解决这个问题的话那么这个项目从一开始就陷入泥潭。3.3与客户进行沟通在需求调研阶段要学习以行业语言而不是计算机语言和客户对话。在对用户的业务背景、业务流程等知识有一些初步认识的基础上项目组要以客户所能接受的方式和“语言”与其进行沟通了解方方面面的细节。对于一些特别复杂的业务软件开发人员应以实习的身份具体参与到客户的实际工作中充分、准确地把握客户的所思所想。演员为了演好一个角色可以去体验生活软件人员的“实习”就是另一种体验它可以帮助开发人员切身体会客户的想法并且在这一过程中双方可充分沟通达到共识以减少今后需求变更的几率。3.4客户的积极参与不仅是在策划过程中在整个软件项目的开发过程中都必