软件项目实施方法DOC.docx
《软件项目实施方法DOC.docx》由会员分享,可在线阅读,更多相关《软件项目实施方法DOC.docx(22页珍藏版)》请在冰豆网上搜索。
软件项目实施方法DOC
项目实施方法
目录 3
文档范围 6
1.项目实施总论 6
1.1项目实施目的和意义 6
1.2项目实施阶段说明 6
1.3项目经理 6
1.3.1任职资格和职责 6
1.3.2项目经理权利 7
1.3.3项目经理负责制 7
1.3.4项目经理动态聘任制 8
1.4项目组 8
1.5项目实施流程 8
1.6项目实施内容 8
1.7项目管理文档/工件清单 9
2.项目商务 9
2.1项目可行性分析 9
2.2项目立项 9
3.项目策划 10
3.1项目目标和范围 10
3.2项目合同 10
3.2.1承包合同 10
3.2.2分包合同 11
3.3项目组织 11
3.3.1项目前期组织 11
3.3.2项目开发实施组织 11
3.4项目策略 11
3.5项目计划 11
3.5.1项目任务计划 11
3.5.2项目成本计划 13
3.6项目启动会议 13
4.项目实施 13
4.1项目进度控制 13
4.1.1项目例会 13
4.1.2项目状态报告 14
4.1.3项目里程碑/阶段评估验收 14
4.1.4项目审计 14
4.1.5项目收款进度 14
4.2项目质量控制 14
4.2.1软件质量 14
4.2.2过程质量 15
4.2.3质量措施 15
4.3项目成本控制 16
4.3.1项目预算 16
4.3.2月度预算 16
4.3.3备用金管理 16
4.4公司项目风险控制 16
4.5变更管理 17
5.项目收尾 18
5.1项目收尾的前期准备 18
5.2部署 18
5.2.1计划部署 18
5.2.2部署 18
5.2.3部署总结 19
5.2.4系统试运行 19
5.3验收 19
5.3.1计划验收 19
5.3.2验收 19
5.3.3验收结束 19
5.4项目维护 19
6.项目综合管理 19
6.1项目风险 19
6.1.1常见风险和应对措施 19
6.2项目沟通 21
6.2.1客户沟通 21
6.2.2公司沟通 22
6.2.3项目组内部沟通 22
6.2.4项目问题跟踪 22
6.3项目文档 22
6.3.1项目文档格式标准 22
6.3.2标准文档工件清单 22
7.项目考核 22
1.3项目经理
1.3.1任职资格和职责
任职资格:
通常情况下,项目经理是需求设计组成员;
在项目主要相关业务上有一定工作经验,研发项目必须有较深的技术背景;
具备系统思考能力,能合理权衡项目目标,能对项目中出现的问题用全面的、长期的眼光进行考虑;
具备良好的沟通协调能力,包括充分利用资源、组织和组建团队能力、应对风险危机和处理问题能力,谈判和沟通能力;
符合公司《技术人员项目考核及职业发展标准》其他要求;
职责:
对项目的成功负主要责任;
保证项目目标的完成,并保证项目完成和目标一致;
合理分配项目资源,并能协调内部资源;
与公司各部门以及客户、项目组成员进行充分的沟通和协调,使项目顺利进展;
对项目的成本、计划、实施、监督、控制有全责;
协调项目过程中,项目内部的各种矛盾,形成良好的内部团队合作;
对项目组成员进行考核和评估;
1.3.2项目经理权利
代表公司履行商务合同和项目变更签证,处理商务纠纷、索赔等有关业务,有义务及时把相关的业务及时上报给主管领导;
对项目的开展有组织的权力,可以退回不合格的成员到其部门,对项目组成员的个人发展有建议权;
对于审批后获得资源等,有具体进行分配和使用的权力;
项目内部决策权;
有权根据项目需要提出增加资源等的权力;
项目经理有义务定期把项目相关情况汇报给相关部门;
项目经理有义务接受质量保证部的审计,并给于充分的配合;
项目经理有义务不定期的接受公司的检查和监督。
1.3.3项目经理负责制
依据实施、标价分离的原则,由主管部门承担投标和市场风险,由项目经理及成员承担经营管理和技术质量风险。
项目经理是项目的第一责任人,项目部成员的经济收入与项目考核结果挂钩。
1.3.4项目经理动态聘任制
公司所有项目均按照一次性原则组建项目组,项目经理的聘任同样采用动态聘任制度。
通常情况下对外项目在项目立项时,从系统分析员、系统设计员中选择;对内项目根据情况在软件经理或系统分析、设计员中选择人员担任项目经理,并签订《项目管理目标责任书》,在项目竣工结算后回到自己所在的职能部门。
1.4项目组
项目组成员由公司进行配备,也可以由项目经理提出,公司进行审批后调用不在项目上的人员,根据项目的不同,组成的人员也有所区别,但是应具备的角色应该参照公司研发角色清单。
一旦项目组成员确定并进场后,项目组成员必须听从项目经理的安排,项目经理有权对项目组成员进行变更,但变更必须经过公司批准。
1.5项目实施流程
参见
1.6项目实施内容
内容包括:
项目可行性分析
项目立项
项目目标和范围
项目合同
项目组织
项目策略
项目计划
项目进度
项目质量
项目软件质量
项目过程质量
项目成本
项目变更
项目收尾
1. 项目风险
2. 项目沟通
3. 配置管理
4. 项目文档
5. 项目考核
1.7项目管理文档/工件清单
参见
2.项目商务
项目商务主要是指项目合同签订前的阶段。
在此阶段已经由市场销售人员明确了客户的需求,并明确了客户有和我们合作的意愿。
2.1项目可行性分析
在项目商务阶段,市场销售人员、项目经理(暂定)一起分析具备合作意愿的客户具体情况,项目经理根据市场销售人员对客户的了解,分析项目合同实施范围、合同实施计划(主要是阶段计划)、并在此基础上进行项目成本的估算,结合这三者结果形成项目的可行性报告,如果具备可行性就在此基础上形成项目合同初稿,并由公司市场部负责人组织进行公司层面上的合同评审。
2.2项目立项
通常情况下,在项目合同签订后开启项目立项流程,市场部负责人向技术总监助理提交项目合同复印件以及软件项目立项申请表,并提交给财务合同原件,技术总监助理复核备案后提交给技术总监审核,审核通过后由技术总监助理通知各个相关部门。
项目分为如下几类
新产品开发项目
项目必须与公司的经营策略一致,产品项目应具备一定的市场生命周期,应该是处于上升阶段的产品,时间上不能无限制,通常情况下应在1年以内。
关键型项目
项目对公司的市场、营销策略有重大意义,可能出现非利润要求的情况。
普通项目
重大技术攻关项目
必须是同产品关系紧密的新技术、新方法;
必须能解决公司现有产品中的质量、进度、成本等方面问题。
公司内部项目
必须能给公司内部带来管理上的提升,必须能影响公司工作的流畅通顺;
通常能给公司带来管理水平上的提高。
3.项目策划
3.1项目目标和范围
在合同范围基础上由项目经理(暂定)参考系统分析员、产品部意见制定出项目实际目标和范围,并作为项目调研的基础,该项目实际目标和范围由项目经理(暂定)提交给质量保证部经理,由质量保证部安排进行公司级评审,公司评审通过后,根据客户对于项目目标和范围的明晰程度决定是否在此阶段提交给客户进行确认。
3.2项目合同
根据项目情况,在项目策划阶段需要签订公司的承包合同和分包合同,通常情况下,承包合同和分包合同都是由公司和项目经理以及公司合格供应商分别签订。
项目过程中需要进行采购的由项目经理在作项目成本预算的时候进行提出并走公司内部的审批流程。
所有合同均需要在财务部门处保存原件,技术总监处保留复印件。
3.2.1承包合同
明确项目经理人选、明确项目成本预算、进度预算、项目目标和范围后,由公司和该项目项目经理签订承包合同,合同中确定项目经理职责和权利以及项目目标,并以此作为对项目经理和项目组考核的基础(详细内容见项目考核一章)。
3.2.2分包合同
在预计采用其它公司的硬件或者软件情况下,在项目成本预算中做出相应的预算,并由公司进行相应的商务谈判和采购,在项目经理的项目WBS分解中需要纳入该部分的工作,项目经理有责任明确分包内容的验收标准和相关要求;如果是在项目实施过程中产生的分包内容由项目经理提出申请,软件工程部经理复核,技术总监审批后提交给财务并抄送公司总经理。
3.3项目组织
项目组织分为2大部分,项目前期组织和项目开发实施组织:
项目前期即从项目立项到项目调研结束阶段;项目开发实施即项目调研结束到项目竣工验收。
通常情况下,项目经理由需求分析组人员担任,也就是说项目经理一定是系统分析员或者系统设计员。
根据项目情况,项目由项目经理和副项目经理(见习项目经理)组成项目管理团队。
3.3.1项目前期组织
项目前期组织中,项目经理根据项目情况,组织团队开展项目的前期调研工作和准备工作。
通常情况下,项目前期调研组织包括项目经理、系统分析员、系统设计员3种角色,根据项目情况进行三种角色的重叠(比如项目经理同时承担系统设计员角色,副项目经理同时承担系统分析员角色等);在特殊情况下,项目前期组织中可能包含技术专家和业务专家,比如对项目需要的并且是特定的或者特殊的业务或者技术进行研究。
通常情况下,在项目前期阶段不应有开发人员。
3.3.2项目开发实施组织
在调研阶段中后期,项目经理根据需求情况考虑项目开发实施组织,并和软件经理协商开发团队组成,确定后上报给软件工程部经理,由软件工程部经理提交给产品部进行安排并抄送技术总监处备案,产品部经理安排相应的人员到位后,更新并提交开发人员资源使用状态表。
3.4项目策略
在项目策划阶段,项目经理需要根据项目情况和项目背景,明确项目策略并形成文档,具体明确在整个项目过程中,质量、成本、进度的优先程度,如果可能,订出具体优先级标准。
3.5项目计划
在明确项目策略的基础上,项目经理开始制定项目计划,项目计划分为两大类,任务计划类和成本资源类,下边就这两大类进行说明。
3.5.1项目任务计划
3.5.1.1项目实施计划
在项目商务阶段,为了配合商务工作,需要根据对项目和客户的初步了解出具项目实施计划(商务)并提交给客户,在项目策划阶段,以项目商务实施计划(商务)为基础,出具项目实施计划,通常情况下可以包括对项目背景的介绍、实施周期、方法、组织结构、质量保证等等(具体参见相关模版),通常情况下,该实施计划应该包含初步的培训计划、调研计划、部署试运行计划、验收计划,在完成项目实施计划后,项目经理提交到软件工程经理处组织进行评审,通过评审后提交给客户。
3.5.1.2项目总计划
在项目实施计划已经和客户协商通过后,在项目实施计划基础上制定项目总计划,主要就项目的各个里程碑进行任务分解和说明,并包括项目策划到需求调研结束这一阶段的详细任务分解,其中必须明确各个重要工件的完成时间。
通常说的项目计划即本计划。
3.5.1.3项目培训计划
项目实施计划中培训部分作为本计划的编写基础,重点放在具体如何去进行项目的培训、培训内容以及相关的时间安排上,具体内容参见模版。
3.5.1.4项目调研计划
根据项目实施计划,和客户明确调研时间段后,在此基础上编写项目调研计划,具体应该包括项目调研的背景、目的、客户方需要提供的支持、调研的步骤、调研的部门和内容、调研的结果及提交方式、验收标准等,具体参见相关模版,其中通常情况下调研部门和内容应该按工作日来进行安排。
3.5.1.5项目开发计划
在项目需求调研接近中后期的时候,项目经理可以预计到项目需要的开发规模,这时候开始确定开发模式(即生命周期模型,比如瀑布模型/迭代模型等等),制定项目开发计划里程碑并和相应的软件经理进行沟通协商,由软件经理根据里程碑细化开发计划为可执行内容,通常开发计划应包含数据库设计、编码、测试、集成、文档编写、风险管理、软件开发项目管理内容等,具体参见相应的模版。
此计划基于项目计划,由软件经理负责,项目开发团队按照此计划执行。
3.5.1.6项目部署及试运行计划
在项目实施过程中,进行系统部署或者进入试运行阶段,实施人员需要制定相应的系统部署计划以及试运行计划,所有处于该阶段的工件必须经过了严格的测试和评审,并应由公司的SCM进行版本标签和记录,SQA进行部署工件/清单的审核,适合的工件将直接纳入公司的财富库。
本阶段通常延续的时间不长(3天以内),所以其计划应该具备很强的操作性。
具体内容参见相应的指南。
3.5.1.7项目验收计划
在项目接近尾声的时候,项目经理需要考虑项目验收相关事宜,根据前期调研报告中的验收标准进行验收准备,并列出项目中需要提交的所有工件清单、验收时间安排等内容,和客户方项目经理达成一致后执行相应的验收,在验收计划中应说明项目收款的安排或计划,具体内容参见相应的模版。
3.5.2项目成本计划
3.5.2.1项目概算
在项目策划阶段,项目经理根据项目的背景、经验等进行估算,做出项目预计要消耗的成本粗算,为下一步的成本预算和资源计划打下基础。
3.5.2.2项目成本计划
项目进度计划确定的同时,项目经理需要拟定相应的项目成本预算,成本预算应包含项目过程中发生的所有费用情况,包括项目直接费用和间接费用,在成本预算中应明确项目规模、项目资源计划、成本明细、目标成本等内容,项目经理拟定好初稿后和公司进一步协商讨论定稿,在执行过程中,进行目标成本以及项目成本的纪录和变更。
成本计划格式参见相应的模版。
3.5.2.3项目资源计划
项目资源计划包含项目人力资源计划和其他资源计划,前者涉及项目组人员的进出场安排,后者涉及其他资源需用到场的计划时间。
通常情况下,项目资源计划包含在项目成本计划中。
3.6项目启动会议
项目总体计划完成后,项目经理参考项目背景进行讲解,宣布项目启动,项目组正式成立;
项目经理参考项目总体计划进行讲解,说明项目生命周期阶段、重要里程碑、重要工件、最终交付产品、项目进度表等;
项目经理简要介绍项目组员的角色和职责;
项目经理简要介绍配置管理工作流程,包括角色权限、配置管理库的工作方法等;
项目经理说明项目中的主要风险和依赖性;
讨论可能出现的问题,尤其是需要与其他部门进行协调的问题;
会议结束后形成项目启动会议纪要。
4.项目实施
4.1项目进度控制
在项目实施过程中,进度控制的主要通过如下几个方面来得到保证:
4.1.1项目例会
由项目经理每周召集举行项目例会,对项目的实施工作完成情况进行总结并确定下周计划,同时在会上对提出的争议和问题进行讨论。
项目周例会通常为每周五的下午3点举行,参加人员是双方项目组成员(双方项目经理必须参加)。
例会结束后整理《周项目总结报告》,发送给双方项目经理及项目总监处。
由项目经理根据项目情况召集举行项目月度例会,主要讨论总体的项目进展、问题和变更的状态、后续的工作进程和任务分配等并形成会议纪要。
参加人员是项目经理及项目组核心成员。
双方的项目经理应在月末提交《项目状态报告》至双方项目总监处。
在实施过程中发生的临时性会议,视情况随时召集,参加人员是项目经理及项目组核心成员,结果报告双方项目总监,由双方高层协商确定。
所有会议均应在会议结束后产生《会议纪要》,通知双方的项目经理,具体参见《项目会议指南》。
1.1.1项目状态报告
在项目实施过程中,项目经理根据项目的情况,应定期(周或月)向软件工程部经理提交项目状态报告并抄送质量保证部经理,汇报项目的进度、质量、成本方面进展以及完成、未完成工作、存在问题、下一步的工作计划等内容,并在此基础上形成对客户方的项目状态报告,具体的格式参见相应的模版。
1.1.2项目里程碑/阶段评估验收
在项目里程碑点或者阶段点,项目经理组织双方相关人员进行评估和验收,就本阶段/里程碑完成情况进行确认,如果需要进行变更则进行沟通和协商,结束后形成《会议纪要》,《阶段验收报告》,并提交给双方项目总监,由双方高层协商确定。
1.1.3项目审计
项目过程中,公司质量保证部SQA将定期或不定期对项目情况进行审计,从进度、成本、质量等方面进行报告,以第三方的形式总结项目问题,并提交《项目审计报告》给公司质量保证部经理,由公司高层对项目进行把控。
1.1.4项目收款进度
项目经理根据合同和项目计划,在项目计划制定后制定项目收款计划,跟踪项目付款情况并督促客户及时付款。
1.2项目质量控制
项目的质量分为软件质量和过程质量两部分。
1.2.1软件质量
软件质量由需求质量、设计质量、开发质量三部分组成,其控制分别如下:
1.2.1.1需求质量控制
需求质量是指完成的软件在需求方面是否满足了用户的业务需要,这方面的控制主要由需求调研阶段控制、设计开发阶段控制组成。
在需求调研阶段,系统分析员不断和客户沟通,形成《需求规格说明书》、《需求模型》、《用例规约》、原型系统等工件,并在该工件成型后双方进行评估验收,结束后形成正式的《项目验收标准》、《需求规格说明书》、《需求模型》、《用例规约》、〈会议纪要〉,并提交给双方项目总监。
需求调研阶段结束后,系统分析员制定需求管理计划和需求变更控制清单,对于客户方提出的需求变更进行识别,属于重大变更的及时反馈到项目经理处,按照公司制定的需求变更流程开展相应的工作。
1.2.1.2设计质量控制
项目组需要按照公司要求,进行系统的数据库设计、概要设计、详细设计等工件,需要按照公司要求采用相应的工程方法和技术,在遇到特殊情况需要采用其他非公司约定的工程方法和技术的时候,需要由项目经理评估后提出公司进行评估,通过后执行。
该类工件需要由项目经理提交,公司质量保证部经理组织进行评审,具体参见设计评审流程。
1.2.1.3开发质量控制
开发质量为代码质量,最终体现为客户可见的系统,该部分质量严格按照模块单元测试、系统集成测试、系统测试、业务测试执行:
开发人员完成本模块代码开发后,必须进行单元测试,在系统集成测试的时候评估单元测试的质量;
集成测试员对所有模块集成后进行测试,在测试工程师进行系统测试的同时评估其集成测试的质量;
测试工程师在系统测试完成后,出具《测试报告》、《系统Bug清单》等相应工件;
系统分析员、业务专家、客户等进行业务测试,并将测试的结果通过《系统业务测试报告》反馈到项目经理处,及时安排进行系统的调整;
1.2.2过程质量
1.2.2.1一致性控制
配置管理员将根据项目计划制定出相应的配置管理计划,并在项目实施过程中产生的所有工件进行一致性控制和版本控制,从而保证提交给客户的工件的一致性,具体参见配置管理规程。
1.2.2.2过程审计
SQA将根据项目计划制定出相应的质量保证计划,并在项目实施过程中,定期/不定期的对项目各方面情况(管理、质量、进度、成本、团队建设、顾客满意度等)进行审计和监督,并定期(半月、月、季度)对项目出具审计报告,提交给质量保证部经理,由质量保证部经理汇总后抄送给技术总监、项目总监、软件工程部经理。
1.2.3质量措施
1、 CMMI过程程序对实施文档进行检查和审核,确保项目实施过程的规范、文档齐全、关键点(里程碑任务)得到客户批准确认;
2、 软件工程部经理、质量保证部经理对项目进度计划、质量控制、成本控制、问题解决、风险控制、回款等进行控制;
3、 项目总监、项目实施总监对项目计划进度、质量控制、成本控制、问题解决、风险控制、回款等进行监督,结合《公司项目风险控制制度》对项目进行公司级控制;
4、 行业应用专家、高级咨询顾问、技术顾问对应用方案、技术方案的审核评估;
5、 项目经理本身对项目进度、问题解决、风险控制、回款和成本支出的管理和控制,对项目组成员工作质量的检查;
6、 项目实施小组内部的质量管理:
包括测试、内部考核等。
1.3项目成本控制
项目以目标成本为依据并根据公司预算管理办法进行成本控制。
1.3.1项目预算
根据项目成本计划制定项目总预算,通常情况下按照先有预算,再安排相应的资金进行,预算申请流程参见《公司预算管理办法》。
1.3.2月度预算
在实际项目过程中,项目经理每个月底需要根据本月情况提交项目的费用预算,发送给软件工程部经理,并抄送质量保证部经理,软件工程部经理审核通过后,发送给项目总监并抄送质量保证部经理,对项目过程中发生的费用清单,项目经理、软件工程部经理、质量保证部经理处均应有相应的备份。
月度预算应该总预算的基础上严格控制,预算外的开支需要走相应得费用审批流程,禁止资金方面的挪用。
1.3.3备用金管理
在项目过程中,项目部需要备用金的时候,由项目经理提出备用金申请,并列出相应的开支明细,由软件工程部经理复核后,提交给公司项目总监处进行审批,具体参见相应的流程。
通常情况下,项目部备用金不应超过《公司预算管理办法》中界定的备用金金额。
1.4公司项目风险控制
在项目进行过程中,项目组、软件工程部经理、质量保证部需要每月/重要里程碑从各自的角度提供项目问题情况报告,负责该项目的市场人员每次和客户接触后需要提供相应的项目问题情况报告,所有的问题报告汇总在质量保证部经理处,每月发送给所有相关人员,质量保证部经理进行分析后发现属于公司项目风险的时候,立刻启动公司项目风险控制机制。
通常情况下,由项目组、软件工程部经理、质量保证部、实施总监、市场人员、技术总监、客户等根据各种情况提出或由质量保证部经理在项目问题沟通的时候提出,由技术总监明确为公司项目风险范畴。
具体参见《公司项目风险控制机制》。
4.5变更管理
客户需求、实施范围的变动控制是项目管理的一项重要工作,由于这些变动对实施计划、人员投入以及最后的实施质量都会产生很大的影响,双方项目组应建立严格的变更管理制度,并自觉遵守。
在变更上项目双方应遵循事先约定、变更请求流程的方式进行。
业务需求在调研结束后由客户确认,作为需求分析和方案设计的基础。
经过确认后的需求原则上不允许发生变动,实施范围已经在合同、项目计划中明确定义,双方项目组在既定的实施范围内开展工作,交付工作成果,不承担范围以外的工作任务。
对于已经发生的变更,由系统分析员根据需求变更管理对过程中客户提出的需求变更进行识别,然后提交给项目经理,项目经理组织项目组进行内部评审,一旦明确为变更需求,按照公司的标准(详见公司需求变更标准)划分可控制范围,在项目组内部可处理情况下,由项目经理根据情况综合给与考虑和处理,系统分析员记录处理的办法等相关内容到需求变更管理表中;
如果确定为项目组内部不能把控范围,则提交到公司进行审核,公司根据提交上来的需求内容,安排行业应用专家、高级咨询顾问、技术顾问等对变更的需求进行评估,并提出相应的解决办法。
然后由公司双方高层进行批准,签订补充协议。
在项目实施过程中,禁止任何人员单方面未经过项目组评估或公司评估就承诺客户变更的内容。
需求管理具体参见需求管理指南。
5.项目收尾
5.1项目收尾的前期准备
对于项目的收尾,验收是一个极其重要的工作,要顺利地进行项目的验收,并不是项目结束前才开始准备的,需要在项目一开始时、项目前期策划和商务阶段的过程中就进行准备。
项目前期,可以在合同中确定需求范围,在需求调研后和用户确认需求,作为项目的验收标准。
在项目策划阶段,需要对项目的部署和验收工作的时间安排进行计划。
5.2部署
5.2.1计划部署
由当次负责项