项目管理与质量保证概述摘要•软件失控项目•软件和软件工程•项目•项目管理Next•软件失控项目•软件和软件工程•项目•项目管理软件失控项目(1/11)•来自GAO的数据:•GAO:美国政府审计局•只有不到2%的合同订购软件在发布时具有可用性软件失控项目(2/11)•调查报告——“混沌”:•来自斯坦迪什咨询集团,发表于1995年•调查了365位IT高级经理,共计超过8380个IT应用项目•结论:•这些项目均处于一种混沌的状态•总体成功率仅为16.2%•超过31%的项目在完工前就被取消•这些项目的投入超过810亿美元软件失控项目(3/11)•该公司的其他调查:•对30多个国家的200多家公司的项目管理情况进行的调查•结论:•超过半数的项目都失败了•真正成功的只有2.5%软件失控项目(4/11)•该公司的其他调查——2003年:•对13522个项目进行调查•结论:•82%的项目延期•43%的项目超出预算软件失控项目(5/11)•何为该公司定义的“成功的软件项目”:•在计划的时间和预算内实现项目目标!•否则——失控•软件失控项目:•指在创建系统所需软件时遇到困难,导致大大超出可控制范围的项目•超时目标和(或)至少超出原定预算30%的项目•(100%by.Robert.Glass)软件失控项目(6/11)•软件危机(SoftwareCrisis):•软件总是超出预算、落后于进度表,而且不可靠。•用最新的技术不见得能解决“危机”!软件失控案例(1/7)•案例:佛罗里达福利救济系统•项目名称:佛罗里达在线接收集成数据访问系统•系统规模:•基于巨型机的系统•支持84个数据库、1390个程序、12000多个终端和个人计算机、每天550万次在线交易•开发目标:•每年节省上百万州资金软件失控案例(2/7)•承接公司:EDS•合同期限:3年(1989~1992)•合同价值:8500万美元•结果:•EDS公司拒绝了价值1900万美元的两个一年期合同•为几十万人错误地发放了医疗补助卡•多支付2.6亿美元医疗补助•少支付5800万美元医疗补助•美联邦对该州处以1.44亿美元的罚款软件失控案例(3/7)•主要原因:•项目目标不明确•沟通不善•错误估计系统规模•技术选择不合理•……软件失控案例(4/7)•案例:丹佛国际机场•项目名称:丹佛国际机场行李处理系统•开发目标:•建造世界上最大的机场•建造世界上最复杂的自动化行李处理系统•实现30分钟内转乘飞机•……软件失控案例(5/7)•机场项目预算:政府拨款5亿美元,总计20亿美元•行李系统部分承接公司:BAE•合同期限:2年(1992~1994)软件失控案例(6/7)•结果:•本该在1993年10月竣工的机场,推迟到1995年1月28日才启用,落后进度16个月•超出预算近20亿美元•交付时不是一条行李处理系统,而是三条•BAE被处以每天1.2万美元的罚款•丹佛市向BAE索赔5000万美元•BAE反诉丹佛市,并索赔4000万美元•……软件失控案例(7/7)•主要原因:•项目目标不明确•边建设边设计•沟通不善•项目组织问题•项目管理问题•政府职能问题•法律问题•……软件失控项目(7/11)•两难境地(CrunchModeby.JohnBoddie):•处于两难境地的项目面临着无法达到最初目标的威胁,而项目团队在努力想要跨越该困难。•死亡行军(DeathMarchby.EdYourdon):•项目的各项参数超出正常标准至少50%。•死亡行军项目已经司空见惯——作者软件失控项目(8/11)•软件失控主要原因:•需求不明确,项目目标不完整•拙劣的计划和过于乐观的评估•采用新技术•管理方法缺乏或不恰当•团队组织不当,缺少资深人员•性能问题软件失控项目(9/11)•相关研究结论:•许多失控的项目都是(或曾是)“野心过大”的项目。•很多项目失败的原因是多方面的。可能有主要原因,也可能没有,但是多数失控的项目都出现了问题。•管理问题比技术性问题更多地成为主要原因。•进度超时(89%)比成本超额(62%)更普遍。软件失控项目(10/11)•相关研究结论:•被调查者认为在政府和金融部门中应该有更多的失控项目,而服务业和制造业中较少。但调查结果显示,所有的部门都同样难逃其患。•被调查者对于失控的趋势很乐观,42%的人认为失控项目的数量会降低,只有8%的人认为会增长。•失控项目通常在项目生命期的早期就显示了他们的真实面目。超过50%的项目在开发过程中显示出问题症状,而25%的项目在初始的计划阶段就显示出了问题的症状。软件失控项目(11/11)•相关研究结论:•首先意识到项目失控的是项目团队(72%),只有19%的项目失控是由高级管理层首先意识到的。•技术越来越成为项目失控的原因。“企业采用新技术”渐渐成为导致项目失控的普遍原因。•没有运用风险管理的项目更容易失控。Next•软件失控项目•软件和软件工程•项目•项目管理软件和软件工程(1/6)•软件工作遵循“自行车第一定律”•不管你去哪里,总是上坡和顶风!软件和软件工程(2/6)•一些困扰我们多年的问题:•为什么需要那么长时间才能结束开发?•为什么成本这么高?•为什么不能在把软件交付给客户之前就发现所有的错误?•为什么在软件开发过程中总是难以度量其进展?•……软件和软件工程(3/6)•上述问题不是答案的答案:•软件是这世界上最复杂的产品•软件是逻辑的软件和软件工程(4/6)•广泛流传于软件界的神话:•我们有最棒的开发工具,有最新的计算机……•就算我们进度落后于计划,仍可以通过增加程序员来赶上进度!•对目标有一点儿了解就可以开始写程序了,我们可以慢慢补充细节!•一旦我们写出了程序并使其正常运行,我们的工作就结束了!•在程序真正运行之前,没有办法评估其质量!•……软件和软件工程(5/6)•软件工程:•将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;•对上文所述方法的研究。•软件工程目标:•生产正确、可用及具有经济效益的产品软件和软件工程(6/6)•常用的软件过程模型:•线性模型•原型实现模型•增量模型•螺旋模型•……Next•软件失控项目•软件和软件工程•项目•项目管理项目(1/16)•项目(project):•在一定约束条件下具有特定目标的一项一次性任务•为创造一件独特的产品、一项服务或者一种结果而进行的临时性努力•是已计划的活动•通常分为常规项目和非常规项目•常规项目多称之为常规运作项目(2/16)•项目与常规运作:•项目是一次性的,常规运作是重复进行的•项目是以目标为导向的,常规运作是通过效率和有效性体现的•项目中存在大量的变更管理,常规运作基本保持持续的连贯性项目(3/16)•多用以下特征判断项目性质:•涉及非常规任务•需要策划•要满足特定的目标或要创造特定的产品•项目有预先确定的时间跨度•为别人工作而不是为自己工作•工作涉及到几个学科•工作分几个阶段进行•可用于项目的资源是受到限制的•项目庞大或者复杂项目(4/16)•将以下问题排序,顶部的为“项目”,底部的为“常规运作”:•编辑一版报纸•在火星上投放机器人设备搜索生命迹象•准备结婚•改进财务计算机系统以处理通用货币问题•开发优秀人机界面的研究项目•对用户使用某计算机系统时出现的问题的原因进行调查•为班级学生分配C++课程的实验任务•为某台新计算机编制操作系统•在组织中安装新版本的配置管理软件项目(5/16)•项目的典型属性:•一次性和独特性•目标的确定性和过程的不确定性•活动的整体性和过程的渐进性•项目组织的临时性和开放性•对资源的依赖性项目(6/16)•项目的三维约束(tripleconstraint):•范围•时间•成本•例:•某项目启动时最初的范围报告是40~50页,成本介于45000~50000美元,计划用3个月左右完成。项目(7/16)•另一关键因素——质量:•范围质量•时间质量•成本质量•客户满意度项目(8/16)•项目的组成要素:•项目的生命期•项目当事人和项目干系人•项目的组织机构•项目的外部环境项目(9/16)•项目的生命周期(projectlifecycles)•项目启动(定义)阶段•项目计划(开发)阶段•项目执行(实施)阶段•项目收尾(结束)阶段•定义和开发常称为项目可行性阶段(projectfeasibility)•实施和收尾常称为项目获取阶段(projectacquisition)项目(10/16)•项目启动(定义)阶段•通常对项目进行简要的描述,为项目编制高水平的总体计划,做大致成本估算,生成初步的WBS。•项目计划(开发)阶段•编制更详细的项目计划,做更准确的成本估算,生成更详细的WBS。项目(11/16)•项目执行(实施)阶段•给出具体要做的工作任务和最终准确的成本估算,并向利益相关者提交绩效报告。•项目收尾(结束)阶段•完成所有的工作任务,客户验收,团队撰写总结报告。项目(12/16)•快速跟进(Fasttrack)•当风险不大、较有把握时,前后阶段可以相互搭接以加快项目进展项目(13/16)•项目当事人•项目的参与各方•项目利益相关者(stakeholder)•即:项目干系人•项目当事人和其利益受该项目影响的个人和组织项目(14/16)•常见项目干系人•顾客•最终用户•项目经理•项目团队•商业伙伴•项目发起人•投资组合评审委员会•项目管理办公室•职能管理人员•经营管理人员•……项目(15/16)•项目的组织结构•分为项目型组织和非项目型组织•项目型组织•项目处于组织的最高层次,是组织的主要任务•非项目型组织•项目是组织的部分任务项目(16/16)•项目的管理方式•项目型管理•非项目型管理•项目的外部环境的影响Next•软件失控项目•软件和软件工程•项目•项目管理项目管理(1/16)•项目管理(projectmanagement):•在项目活动中运用知识、技能、工具和技术,以满足项目的需要•在一个确定的时间范围内,为了完成一个既定的目标,通过特殊形式的临时性组织运行机制,经有效的计划、组织、领导和控制,充分利用既定有限资源的一种系统管理方法项目管理(2/16)•项目管理益处:•能更好地控制财务、人力和物力资源•改进与客户的关系•缩短开发时间•降低成本、提高生产力•更高的质量和可靠性•更高的边际利润•出色的内部协调•对达成战略目标的积极影响•更高的员工士气项目管理(3/16)•项目管理的基本要素:•项目•项目干系人•资源•目标•需求项目管理(4/16)•项目的资源管理:•项目的资源多是临时性的•三个问题:•需要什么资源?•通过了解项目•需要多少资源?•通过历史经验•从何处获得资源?•通过组织状况项目管理(5/16)•项目资源种类:•人力资源•开发环境•项目组的构成方式•组织内部的支持与协调•外部协调•资金与财务•企业环境和文化激励政策项目管理(6/16)•项目的目标管理:•在根据需求制定项目要求达到的目标时,要考虑项目生命期结束后,项目的成果能长期发挥效益,具有可持续的能力。•目标大三角:•系统、组织、人员•目标小三角:•质量、进度、费用项目管理(7/16)•有关目标大三角:•项目可交付系统•运行和经营该系统的组织•组成该组织的人员•大三角原则:•组织目标和人员目标必须与系统本身的目标相适应•以组织机构设置或改革为主的项目,要考虑人员和设备要求•以人员培训为主的项目,要考虑组织和设备要求项目管理(8/16)•SMART准则:•制定项目目标的常用规范,包括:•具体(Specific)•有效的目的应该具体且有良好定义•可度量(Measurable)•选择合理的度量以判断项目是否成功•可实现(Achievable)•项目目标应该是可以完成的•相关的(Relevant)•目标要与项目的实际要求相关联•时间限度(Time-bound)•可达到的截止时间项目(9/16)•思考:以下项目“目标”用词是否适当?•在预算内按时实现新的应用•实现新的软件应用,并尽可能地只有少量可能导致运行故障的软件错误•设计一个用户友好的系统•为新系统编写充分的文档项目管理(10/