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