《Rapid Development:Taming Wild Software Schedules》阅读(二)

 
三、Read(通读全文)
第一部分 有效开发
第一章 欢迎学习快速开发
1、什么叫快速开发?
    本书中的“快速开发”只是与“慢速开发和常规开发”相对的一个词汇,而不是指特定的工具或方法。“快速开发”只是一个普通术语,它意味着能够比你现在项目更快的速度开发软件。
 
2、如何实现快速开发?
    实现快速开发取决于两个要素:
    (1)选择有效的实践,而不是无效的实践;——对应本书第三部分,给出了27个最佳实践(best practices)
    (2)选择有利于完成项目锁定目标的实践。
 
3、面向进度的实践再次细分?
    (1)面向速度的实践——提高开发速度,尽快交付软件;
    (2)面向计划风险的实践——降低计划风险,避免更大的计划风险;
    (3)面向可视化的实践——提高进程可视化程度。
 
4、本书后面内容:选择有效实践,避免无效实践说起来容易做起来难,本书后面内容就是讨论这个问题。
第二章 快速开发策略
1、快速开发最容易掉入的陷阱?
    过于关注个体开发实现细节而忽略了整体进度。
 
2、实践快速开发的4个基本策略?
    (1)避免典型错误;
    (2)为开发打好基础;
    (3)管理风险,避免灾难性问题的发生;
    (4)采用面向进度管理的实践。
 
3、软件项目中重要的四个维度?
     人员(People)、过程(Progress)、技术(Technology)、产品(Product),只有充分重视到4个维度,才能实现快速开发.
 
4、维度一:人员(People)
    (1)人员因素对软件性能与软件质量的影响比其他因素更大( 人员影响 > 技术、产品、过程)。
        a、具有不同深度和广度经验的人的生产效率差异超过10:1;
        b、具有同等经验的人的生产效率差异在10:1范围内;
        c、具有不同经验的小组的生产效率差异在5:1范围内;
        d、具有相似经验小组的生产效率差异在2.5:1范围内。
    (2)针对发挥“人员”最大潜能、缩短项目周期的方法
        a、注意项目组人员的 挑选
  • 天才型人员——要少而好;
  • 职位匹配——使人员技能与职位要求相匹配;
  • 人员晋升——帮助成员提升自我,早日晋升;
  • 团队平衡——成员之间互补;
  • 去除冗余人员——尽早去除冗余人员。      
        b、注意项目组的组织 结构
        c、注意项目组成员的 激励
 
5、维度二:开发过程(Progress)
    (1)开发过程包括管理方法学和技术方法学。
    (2)开发过程的滥用会导致效率低下,着重应关注一下几点:
        a、避免重复工作——使开发过程标准化;
        b、保证产品质量——确保交付的产品可接受;以最少的时间代价找出错误;
        c、扎实的开发基础——扎实的开发基础可能不会加快开发速度,但是可以避免造成灾难,快速开发的最大挑战就是避免灾难;
        d、风险管理——对与进度有关的风险管理是快速开发的必要组成;
        e、紧盯资源目标——资源有助于提高总的生产效率,同时可能被误导或浪费;
        f、计划生命周期——完整的项目生命周期模型能保证对资源目标分配任务的同时满足整体目标;
        g、面向客户——站在客户角度进行开发可以有效地避免重复工作。
 
6、维度三:产品
    (1)减少开发时间的两个重要方面:
        a、产品规模——规模越大耗时越长;
        b、产品特点——根据产品不同的特点选择合适的开发方式;
  
7、维度四:技术
    (1)选择高效的工具,摒弃低效的工具从而实现快速开发。
 
8、 人员、开发过程、产品、技术四个维度的协同有助于快速开发
 
9、有效开发的重要性
    (1)有时候也许根本不需要快速开发,只需要有效开发。
    (2)有效开发代表着成本、进度和产品特性的最优化实现。
 
10、 快速开发成功的关键:分析项目,找出制约因素、优势因素,最大程度优化每一个因素
 
