ACCPV4.0第三章软件项目开发准则ACCPV4.02回顾项目管理分为九大知识领域,分别是整体、范围、时间、成本、质量、人力资源、沟通、风险和采购管理项目章程、项目范围说明书和项目管理计划是项目的三个主要的文件WBS是面向可交付成果的对工作的细分,并且是进度安排、费用估算和预算、质量控制的基础里程碑图、甘特图和项目网络图是进度表示的不同方法;综合考虑计划值(PV)、实际值(AC)和挣值(EV),就是挣值管理的基本思想测试人员不是“找茬的”,是与软件工程师一起来提高软件质量的软件工程师与客户沟通应当坚持诚实、双赢的原则,并且要符合公司的策略和规定ACCPV4.03目标了解软件项目开发的经典观念理解项目成功的要素了解软件项目开发容易出现的问题ACCPV4.04软件工程的七原则用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采纳现代程序设计技术结果应能清楚地审查开发小组的人员应少而精承认不断改进软件工程实践的必要性ACCPV4.05抢答一个由11人组成的项目小组,可能的沟通路径为()条。A、10B、22C、55D、121ACCPV4.06案例分析1突发奇想A公司是从事外包和系统集成的软件开发商,经常需要在不同的行业打单。最近他们又为河南的一个投标的软件项目组织了一个临时的突击小组……ACCPV4.07《人月神话》ACCPV4.08经典的观念1-3人/月之间不能换算,换言之,两人做五个月完成,不等于说五人做两个月就能完成在项目后期增加人手,需要其它额外的开销项目越大,单位工作需要的人月越多向已经延迟的项目中增加人手,只能导致项目更加延迟ACCPV4.09经典的观念2-3留意系统开发的“第二版效应”“外科手术式的”开发团队概念完整性ACCPV4.010经典的观念3-3“没有银弹”“程序系统产品”=3*“程序系统”=3*“程序产品”=9*“能跑起来的程序”ACCPV4.011案例分析2八个月的项目阿兰这次接到的单子,合同上写明是八个月完成——按照以往的经验,阿兰估计实际上七个月可以完全搞定……ACCPV4.012《人件》和《最后期限》ACCPV4.013《人件》中的观点当心“家具警察”可怕的“顺流”ACCPV4.014软件开发管理的原则1-10计划原则计划的作用“计划不如变化快”吗?“目标导向”中的“目标”在哪儿?ACCPV4.015软件开发管理的原则2-10Brooks原则“人多力量大、柴多火焰高”?进度延迟怎么办?ACCPV4.016软件开发管理的原则3-10验收标准原则开发人员就算知道了“做什么”,但对“做到何种程度”依然会有不同的理解ACCPV4.017软件开发管理的原则4-10默认无效原则“沉默表示同意”?“沉默表示没有问题了”?让项目组成员复述一遍“做什么、怎么做、何时结束、做到何种程度”ACCPV4.018软件开发管理的原则5-1080-20原则在20%的核心需求上耗费了80%的资源和时间20%的人员担当了80%项目的核心任务ACCPV4.019软件开发管理的原则6-10帕金森原则一个月能完成的活,安排开发人月两个月,他肯定在两个月之后交货一个月能完成的活,安排开发人月半个月,他也能在半个月之后交货ACCPV4.020软件开发管理的原则7-10时间分配原则只给开发人员安排满负荷80%的工作量考虑学习和使用新技术的时间ACCPV4.021软件开发管理的原则8-10变化原则没有“尽在掌握”的项目“预防胜于治疗”早做预测和风险规划ACCPV4.022软件开发管理的原则9-10作业标准原则制订开发规范开发人员本质两是最不愿意遵守规范的人ACCPV4.023软件开发管理的原则10-10复用和组织变更原则通过重用提高下一个项目的质量改善开发和组织过程ACCPV4.024经验之谈-启动阶段定义项目质量标准领导的支持明确沟通渠道和汇报关系ACCPV4.025经验之谈-计划阶段用计划应对变化把任务分解成英寸大小的小圆石制订标准未雨绸缪留点缓冲时间,但不要想着缓冲时间将培训时间放到计划中遵守学习曲线ACCPV4.026经验之谈-执行和控制做好客户关系避免“镀金”识别和控制变更跟踪授权提倡测试安排相关性强的工作为项目组成员安排一些挑战性的工作思考“以后怎样做才能做得更好”ACCPV4.027经验之谈-收尾阶段为收尾准备充分的时间等活干完了再走重视总结ACCPV4.028案例分析3金融系统的应用软件开发项目辉明软件经过近半年的跟踪后,今年元旦,销售部门与某银行签订了一个银行前置机的软件系统的项目,合同规定,5月1日之前系统必需完成……ACCPV4.029初为项目经理忐忑不安?平静?“没干过,心里没底”害怕?“哈哈!终于轮到我说话了!”……ACCPV4.030几条建议1-5建立优先级最高优先的就是为项目成员提供服务第二优先的是让所在组织的客户满意第三优先的是项目经理自己的事情最低优先的是那些纯粹取悦老板的事ACCPV4.031几条建议2-5分析你的技能差距需要加强人际处理能力“倾听”的技能接受有关项目管理方面专门的培训……ACCPV4.032几条建议3-5定义质量客户、程序员、老板、程序员对质量会有不同的理解集中在让客户满意的事情上,而不是放在让“开发满意”的事情上在质量、进度和成本之间做权衡……ACCPV4.033几条建议4-5表彰进度对程序员多鼓励、少批评鼓励是公开而诚恳的、而建议或者批评是私下的与曾经并肩战斗过的“老战友们”平等相处……ACCPV4.034几条建议5-5前车之鉴,后事之师设立改进目标不要急于求成ACCPV4.035案例分析4.NET技术不过硬的张婷张婷因为家庭的关系,在某地区党政机关的信息中心工作,她父亲就是这个机关的副书记。她现在负责机关自行开发的OA(办公自动化)项目,张婷以前是做网站建设和后期管理维护的,在ACCP学习期间把主要的精力放在了J2EE的开发上……ACCPV4.036案例学习2-1Invent3.0第一阶段项目经理Mike及其团队目前正致力开发一个存货控制系统,该系统名为Invent3.0,迄今为止已开发四个多月。用户目前使用的是Invent2.0,迫切需要迁移到新版本,此项目目前正迅速迈向终点。此项目按计划在六个月内完成,目前距离截止日期只剩下三周……ACCPV4.037案例学习2-2Invent3.0第二阶段项目失败让最终用户感到恐慌。而用户期盼新的存货跟踪系统,以便自动控制当前执行的更多任务。取消此项目的几周以后,Joel反复进行思考。他注意到最终用户的反应,最后认为他们仍然应完成此项目…..ACCPV4.038总结《人月神话》的观点:向已经延迟的项目中增加人手,只能导致项目更加延迟《人月神话》的观点:没有任何一种方法,单单采取它就能将现有的软件开发生产率提高一个数量级程序员是依靠大脑来生存的,创造一个良好的环境,有利于其工作进入到“顺流”状态在软件开发过程中,80%的时间用来解决20%的主要问题,80%的的重要工作由少数20%的人来担当最多只能给项目组成员分配其满负荷80%的工作量项目经理的最高优先级是为项目成员服务