IT项目管理郭树行博士guoshuhang@cufe.edu.cn2009-05-25IT项目管理的基本内容计算机信息系统工程管理的特点投资大周期长高风险点科技含量高,所涉及的领域宽广产品质量的隐蔽性强系统综合项目管理的主要目标质量控制经费控制时间控制项目类型单个项目(project)项目组合管理(ProjectPortfolioManagement)子项目(subproject)项目管理的九大知识体系项目管理的定义项目管理:以项目为对象,在一个连续的过程中为达到项目目标,对项目所有方面所进行的计划、组织、指挥、协调和控制。----(国际标准ISO10006质量管理----项目管理的质量指南)项目经理的责任质量功能要求有限预算费用完成期限时间目标项目过程具体当前项目如何组织?范围-启动范围启动到计划编制过程111用户需求调研112用户需求分析113网络环境确认114用户需求确认110确认用户需求121硬件环境准备122软件环境准备120开发环境准备131系统分析132成本汇总构成设计133成本模型设计134数据采集设计135数据库设计136报表设计130程序设计141文档制作142源代码编写143程序测试144美工界面设计140程序开发150系统测试160试运行170用户验收180项目管理100项目管理软件项目工作分解(WBS)图WBS公用模块测试141单元模块测试142需求调研111分析确认112交付试运行150物业管理系统软件开发100项目管理160需求分析110测试140概要设计121公用模块设计122系统测试143143设计120编码130公用模块编码131资料管理模块编码132财务管理模块编码133收费管理模块编码134134日常工作模块编码135系统安装调试151操作手册编写152用户培训153系统试运行154交付验收155单元设计123行政办公模块编码136统计报表模块编码137系统管理模块编码138计划编制过程序号任务代号任务名称工期(周)紧前工作搭接关系1A用户需求调研1—2B用户需求分析2A3C网络环境确认1A4D用户需求确认1B,C5E硬件准备0.5D6F软件准备0.5E7G系统分析3D8H成本汇总构成设计2G9I成本模型设计2H10J数据采集设计1G11K数据库设计2J12L报表设计2F,I,K13M文档制作2L14N源代码编写3M15O程序单元测试1N16P美工界面设计2NSS117Q系统测试3O,P18R试运行2Q19S用户验收1R计划编制过程核心过程范围范围计划编制时间活动定义时间活动排序时间进度计划编制时间活动历时估算范围范围定义成本资源计划编制成本成本成本估算成本预算综合管理风险风险管理计划编制项目计划编制辅助过程质量质量计划编制人力资源组织计划编制人力资源人员获取采购采购计划编制采购询价计划编制沟通风险风险风险风险沟通计划编制风险识别风险定性分析风险定量分析风险应对计划15104571556313101415161015517151810195用户需求调研用户需求分析用户需求确认硬件准备软件准备系统分析文档制作源代码编写程序单元测试SS美工界面设计系统测试试运行用户验收图解活动描述活动序号工期估计2350055015150202029232329262003535045650753554075090900958059095011011001201200125120012511001209501109009585595650757509052295535045400454905220035150205015005ESTFEFLSFFLF表示关键线路确定项目最短周期35网络环境确认810105成本汇总构成设计数据采集设计910成本模型设计1110数据库设计1210报表设计450554505540550455555506555065551010515执行过程控制过程到计划编制过程到执行过程到收尾过程控制过程沟通绩效报告综合管理综合变更控制辅助过程范围范围确认范围范围变更控制时间进度控制成本成本控制质量质量控制风险风险监控来自执行过程收尾过程收尾过程采购沟通合同收尾管理收尾来自控制过程选择机会识别项目项目建议书立项可行性研究项目论证项目许可启动项目规划项目实施项目验收项目收尾项目后评估项目全过程管理项目经理绩效评价体系项目总体结果绩效管理过程绩效团队管理绩效关系处理绩效IT项目常见管理问题剖析IT项目中的管理问题项目组织结构角色团队之间的沟通源码控制构造与集成递减测试用户管理项目的组织例子ReleaseTeamArchitectureTeamReleaseManagerProject/TechnicaldecisionTeamLeadersComponentOwnersDevelopmentManagersResource/TechnicalProjectdecisionTestleadersTestManagersQualityAssuranceSourcecontrolBuildSupportManagersTools,environmentProjectExecutiveBusinessdecision组织规划主要的能力/特定化要基于结构允许更多的并行活动清楚地定义角色/职责建立提意见的途径确保每一个成员不走样地理解最终目标项目的组织例子ReleaseTeamArchitectureTeamReleaseManagerProject/TechnicaldecisionTeamLeadersComponentOwnersDevelopmentManagersResource/TechnicalProjectdecisionTestleadersTestManagersQualityAssuranceSourcecontrolBuildSupportManagersTools,environmentProjectExecutiveBusinessdecision组织中的角色项目主管人员组织项目的团队作为项目和用户的最终决策者做出商业上的决定是主要的客户联系人确保从用户方安排一个类似的联系人说明成功或可接受的标准避免严格的标准期限/功能间的平衡确认不存在一个毫无缺点的方案项目的组织例子ReleaseTeamArchitectureTeamReleaseManagerProject/TechnicaldecisionTeamLeadersComponentOwnersDevelopmentManagersResource/TechnicalProjectdecisionTestleadersTestManagersQualityAssuranceSourcecontrolBuildSupportManagersTools,environmentProjectExecutiveBusinessdecision组织中的角色版本管理人员(ReleaseManager)全面领导项目管理项目经理团队和体系结构/技术团队在项目中做出大多数的决定更多关注质量和产品的交付开发管理人员(DevelopmentManagers)关注设计、代码和单元测试对资源分配做出决断对负责范围内的技术做出决策具有组件所有者和条款所有者双重身份项目的组织例子ReleaseTeamArchitectureTeamReleaseManagerProject/TechnicaldecisionTeamLeadersComponentOwnersDevelopmentManagersResource/TechnicalProjectdecisionTestleadersTestManagersQualityAssuranceSourcecontrolBuildSupportManagersTools,environmentProjectExecutiveBusinessdecision组织中的角色测试/质量保证管理人员在项目中作为独立的“质量良心”存在负责质量规划和退出标准应该和开发团队紧密配合以避免重复工作避免开发团队之间的敌对关系支持管理人员提供有效的开发和测试环境负责“构建”和相关的工具负责源码控制/库文件项目的组织例子ReleaseTeamArchitectureTeamReleaseManagerProject/TechnicaldecisionTeamLeadersComponentOwnersDevelopmentManagersResource/TechnicalProjectdecisionTestleadersTestManagersQualityAssuranceSourcecontrolBuildSupportManagersTools,environmentProjectExecutiveBusinessdecision版本团队是一个由对项目和技术有很深的理解的人组成一般由项目经理和技术负责人组成必须要注重实效,避免官僚化有很好地发现和确认实际问题的能力在整个开发过程中要有丰富的经验在项目的不同阶段人员关系可能有变化版本团队(继续)建立并采用开发指南—包括项目中的程序/过程和开发惯例/协议强制实行相应开发指导方针和程序/过程定位和解决低效率和瓶颈推动团队间的沟通管理其属下负责处理意外警戒:mustnotbepermittedtobecometheelitistgroupIT项目中的管理问题项目组织结构角色团队之间的沟通源码控制构造与集成递减测试用户管理团队间的沟通绝对需要–不论是正式的还是非正式的文档和沟通决定开发过程中,方向,记录并采纳(不断重复)开一个“动员大会”宣布方法定位团队目标定期举行全体会议(应该简单明了)明确分配职责/角色和扩大沟通途径经常确定里程碑并庆祝其完成团队间的沟通建立一个“TeamRooms”(可以是实际的或虚拟的)信息资源共享指导方向,需求,规范,设计决定,等等.状态跟踪发展,构建,过失等等的跟踪所属人员的状态跟踪可见度全面规划,确定时间表到达的目的(里程碑)多场所的开发清楚地,明确地、有效地沟通是缺省的前提“版本团队(releaseteam)”需要一个本地代表可能需要卫星式的开发和测试环境找到或者搭建一个可以同步源码库的工具IT项目中的管理问题项目组织结构角色团队之间的沟通源码控制构造与集成递减测试用户管理源码控制在代码中可能有很高的重叠部分若想有效地管理,源码控制工具是必不可少的在“component-ownership”和“line-item-ownership”之间要进行平衡自动构建连接IT项目中的管理问题项目组织结构角色团队之间的沟通源码控制构造与集成递减测试用户管理构建和集成集成尽早规划,从最后日期逆向计划并工作,是必须的尽可能地早开始一旦开始,确定需求的优先级而不断地维护它的稳定性构建和集成构建贯穿整个开发过程要定义频率和有效区域必须使其自动化对于代码的检入(check-in)要建立标准的检测过程对整个效率有很大的影响对于打断“build”过程的后果要保持敏感IT项目中的管理问题项目组织结构角色团队之间的沟通源码控制构造与集成递减测试(RegressionTest)用户管理递减测试自动测试工具是基础,但整体测试套件很昂贵定义可以基本覆盖这个“版本(release)”的各种假设情况(假想)在最小的情况下,投资于自动套件做为构建确认的一部分Subsetsofthissetbecomesthe“check-in”regressiontestbuckets这些子集应该容易并快速地运行,否则将被人们绕过IT项目中的管理问题项目组织结构角色团队之间的沟通资源控制构造与集成递减测试用户管理用户管理用户常常坚持编码要尽快地开始PM的角色就是只有当需求明确之后再开始开发在大项目中首先要建造基础部分是至关重要的原型可以与基础部分并行地开始,这样用户可