《软件项目计划》由会员分享,可在线阅读,更多相关《软件项目计划(8页珍藏版)》请在金锄头文库上搜索。
1、XXXXXX 网络技术网络技术(北京北京)有限公司有限公司 软件项目计划规范软件项目计划规范 版本:版本:A (软件项目计划规范)(软件项目计划规范) 规定项目在制定计划过程中的一些规范 XXXXXX 网络技术(北京)有限公司 版本 日期 说明 编写者 审核者 备注 A B 本文件的初稿 C 最终版本 D 第一次修改 1 概述概述 1.1 目的 1.1 目的 指导和规范 XXXXXX 网络技术(北京)有限公司所有研发项目的计划过程, 指明计划书中描述开发日程安排、资源需求、项目管理等各项情况的大体内容。该计划书主要向公司各相关人员发放,使他们可以了解该软件项目的情况。 目的是制定软件项目进行软
2、件工程和管理的合理计划, 并将计划付诸实施。该计划提供完成和管理软件项目的活动所必要的基础, 并按照软件项目的资源、约束条件和能力,阐述对软件项目用户所作的承诺。 1.2 适用范围 1.2 适用范围 XXXXXX 网络技术(北京)有限公司所有研发项目。 1.3 涉及部门 1.3 涉及部门 XXXXXX 网络技术(北京)有限公司内所有研发相关部门。 1.4 目标 1.4 目标 软件项目计划的目标是提供一个框架,使得管理者能够对资源、成本及 进度进行合理的估算。这些估算是软件项目开始时在一个限定的时间框架内所 做的,并且随着项目的进展不断更新。目标如下: 1、 软件生存周期已经选定,并经评审确认;
3、 2、 对计划中的软件规模、工作量、成本、风险等已经进行了 估计; 3、 软件项目的活动和约定是有计划的; 4、 影响计划进度的关键路径是已标识的、且受到控制的; 5、 影响计划进度的关键资源需求是已标识的; 6、 文档化的软件开发计划已经正式评审并确认; 7、 在软件生存周期的里程碑处,对计划的执行有检查、有记 录,问题有报告。 1.5 依据1.5 依据 制定软件项目计划的依据是软件需求规格说明和选定的软件生存周期。 1.1. 6 步骤 6 步骤 软件项目计划管理的步骤如下: 1、 估计软件工作产品的规模和所需的资源; 2、 确定待办的工作; 3、 界定软件项目的约束条件; 4、 陈述由需求
4、管理的实践所建立的目标; 5、 规模和工作量估计; 6、 制定进度表; 7、 鉴定并评估软件过程的风险; 8、 协商相应的约定。 XXXXXX 网络技术(北京)有限公司,这些估计或者评估通常是在考虑了在某个领域的专家或者具有丰富经验工程师的意见后定性地进行的, 偶尔也实验性地使用模型来作定量分析、估计或者评估。但是不管选择定 性还是定量的方法,软件过程都应该作此估计和评估。 为了使软件开发计划能切实有效地直到软件工程的各项活动,可能 需要反复地执行这些步骤。也就是说,不要企望制定了计划就一劳永逸、 并一成不变地执行计划,而应该根据软件需求的变动和软件过程的各项活 动的实际进展情况,经常、及时地
5、修订计划。 1.1. 7 术语 7 术语 约定(commitment)一个可视的、期待各方都应遵守的、无先决条件 的书面协议; 软件计划(software plan)用来描述将如何进行软件开发和(或)维护 活动的各类正式的计划。例如,项目详细计划(开发) 、软件质量保证计划、软 件配置管理计划、软件测试计划 、风险管理计划以及过程改进计划; 事件驱动的评审或活动(event-driven review / activity)基于某个事件 的发生而进行的评审或活动。 2 软件项目计划介绍软件项目计划介绍 2.1 软件项目计划的原因 2.1 软件项目计划的原因 首先,软件工程项目是否成功的主要因素
6、在于项目管理,而项目是否能有 效地进行管理的关键在于项目过程的可见性。由于软件项目过程是一个逻辑活 动过程的组合,因此,它不具备一个物理过程那样的可见性。软件项目的计划 的制定目的就是为项目实际过程提供充分的可见性,以保证当项目执行偏离项 目计划时能采取有效的解决手段。 其次,软件项目计划常常不能按期完成,主要原因有两个方面:一个方面 是由于计划执行和管理的能力不够;另一个方面是计划本身是否合理和有效, 计划的不合理性和无效性造成了大多数项目拖延,甚至失败。软件项目软件项 目计划(SPP) 的目的是建立一个合理有效的软件项目计划。 但是,建立合理的软件计划的基础是对软件项目规模、资源要求和风险
7、等 要有一个合理的估算。这个估算过程应是规范的,而不是任意的。例如,如果 提出一个项目计划需十个软件工程师工作六个月的计划,那么就要问这些数据 是如何得到的。用户提出的时间和费用的要求仅能作为项目计划约束的条件, 而不能作为项目计划的基础。 2.2 软件项目计划的定义 2.2.2 软件项目计划的定义 2. 3 软件项目计划的层次 3 软件项目计划的层次 软件计划要包括所有项目活动和所有参加方面的责任,这些活动和责任要 文档化,以保证有效地将计划传达给项目各个参加方。在项目计划执行前,各 个项目参加方要认同所承担的项目责任,这种认同是项目计划有效性的一个基 本保证。 3 XXXXXX 软件项目计
8、划指导方针 4 软件项目计划过程 4.1 适用范围 4.2 文档概述 4.3 软件项目计划先决条件 3 XXXXXX 软件项目计划指导方针 4 软件项目计划过程 4.1 适用范围 4.2 文档概述 4.3 软件项目计划先决条件 开始 4.4 软件项目计划过程 4.4.m 单个工程师计划 4.4 软件项目计划过程 4.4.m 单个工程师计划 在完成项目详细计划的工作分解之后,项目经理(计划工程师)需要确认 对每项任务小时数的估计,同时得到每个工程师每周可用的小时数,特别注意 需要排除假期时间的引入。然后根据这些来分配每个工程师每周的任务,在分 配工作的时候,要记住每个工程师的工作小时数,如故某一
9、周有人已经被安排 满了,就把任务分配给别人,直到大家在这一周的任务都全安排满了为止。然 后用同样的方法安排其它周次。 制定平衡的计划制定平衡的计划 制定一个平衡的计划是计划过程中最重要的步骤之一。原因是当小组工作 负担没有平衡的时候,一些工程师要比其他人承担更多的工作。他们完成任务 和延迟整个工程要花更多的时间。举例来说,在一个工程当中,为 9 个工程师 制定了下一个工程阶段的单个工程师计划, 如果一个工程师要 49 个星期完成他 的工作,而其他人不到 5 个星期就完成了。通过重新调整他们的计划,能够制 定出一个每个工程师 15 至 18 星期完成工作的计划。 如果没有平衡他们的计划, 每个人
10、就不得不等待那个要工作 49 周的工程师, 这样就大大地推迟了工程的完 成。 除非每个工程师制定一个详尽的计划并且小组平衡了整个工作负担,否则 工程花更多的时间。一些工程师总有过重的工作负担,他们结束时,拖延了其 他每个人。制定单个工程师计划的主要目的之一就是找出怎样使用小组的资源 以及怎样尽可能迅速完成任务,只有通过平衡小组的计划,才可以做到这一点。 制定的过程制定的过程 按先后顺序,挑选一项确认任务小时数估计的任务,挑选一位(组)适合 做该项工作的工程师,在适合的开始点为该(组)工程师指定该工作任务,继 续这种方法将任务分配给工程师并标记需要的时间。 在平衡过程中,需要不断的检查工作量是否
11、基本均衡。第一步要看是否有 人的工作计划时间比需要的多。如果有的话,就找出能够提前完成工作的工程 师来,把工作重新分配一下,为了平衡工作量,重新分配的原则是:把计划工 作时间长的工程师的工作分配给那些计划时间短的工程师。当然也可以把某些 工作分成更小的模块来由两个或两个以上的工程师共同完成。如果需要调整某些工作的话,就要回到任务分解步骤,对它们重新定义一下。 在平衡工作负担时,项目经理(计划工程师)会常常发现一些任务不得不 分配给那些不是最合适的人来做。然而通常那些最适合做这些任务的人也有着 最重要的工作负担。当项目经理(计划工程师)平衡工作负担的时候,重要的 是要明白许多人都有潜能可挖,如果
12、冒险分配给他们更难的任务,他们常常会 提高自己进入挑战从而令人惊讶地把工作做好。 一般来说,项目组所有成员都应该参与平衡负担的工作。因为没有一个最 佳的答案可以解决平衡问题,同时该问题受到许多诸如个人能力、喜好、知识 和角色等因素影响,所以这是一个复杂的过程。然而,只要项目组的每个人都 参与进来并且项目详细计划有一个好的规划,项目组都可能尽快平衡他们的工 作负担。 工作跟踪工作跟踪 通过工程师对工程师任务日程跟踪表的周期更新,可以使项目经理(计划 工程师)通过该表动态跟踪每一个工程师的工作执行情况,根据实际状况,项 目经理(计划工程师)可以调整计划,更改工程师工作计划。 4.4.n 每周例会
13、4.4.n 每周例会 在软件开发过程中,如无特殊情况项目组应该定期(建议每周)召开例会检 查计划执行情况。 会议阶段会议阶段 目 的 指导项目组进行每周例会 开 始标准 1) 所有项目组成员都出席 2) 所有项目组成员都已经把更新的工程师任务日程 跟踪表和问题协调要求交给项目经理 3) 项目经理已经根据项目组成员的工程师任务日程 跟踪表初步拟订了整个项目组的每周状况报告并做好工作问题 协调准备 4) 会议领导宣布了会议议程 概 要 1) 召开会议之前,会议领导已经 向项目组成员征集了会议议题和需要协调 的问题 准备好并分发了会议议程 2) 会议召开过程中 项目经理/会议秘书作会议记录 每一个项
14、目组成员都要报告他的角色工作 和开发工作的情况 3) 在会议之后,会议领导将 完成并分发会议报告 将会议报告存档 如果需要,则根据会议记录更改计划,提 出预防和改进措施 议程指导议程指导 活描述 骤 动 提 要 会议领导宣布会议开始,并且 宣布会议议程,征求附加或修改意见 检查是否所有项目组成员都做好了参加会议 的准备,如有必要,将会议延期 2角 色报告 从项目经理开始,项目组成员依次报告 任何事关全局的角色问题和关系 任何与角色相关的任务和行为状况 由该项目组成员负责跟踪的任何全局或风险 事项的状况 项目经理报告开发的进展情况 包括已设计、已检查、已实现和已测试的开发 内容 与计划比较的状况
15、 QA 回顾有关方面的数据 每一次检查、每一次集成和系统缺陷测试 工程师遵循过程的情况 任何可疑的质量问题 系统分析员报告系统进展和 SCM(软件配置管理)状 况 本周提交的东西、所做的修改和系统清单 工 程 师 报 告 每个工程师报告他的开发情况 在这一周和这个周期内工作的小时数, 并与计 划比较 本周完成的任务花费的时间并与计划比较 讨论每一个下一周要工作的小时数和下一周 要完成的任务以及可能遇到的技术风险 小组关心的其它问题 项 目 角 色 报告 项目角色报告与本项目相关的协调问题 有关需求的跟踪和变更情况 项目组与相关部门、资源的沟通协调问题 必要时,提出对计划执行状况的监督意见 4会 议结束 会议领导领导其它的任何问题的讨论,并且 检查是否所有提交的任务都被报告了 确认是否所有的风险和问题都被复查过了 确保下一周的任务已经确定和分派下去 讨论项目组每周报告中包括的事项 结 束 标 准 会议报告完成 得到周计划报告 得到更新项目组成员的计划表格(Project 文件)