《全套CMMi软件质量管理体系.docx》由会员分享,可在线阅读,更多相关《全套CMMi软件质量管理体系.docx(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除XXXXX计算机软件有限公司XX软件质量管理体系 V1.0XX软件研发部2010/12/1 【精品文档】第 75 页目录第一篇总则4一、XX软件质量管理体系的实施4二、目的4三、背景介绍4四、体系总体介绍5第二篇项目管理7一、立项管理7二、结项管理14三、项目计划18四、项目监控27五、风险管理33六、需求管理37第三篇技术实现过程43一、技术预研43二、SCRUM过程46三、用户验收52四、技术评审55第四篇支撑过程61一、配置管理61二、质量保证67三、培训管理73四、服务与维护78第一篇 总则一、 XX软件质量管理体系的实施XX计算机软件有
2、限公司依据CMMi(软件能力成熟度模型集成)框架,结合公司多年来实施“敏捷开发”的开发方法的经验,以及公司的实际情况,编写的XX软件质量管理体系V1.0版已经编写完成。本体系文档是公司质量管理体系法规性文件,是指导公司建立并实施质量管理体系的行动准则。公司全体员工必须遵照执行。二、 目的本文档的目的在于: 通过建立软件过程管理体系,提高企业的软件过程能力,保证软件质量,保证商务目标的实现。 基于精简的CMMi 3级管理体系,结合企业实际情况和经验积累,结合敏捷开发的SCRUM方法。开发适合XX软件有限公司发展的软件过程管理体系。 使得XX软件的软件开发过程管理基本满足CMMi 3级要求。三、
3、背景介绍CMMI-DEVCMMI是个了不起的规范,但是仍然有很多不足之处。CMMI对于项目管理很有指导价值,但是它对技术开发过程的论述却不够深入。对于大多数软件项目而言,技术开发占总工作量的70以上,而项目管理占总工作量的30以下。对大多数企业而言,技术开发过程的规范化比项目管理过程的规范化尤为重要与迫切。软件开发是如此的灵活,如果没有规范来指导与制约,就容易因无序而导致混乱。但是规范如果不切实际或者太严密了,就容易畸变成为死板的教条,会扼杀开发人员生机勃勃的创造力。软件过程规范应当力求简单实用。Scrum由Ken Schwaber和 Jeff Sutherland 提出,旨在寻求充分发挥面向
4、对象和构件技术的开发方法,是对迭代式面向对象方法的改进,名称来自英式橄榄球(在比赛中每个队员都应时刻保持对场上全局的判断,然后通过集体行动,奋力实现同一目标胜利)。SCRUM方法最初实践于Easel公司(1993年),现已被数十家公司数百个项目开发中应用,适用于需求难以预测的复杂商务应用产品的开发11。SCRUM提出的SCRUM Meeting、Sprint、Backlog、SCRUM Master、SCRUM Team、Demo等模式已被PLOP作为组织和过程模式(Organizational and Process Pattern)的标准。SCRUM将工业过程控制中的概念应用到软件开发中来
5、,认为软件开发过程更多是经验性过程(Empirical Process),而不是确定性过程(Defined Process)。确定性过程是可明确描述的、可预测的过程,因而可重复(Repeatable)执行并能产生预期的结果,并能通过科学理论对其最优化。经验性过程与之相反,应作为一个黑箱(Black box)来处理,通过对黑箱的输入输出不断进行度量,在此基础上,结合经验判断对黑箱进行调控,使其不越出设定的边界,从而产生满意的输出。SCRUM方法将传统开发中的分析、设计、实施视为一个黑箱,认为应加强黑箱内部的混沌性,使项目组工作在混沌的边沿,充分发挥人的创造力。总而言之,CMMI和敏捷开发能够很好
6、地相互补充、相互支持。首先在关注点上CMMI关注组织级或企业级改进,关注回答项目应该做什么,而不是具体怎么做的方法,而敏捷开发则更关注项目级改进,关注项目具体怎么做的方法和最佳实践,这使双方在定位方面形成很好的相互补充的态势。一方面CMMI为敏捷提供组织级扩展的能力和必须的组织治理框架,便于组织级对敏捷最佳实践的推广和重用;另一方面,敏捷为CMMI提供了项目级的具体实践方法,确保团队在CMMI框架下能够快速响应,不断创新,持续交付价值。两者的有效结合,能够有效实现个人绩效向团队绩效、向组织绩效的转变过程。同时,也可以通过敏捷实践,规避CMMI实施过程中重文档、重流程的不良倾向,使CMMI实施时
7、更加关注组织的实际价值、关注客户、关注创新。四、 体系总体介绍XX软件质量管理体系将项目的生命周期划分为以下14个控制域。项目管理过程域目的立项管理采纳符合机构最大利益的立项建议,通过立项管理使该建议成为正式的项目。杜绝不符合机构最大利益的立项建议被采纳,避免浪费机构的资源、资金、时间等。结项管理在项目开发工作结束后,对项目的有形资产和无形资产进行清算、对项目进行综合评估以及总结经验教训等。项目规划为项目的研发和管理工作制定合理的行动纲领(即项目计划),以便所有相关人员按照该计划有条不紊地开展工作。项目监控周期性地跟踪项目计划的各种参数如进度、工作量、费用、资源等,不断地了解项目的进展情况,以
8、便当项目实际进展显著偏离计划时能够及时采取纠正措施。风险管理在风险产生危害之前识别它们,从而有计划地消除或削弱风险。需求管理在客户与开发方之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更。项目研发过程域目的技术预研在立项之后到开发工作完成之前的时间内,对项目将采用的关键技术提前学习和研究,尽可能早地发现并解决开发过程中将会遇到的技术障碍。Scrum过程设计软件系统的体系结构。分Scrum小组,使用敏捷方法实现软件产品,在每次迭代都产生可以交付的产品。最后在巩固过程中确保产品符合用户的需求。客户验收客户依据合同对产品进行审查和测试,确保产品满足客户需求。技术评审尽早地发
9、现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而有效地提高产品的质量。机构支撑过程域目的配置管理通过执行版本控制、变更控制等规程,以及使用配置管理软件来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。质量保证提供一种有效的人员组织形式和管理方法,通过客观地检查和监控“过程质量”与“产品质量”,从而实现持续地改进质量。培训管理根据机构(或项目)的需求来制定培训计划,并监督该计划的实施,确保培训取得预期效果。服务与维护是指产品销售之后的客户服务和产品维护,其宗旨是提高客户对产品以及对开发方的满意度。第二篇 项目管理一、 立项管理立项管理(Project Initializ
10、ation Management, PIM)的目的是:(1)采纳符合机构最大利益的立项建议,通过立项管理使该建议成为正式的项目(即合法化)。(2)杜绝不符合机构最大利益的立项建议被采纳,避免浪费机构的人力资源、资金、时间等。立项管理是决策行为,其目标是“做正确的事情”(do right things)。而立项之后的研发活动和管理活动的目标是“正确地做事情”(do things right)。只有“正确的决策”加上“正确地执行”才可能产生优秀的产品。立项管理过程域是SPP模型的重要组成部分。本规范阐述了立项管理过程域的三个主要规程: 立项建议 PASS-PROC-PIM-PROPOSAL 立项评
11、审 PASS-PROC-PIM-REVIEW 项目筹备 PASS-PROC-PIM-PREPARE上述每个规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。本规范适用于国内IT企业的软件研发项目。建议用户根据自身情况(如商业目标、研发实力等)适当地修改本规范,然后推广使用。1 介绍立项管理流程分三个阶段:“立项建议阶段”、“立项评审阶段”和“项目筹备阶段”,如图1所示。一、立项建议阶段立项建议小组应反复地进行立项调查、产品构思和可行性分析。在深思熟虑之后,立项建议小组撰写立项建议书,并申请立项。要注意的是,由于立项调查和可行性分析通
12、常比较费时费力,往往被人忽视。而草率撰写的立项建议书会有比较多的主观臆断,这对项目是有危害的。产品构思通常不可能快速完成,切不可闭门造车。深入地进行立项调查与可行性分析不仅对产品构思有帮助,而且对立项评审也有帮助。二、立项评审阶段机构领导组织一个评审委员会进行立项评审。评审委员会根据立项建议书、立项调查报告、立项可行性分析报告以及立项建议小组的答辩,投票决定是否同意立项(按少数服从多数原则)。评审委员会应根据机构的实际情况(发展战略、资金、人力资源等),对立项建议书提出改进意见。机构领导对立项具有最终审批权。如果机构领导赞同评审委员会的决策,那么他们将共同分担决策责任。如果机构领导行使“一票否
13、决权”,那么他将对该决策负全部责任。三、项目筹备阶段机构领导任命一位项目经理。通常情况下,立项建议小组的负责人将被任命为项目经理,这样有利于激发员工的工作热情。但是如果此人不适合于任项目经理,那么机构领导应该另外任命一位合适的项目经理。项目经理被任命之后,机构领导协助项目经理获取项目经费、人力资源、软硬件资源等。要注意的是,如果项目所需的资金和资源难以按时到位,此时项目经理不可老在等待或只是抱怨,应当主动设法克服困难,尽早行动起来。很多时候,资金和资源是争取来的,而不是等来的。如果必要的资金和资源已经到位,项目经理和项目核心成员根据实际情况撰写项目计划,执行项目研发和管理工作。评审产品构思同意
14、可行性分析立项申请立项调查项目筹备阶段立项评审阶段立项建议阶段否决项目筹备图1-1 立项管理流程立项管理过程域产生的主要文档有: 立项调查报告 立项可行性分析报告 立项建议书 立项评审报告2 立项建议阶段2.1 目的l 立项建议小组充分地进行立项调查、产品构思和可行性分析,撰写相应文档并申请立项。2.2 角色与职责l 立项建议小组一般由产品创作者(构思者)和商务部人员组成。该小组开展立项调查、产品构思、可行性分析等活动,在深思熟虑之后撰写立项建议书、立项调查报告和立项可行性分析报告并申请立项。2.3 启动准则l 立项建议小组已经成立。2.4 输入l 与目标产品有关的任何信息2.5 主要步骤l
15、Step1 立项调查n 立项建议小组开展立项调查,主要工作包括: 市场调查 政策调查 同类产品调查 竞争对手调查 用户调查 其他相关的调查n 立项调查应当遵循以下原则: 调查者应当客观地对待被调查的事物,不可有意往“好处”或者“坏处”写。 调查报告中的数据、图表要真实并且有据可查,不可凭空捏造。 调查报告应通俗易懂,不可写成学术性的文章。l Step2 产品构思n 立项建议小组进行产品构思,主要内容包括: 待开发产品的主要功能 待开发产品的技术方案 Make-or-Buy决策(确定哪些产品部件应当采购、外包开发或者自主研发。) 开发计划 市场营销计划 其他相关的计划l Step3 可行性分析
16、n 立项建议小组开展可行性分析,主要内容包括: 市场可行性分析 政策可行性分析 竞争实力分析 技术可行性分析 时间和资源可行性分析 知识产权分析 其他相关的可行性分析l Step4 撰写并完善立项建议相关文档n 在进行了充分的立项调查、产品构思和可行性分析之后,立项建议小组撰写并完善立项建议书、立项调查报告、立项可行性分析报告以及相关文档。l Step5 申请立项n 立项建议小组向机构领导递交立项建议书、立项调查报告、立项可行性分析报告以及相关材料,申请立项。2.6 输出l 立项建议书、立项调查报告、立项可行性分析报告以及相关文档。2.7 结束准则l 立项建议小组按照指定的模版撰写了立项建议书
17、、立项调查报告和立项可行性分析报告,并做了内部审查(消除拼写、排版等错误)。2.8 度量l 立项建议小组统计工作量和上述文档的规模,将来汇报给项目经理。3 立项评审3.1 目的l 机构领导组织立项评审委员会,对项目建议书进行评审,决定是否同意立项。3.2 角色与职责l 机构领导根据项目的特征组织立项评审委员会,并确定一位主席。主席应当具备比较丰富的评审经验,能够控制评审会议的进程。主席除了主持评审会议之外,还要负责撰写立项评审报告。l 一般地,立项评审委员会由机构领导、各级经理、市场人员、技术专家、财务人员等组成。委员会按少数服从多数原则投票决定是否同意立项(此时机构领导只是一名委员,不具有一
18、票否决权)。l 立项建议小组陈述立项建议书的主要内容,并答复评审委员会的问题。l 评审会议的记录员可以任意指定。记录员记录评审会议中的一些重要问答。l 立项评审委员会决议之后,机构领导作最终审批(此时机构领导具有一票否决权)。3.3 启动准则l 立项建议小组已经申请立项,机构领导同意进行立项评审。3.4 输入l 立项建议书、立项调查报告、立项可行性分析报告以及相关材料。3.5 主要步骤l Step1 准备n 机构领导根据项目特征组织立项评审委员会,并确定一位主席。n 主席确定评审会议的时间、地点、设备和参加会议的人员名单(包括评委、记录员、立项建议小组、旁听者等),并通知所有相关人员。n 主席
19、将立项建议书、立项调查报告、立项可行性分析报告以及相关材料发给所有评委。各评委必须在举行评审会议之前阅读完上述材料,并及时与立项建议小组交流。l Step2 举行评审会议n Step2.1 主席宣讲本次评审会议的议程、重点、原则、时间限制等。n Step2.2 立项建议小组陈述立项建议书的主要内容。n Step2.3 答辩 评审委员会提出疑问,立项建议小组解答。双方应当对有争议的内容达成一致的处理意见。 记录员记录答辩过程的重要内容(问题、结论、建议等)。n Step2.4 评估 评审委员会根据“立项评审检查表”认真地评估该项目。 评审委员会给出评审结论和意见: 主席撰写立项评审报告并递交给机
20、构领导,本次评审会议结束。l Step3 机构领导终审n 机构领导在立项评审报告中签注最终审批结论和意见。3.6 输出l 立项评审报告3.7 结束准则l 评审委员会和机构领导已经在立项评审报告中签注结论和意见。3.8 度量l 评审委员会统计工作量和上述文档的规模,将来汇报给项目经理。4 项目筹备4.1 目的l 任命一位合适的项目经理,并协助项目经理获取经费、人力资源、软件硬件资源等,以便顺利启动项目。4.2 角色与职责l 任命一位合适的项目经理,并协助项目经理获取经费、人力资源、软件硬件资源等。l 项目经理组建团队,开始执行项目研发和管理工作。4.3 启动准则l 机构领导已经批准立项。4.4
21、输入l 评审、修正后的立项建议书4.5 主要步骤l Step1 任命项目经理n 机构领导参考立项建议小组和评审委员会的意见,任命一位合适的项目经理。l Step2 获取经费与资源n 由于机构的资金和资源是有限的,机构可能难以完全按照立项建议书的要求给项目分配充足的资金和资源。机构领导和项目经理应当设法和财务部门、人力资源部门协商,尽可能为项目争取必要(充分)的资金和资源。l 后续活动n 如果必要的资金和资源已经到位,项目经理和核心成员根据实际情况撰写项目计划,开始执行研发和管理工作。详见SPP 的项目计划过程域SPP-PROC-PP和需求开发过程域SPP-PROC-RD。4.6 输出l 项目经
22、理使用经费和资源的凭证,例如经费本等。4.7 结束准则l 项目经理已经被任命,必要的资金和资源已经到位。4.8 度量l 项目经理统计工作量。5 补充l 对立项管理过程域产生的所有有价值的文档如立项建议书、立项调查报告、立项可行性分析报告、立项评审报告进行配置管理。l 做好必要的保密工作。l 由于每个项目都要占用机构的资金和资源,立项评审一定要严格。建议对机构高层管理人员进行必要的立项管理培训。l 对于客户委托开发的项目,立项建议工作可以适当地简化。二、 结项管理结项管理(Project Closing Management, PCM)是指在项目开发工作结束后,对项目的有形资产和无形资产进行清算
23、;对项目进行综合评估;总结经验教训等。本规范阐述了结项管理的规程,该规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。1 介绍立项管理与结项管理是前后呼应的两个过程域,使得项目管理过程“有始有终”。项目结束有两种状况:一是正常结束,二是异常结束。前者是指项目按预定计划结束。后者原因有多种,归根结底都是由于该项目不再符合机构的最大利益。例如有些项目因不适应市场而被中途淘汰,有些项目在执行过程中大大因偏离计划(如进度延误、费用超支)而被取消。不论项目属于正常结束还是异常结束,都要按照结项管理规范处理。结项管理包括三项内容: 对项目的有形
24、资产和无形资产进行清算,既要防止资产流失,又要及时地利用这些资产。 对项目进行综合评估。例如评估项目完成情况、项目质量、投入产出分析、项目的市场价值、项目对企业的贡献等等。该评估报告可以作为考核项目人员业绩的重要依据。 总结经验教训,使整个机构受益。综合评估经验总结结项评审结项申请机构领导审批机构领导指示资产检查图2-1 结项管理流程图结项管理的流程如图1所示,产生的主要文档有: 结项申请书,模板见 SPP-TEMP-PCM-REQUEST。 结项评审报告,模板见 SPP-TEMP-PCM-REVIEW。2 结项管理规程2.1 目的l 对项目的有形资产和无形资产进行清算;对项目进行综合评估;总
25、结经验教训等。2.2 角色与职责l 项目经理撰写结项申请书,申请结项。l 机构领导对“是否结束项目”具有决定权。l 机构领导根据项目的特征成立结项评审委员会。一般地,结项评审委员会由机构领导、各级经理、市场人员、技术专家、财务人员等组成。2.3 启动准则l 对于那些按照计划执行的项目而言,当项目已经开发完成时,可以进入结项管理流程。l 对于那些不再符合机构最大利益的项目而言,如果机构领导明确指示结束项目,可以进入结项管理流程。2.4 输入l 立项建议书、项目计划等文档2.5 主要步骤l Step1 机构领导指示n 对于那些不再符合机构最大利益的项目而言,机构领导应当明确指示该项目经理,确定何时
26、结束项目。n 对于那些按照计划执行的项目而言,当项目开发工作接近尾声时,机构领导和项目经理根据机构的现状,协商并确定何时结束项目。l Step2 结项申请n 遵照机构领导的指示,在预定的时间内,项目经理撰写结项申请书,并递交给机构领导。结项申请书主要内容包括:u 项目介绍u 计划与实际情况对比u 主要工作成果u 专利与版权情况u 项目主要资产及处理意见l Step3 机构领导审批 n 机构领导审阅结项申请书。如果该申请书符合机构的规章制度和企业利益,那么批准进入“结项评审”阶段,转向Step4。否则返回Step1或Step2。l Step4 结项评审n Step4.1 准备u 机构领导根据该项
27、目的特征,成立一个结项评审委员会,确定一位主席。u 评审委员会主席和项目经理共同确定结项评审的时间、地点等等,并通知所有相关人员。n Step4.2 项目资产检查与处理u 结项评审委员会检查该项目的有形资产和无形资产,并和项目经理共同商讨如何有效地利用这些资产。n Step4.3 项目综合评估u 结项评审委员会对该项目进行综合评估,主要内容包括:u 项目完成情况u 项目质量u 投入产出分析u 项目的市场价值u 项目对机构的贡献n Step4.4 总结经验教训u 结项评审委员会和项目成员们共同总结经验教训,并以文档的形式保存下来,在机构内共享,使集体受益。n Step4.5 机构领导终审u 结项
28、评审委员会撰写结项评审报告,并交付给机构领导。u 机构领导签注最终意见,项目正式结束。l 后续活动n 举行集体活动、座谈会、宴会等等,原项目成员们交流思想,增进感情。n 机构领导和人力资源部考核项目经理和项目成员们的业绩,努力做到赏罚分明。2.6 输出l 结项申请书l 结项评审报告2.7 结束准则l 结项评审报告已经撰写完毕,机构领导签注最终意见。2.8 度量l 项目经理统计工作量和上述文档的规模。3 补充l 对结项管理过程域产生的所有有价值的文档进行配置管理。l 做好必要的保密工作。l 对于客户委托开发的项目,Step1至Step3可以适当地简化,但是结项评审工作不能简化。对结项评审委员会进
29、行必要的培训,使他们树立正确的观念,从而严格把关。三、 项目计划项目规划(Project Planning)的目的是为项目的研发和管理工作制定合理的行动纲领(即项目计划),以便所有相关人员按照该计划有条不紊地开展工作。为了避免词义混淆,这里把动词Planning译为规划,把名词Plan译为计划(或计划书)。项目规划过程域是SPP模型的重要组成部分。本规范阐述了项目规划过程域的四个主要规程: 项目估计 PASS-PROC-PP-ESTIMATE 制定项目计划 PASS-PROC-PP-ESTABLISH 审批项目计划 PASS-PROC-PP-APPROVE 项目计划变更控制 PASS-PROC
30、-PP-CHANGE上述每个规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。1 介绍在立项管理过程域的项目筹备阶段(参见SPP-PROC-PIM),机构领导首先任命一位项目经理,之后机构领导协助项目经理筹备项目经费、人力资源、软件硬件资源等。如果必要的资金和资源已经到位,那么项目经理和核心成员即可组成一个项目规划小组,着手制定项目计划,并按计划执行研发和管理工作。项目计划过程域有4个主要规程:“项目估计”、“制定项目计划”、“审批项目计划”和“项目计划变更控制”,流程如图3-1所示。一、项目估计项目估计是否准确将直接影响项目计划的
31、有效性。项目估计要尽量做到“知己知彼”。“知彼”是指了解产品的需求,“知己”是指了解本项目的实力(即本项目实际能够拥有的经费、人力资源、软件硬件资源、技术水平等)。项目估计的重点内容是“产品范围估计”、“产品规模估计”、“工作量估计”和“成本估计”等。在项目刚开始时,人们对产品需求的了解还比较肤浅,而项目实际能够拥有经费和资源很大程度上是靠项目经理争取的,不确定因素比较多。在这种情况下人们很难作出准确的估计。但是“估计”显然比“不估计”要好,否则项目计划就没有依据了。二、制定项目计划根据项目估计得到的数据,规划小组制定项目计划。项目计划的重点内容是“人力资源计划”、“软硬件资源计划”、“开支(
32、财务)计划”、“任务与进度计划”、“下属计划”等。由于需求开发花费的时间比较长(一般约占整个项目开发周期的20),人们一般不会等到需求开发完成之后才开始制定项目计划。否则在那么长的时间里没有项目计划,众人不知如何开展活动,显然有害于项目。所以通常项目规划和需求开发是并行开展的(请参见SPP 模型图)。三、审批项目计划规划小组将项目计划递交给机构领导审批。如果机构领导批准了项目计划,那么该计划书可以正式发布(文件状态为Released),不可以被随便修改。项目的所有成员按照项目计划执行研发与管理工作。四、项目计划变更控制在项目执行过程中如果发现项目计划与实际情况有比较大的偏差,应当及时更新项目计
33、划。变更项目计划必须按照指定的规程(即变更控制)执行,防止发生混乱。按计划执行研发与管理工作制定项目计划审批项目计划项目计划变更控制项目估计图3-1项目规划流程图项目规划过程域产生的主要文档有: 项目估计表,模板见 SPP-TEMP-PP-ESTIMATE。 项目计划,模板见 SPP-TEMP-PP-PLAN。 项目计划变更控制报告,模板见 SPP-TEMP-PP-CONTROL。2 项目估计2.1 目的l 估计项目的范围、产品规模、工作量、成本等,为制定项目计划提供依据。2.2 角色与职责l 项目规划小组由项目经理和核心成员组成,所有人员共同参与项目估计。2.3 启动准则l 机构领导已经批准
34、立项。l 项目规划小组已经成立。2.4 输入l 立项建议书和一些用户需求文档。l 用于项目估计的一些经验数据。2.5 主要步骤l Step1 估计项目范围计划小组首先估计本项目的范围,可以用产品的WBS来表示。计划小组根据用户需求,分解产品的功能,制定产品的WBS,如图3-2所示。由于此处WBS仅用于项目估计而非用于系统设计,其细分程度由计划小组决定。产品(系统)组件C3组件C2组件C1组件B1组件B3组件B2组件A3组件A2组件A1子系统A子系统C子系统B图3-2 用于项目估计的产品WBS示意图l Step2 估计产品规模n 产品规模的主要度量单位有: 代码行 类(对象)个数 文档页数n 产
35、品规模估计方法如下:I. 规划小组各成员根据产品的WBS,独立地估计产品的规模,填写“产品规模估计表格”(如表3-1所示)。II. 汇总每个成员的“产品规模估计表格”,进行对比分析。如果各人估计的差额小于10,则取平均值。如果差额大于10,则转向第I.步,规划小组各成员重新估计产品的规模,直到各人估计的差额小于10为止。产品的组件新开发组件的规模(代码行、类、文档页数)复用或自动生成的组件的规模(代码行、类、文档页数)组件1组件2组件3总和表3-1 产品规模估计表l Step3 估计工作量n 项目的工作量是“项目研发工作量”、“项目管理工作量”、“机构支撑工作量”三者之和。工作量的度量单位可以
36、是“人小时”、“人天”、“人月”或“人年”。l Step4 估计成本n 规划小组估计人力资源成本、软硬件资源成本、商务活动成本等。2.6 输出l 项目估计表2.7 结束准则l 规划小组已经按照本规程进行了项目估计,并产生了项目估计表。2.8 度量l 项目经理记录本规程产生的所有估计数据。3 制定项目计划3.1 目的l 根据项目估计产生的数据,制定项目计划。3.2 角色与职责l 项目规划小组由项目经理和核心成员组成,所有人员共同制定项目计划。3.3 启动准则l 项目估计已经完成。3.4 输入l 立项建议书和一些用户需求文档l “项目估计表”3.5 主要步骤l Step1 确定目标与范围n 规划小
37、组首先确定本项目的目标与工作范围。目标必须是“可实现的”和“可验证的”。工作范围包括“做什么”和“不做什么”。l Step2 确定过程模型n 规划小组根据项目的特征,确定过程模型,包括项目研发过程、项目管理过程、机构支撑过程等。例如裁剪SPP模型。n 规划小组确定(描述)过程模型中采用的方法与工具。例如采用Rational Rose进行面向对象分析与设计,采用Visual SourceSafe进行配置管理,采用Microsoft Office制作文档等等。l Step3 制定人力资源计划n 规划小组制定本项目的角色职责表,并为已知的项目成员分配角色(一个人可以兼多个角色),如表3-2所示。角色
38、职责人员工作说明表3-2 人力资源计划l Step4 制定软硬件资源计划n 规划小组分析项目开发、测试以及用户使用产品所需的软硬件资源,制定软硬件资源计划,如表3-3所示。主要内容包括: 资源级别(分为“关键”、“普通”两种) 详细配置 获取方式(如“已经存在”、“可以借用”或“需要购买”等)与获取时间 用途(如“谁”在“什么”时候使用)软硬件资源名称级别详细配置获取方式与时间用途关键关键普通表3-3 软硬件资源计划l Step5 制定财务计划n 规划小组制定财务计划,如表3-4所示。开支类别主要开支项、用途金额时间表3-4 财务计划l Step6 分配任务并制定进度表n 规划小组分配任务并制
39、定进度表,建议采用Microsoft Project制作Gantt 图,附在项目计划中。l Step7 确定下属计划n 规划小组确定本项目计划主要的下属计划,如表5-6所示。下属计划的名称建议负责人预计产生时间配置管理计划配置管理员质量保证计划质量保证员技术评审计划一些开发计划一些测试计划表5-6 主要的下属计划3.6 输出l 项目计划3.7 结束准则l 规划小组已经按照指定的模版撰写了项目计划,并做了内部审查(消除拼写、排版等错误)。3.8 度量l 项目经理统计工作量以及文档规模。4 审批项目计划4.1 目的l 机构领导审批项目计划,确保该计划是合理的、符合机构现实的。4.2 角色与职责l
40、机构领导审批项目计划。l 如果项目计划有不合理之处,规划小组应根据机构领导的意见修正项目计划。4.3 启动准则l 规划小组已经制定了项目计划。4.4 输入l 项目计划4.5 主要步骤l Step1 申请审批n 项目经理将项目计划提交给机构领导,申请审批。申请书可以采用电子邮件或书面报告等形式。l Step2 审批与修正n 机构领导根据“项目计划检查表”认真审批项目计划。n 如果项目计划有不合理之处,规划小组应根据机构领导的意见及时修正项目计划。l Step3 批准生效n 机构领导签字批准后,该项目计划正式生效,此后规划小组不能随意修改项目计划。4.6 输出l 机构领导的审批意见(见 项目计划的
41、附录)。l 按评审意见修正后的项目计划。4.7 结束准则l 机构领导签字批准了该项目计划。4.8 度量l 项目经理统计工作量。5 项目计划变更控制5.1 目的l 修改原项目计划中不合理的内容,产生新的项目计划。l 控制项目计划的变更,防止发生混乱。5.2 角色与职责l 机构领导审批变更申请。l 项目经理更新项目计划。5.3 启动准则若下列之一发生,应当变更原项目计划:l 进度偏差超过了容许的误差,如20;l 费用偏差超过了容许的误差,如20;l 项目过程模型发生了显著的变化;l 用户需求发生了重大的变化;l 发生了对项目小组而言不可抗拒的变化,例如公司裁员、机构调整、产品发展战略调整等。5.4
42、 输入l 原项目计划5.5 主要步骤l Step1 变更申请n 项目经理向机构领导申请变更项目计划。变更申请书中应当说明: 变更原因 变更的内容 此变更对项目造成的影响l Step2 审批变更申请n 机构领导审批变更申请: 如果不同意变更,则退回变更请求,项目按照原计划执行。 如果同意变更,转向 Step3。l Step3 修改项目计划n 项目经理修改原项目计划,产生新的项目计划。l Step4 审批新的项目计划n 机构领导审批新的项目计划,参见规程 SPP-PROC-PP-APPROVE。5.6 输出l 项目计划变更控制报告l 新的项目计划书5.7 结束准则l 变更申请以及新的项目计划都得到
43、了机构领导的批准。5.8 度量l 项目经理统计工作量。6 补充l 对项目规划过程域产生的所有有价值的文档进行配置管理。l 项目计划被机构领导批准之后,有关人员即可撰写下属计划如配置管理计划、质量保证计划、一些开发计划和测试计划等。l 选用合适的软件工具,尽量减少项目规划过程域的工作量。对于客户委托开发的项目,客户在项目规划过程域的介入程度视具体情况而定四、 项目监控项目监控(Project Monitoring and Control, PMC)的目的是通过周期性地跟踪项目计划的各种参数如进度、工作量、费用、资源、工作成果等,不断地了解项目的进展情况,以便当项目实际进展状况显著偏离计划时能够及
44、时采取纠正措施。项目监控过程域是SPP模型的重要组成部分。本规范阐述了项目监控过程域的三个主要规程: 项目计划跟踪 PASS-PROC-PMC-TRACKING 控制偏差 PASS-PROC-PMC-CONTROL 项目进展汇报 PASS-PROC-PP-REPORT上述每个规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。本规范适用于国内IT企业的软件研发项目。建议用户根据自身情况(如商业目标、研发实力等)适当地修改本规范,然后推广使用。1 介绍项目监控至少有以下几个好处:(1)避免原本合理的计划在实施时落空;(2)避免“执迷不悟”地按照不合理的计划行事;