11、鲁莽编码方法的后果
    (1)无法保证项目完成;
    (2)导致长期激励问题;
    (3)不可复用性;
    (4)对其他协作部门工作造成破坏;
    (5)人力资源浪费。
 
第三章 典型错误(集中分析典型错误案例)
1、与“人”相关的典型错误
    (1)挫伤积极性;
    (2)人员素质低;
    (3)不能有效控制有问题的员工;
    (4)个人英雄主义;
    (5)项目后期增加人员;
    (6)办公环境嘈杂影响人员效率;
    (7)开发和客户之间的冲突;
    (8)对项目不现实的预期;
    (9)缺乏有效的项目支持;
    (10)缺乏各种角色的齐心协力;
    (11)缺乏用户介入;
    (12)政治高于物质;
    (13)充满幻想;
    
2、与“进度”相关的典型错误
    (1)过于乐观的计划;
    (2)缺乏足够的风险管理;
    (3)承包人造成的失败;
    (4)计划不足;
    (6)压力下放弃计划;
    (7)在模糊的项目前期(审批、预算等)浪费时间;
    (8)前期工作不合格;
    (9)设计不充分;
    (10)缺少质量保障措施;
    (11)缺少管理控制;
    (12)太早或过于频繁的集成;
    (13)项目估算时遗漏必要任务;
    (14)追赶计划;
    (15)鲁莽编码(没有统一编码规则)
 
3、与“产品”有关的典型错误
    (1)需求被镀金(在实际需求上附加更多的性能)
    (2)功能蔓延;
    (3)开发人员的盲目追求新技术;
    (4)打太极的交易谈判(项目延期,但增加新功能);
    (5)研究导向的开发;
    
4、与“技术”有关的典型错误
    (1)银弹综合症;(过于信赖新技术)
    (2)过高估计了新技术或新方法的价值;
    (3)项目中期切换工具;
    (4)缺乏自动化的源代码控制工具;
 
第四章 软件开发的基本原则
1、管理的基本原则
    (1)项目估算与进程安排;
    (2)编排计划;
    (3)跟踪计划;
    (4)度量实施;
 
2、技术的基本原则
    (1)需求管理;
    (2)进行设计;
    (3)软件构建;
    (4)软件配置管理;
  
3、质量保证基本原则
    (1)易出错模块的质量保证;
    (2)对软件进行测试;
    (3)技术回顾;
        a、走查(walkthought)——两个以上的开发人员以增进软件质量为目的所召开的技术工作会议。
        b、代码阅读(code reading)——代码作者提交代码清单给两个以上的审阅者审阅,审阅者审阅代码并把发现的错误报告给作者。
        c、检查(inspections)——较正式的技术回顾,开发人员接受训练,在检查中扮演不同角色。“作者”解释代码,“审阅人”审阅代码,“书记员”记录代码错误,“仲裁人”提交总结报告。
   
注:质量保证原则的延伸阅读
    (1)A Manager's Guide to Software Engineering  (Pressman1993), 
    (2)Software Engineering: A Practitioner's Approach (Pressman  1992),
    (3)Software Engineering  (Sommerville  1996)
    (4)Code Complete  (McConnell 1993)
    (5)Glass, Robert L. Building Quality Software.
    (6)Chow, Tsun S., ed.  Tutorial: Software Quality Assurance: A Practical Approach
    (7)Myers, Glenford J. The Art of Software Testing.
    (8)Hetzel, Bill.   The Complete Guide to Software Testing,  2dEd
    (9)Gilb, Tom, and  Dorothy Graham.  Software Inspection
    (10)Freedman, Daniel P., and Gerald M.  Weinberg. Handbook of Walkthroughs, Inspections and Technical Reviews,  3d Ed
  
4、按照指导来做
 
第五章 风险管理
1、风险管理主要包括两个方面:风险评估、风险控制。
    (1)风险评估
        a、风险识别(定位);
  • 风险和错误的唯一区别就是错误比风险更常见,犯错次数更多。
        b、风险分析;
        c、风险优先级确定;
    (2)风险控制
        a、风险管理计划;
        b、风险化解;
        c、风险监控。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值