51Testing独家连载:敏捷软件开发实践 估算与计划

发表于:2017-9-27 15:08

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:(美)科恩    来源:51Testing软件测试网原创

  【编辑推荐】
  ●敏捷联盟联合创始人Mike Cohn全新作品
  ●每位研发精力、团队经理和成员不可或缺的宝贵资源
  ●介绍了敏捷、半敏捷、迭代流程、Scrum、特性驱动开发、水晶方法、自适应软件开发、DSDM、统一过程(UP)等方式方法
  ●结合案例 有效地开发具有卓越业务价值的软件
  【前言】
  本书本来被命名为《估算与计划敏捷项目》。不过,书名最终确定为《敏捷软件开发实践  估算与计划》。两者的差异似乎微不足道,但实际上并非如此。现在的书名明确了估算和计划过程本身就应该是敏捷的。不采用敏捷估算和计划,项目就不可能是敏捷的。
  本书的大部分内容是关于计划,我把它看作是用来回答“我们要构建什么以及何时完成?”这一问题。但是,要回答关于计划的问题,我们还必须解决关于估算(“它的规模有多大?”)和进度安排(“什么时候能完成?”和“我到那时能得到多少?”)的问题。
  本书由7个部分共23章组成。每一章的结尾都有对该章重点的小结和一组讨论题。由于估算和计划应该是整个团队的工作,因此我希望对本书的阅读方式是团队成员每周聚在一起,对看过的内容以及每章结尾的讨论题进行讨论。由于敏捷软件开发在全世界都受到欢迎,因此尽可能避免让本书显得过分以美国为中心。为了达到这一目的,我使用了一种通用的货币单位,将金额写作500“币”,而不是500美元或者500欧元。
  本书的第I部分介绍了计划为什么重要、我们常会遇到的问题,以及敏捷方法的目标。第1章是本书的起始,介绍了计划的目的、一个优秀的计划由哪些部分组成,以及什么才是敏捷计划。第2章中介绍了为什么传统估算和计划方法是导致结果难以令人满意的最重要原因。最后,第3章首先简要地重述了敏捷的含义,然后概括介绍了本书其他部分在不同层次上所采取的敏捷估算和计划方法。
  本书的第II部分介绍了估算的一个主要原则,即对大小和时间长度的估算应该相互独立。第4和第5章介绍了两个适用于对要开发的特性大小进行估算的计算单位:故事点和理想人天。第6章讲述了采用故事点和理想人天进行估算的技巧,并包括了对计划扑克的介绍。第7章讲述了何时以及如何进行重新估算。第8章则提供了有关如何在故事点和理想人天之间进行选择的建议。
  第III部分“为价值进行计划”提供的建议告诉项目团队如何确认他们正在构建尽可能好的产品。第9章介绍了在确定特性的优先级时需要综合考虑的一些因素。第10章展示了对特性或特性集合的财务回报进行建模的一种方法,以及如何对财务回报进行比较以便开发团队首先处理最具价值的特性。第11章主要讲述有关如何评估产品用户对各个特性的需求程度并确定其优先级的建议。第12章对本部分进行总结,给出了一些建议,帮助将大的特性分解成更小的、更易管理的特性。
  在第IV部分中,我们将注意力转移到了有关项目时间进度安排的方面。第13章首先讨论了对一个相对简单的、单一开发团队的项目安排进度表时所涉及的步骤。第14章讨论了如何制定迭代的计划。第15章和第16章讨论了如何选择合适的迭代周期长度以及如何估算开发团队的初始速率。第17章详述了如何安排一个具有很高不确定性的或是在时间进度上很可能出错的项目的进度表。第18章是这一部分的结尾,讲述了对由多个团队共同开发的项目进行估算和计划所必需的其他步骤。
  一旦建立了计划,团队就必须和整个公司的其他部门进行交流,并根据计划进度对开发团队的进度进行监督。这是第V部分的3章的主要内容。第19章主要关注对发布计划进行监督,而第20章关注对迭代计划进行监督。这一部分的最后一章,第21章主要解决如何就计划及其进度进行沟通。
  第22章是第VI部分唯一的一章。这一章与第2章讲述的“为什么传统方法会失败”相对照,讨论了为什么敏捷估算和计划方法会有效。
  第VII部分是全书的最后一部分,也只有一章。第23章是一个展开的案例分析,以小说的形式重述了本书的重点。
  【目录】
  第Ⅰ部分 问题与目标
  第1章 计划的目的
  1.1 为何要进行估算和计划
  1.1.1 减少风险
  1.1.2 降低不确定性
  1.1.3 提供*好的决策支持
  1.1.4 建立信任
  1.1.5 传递信息
  1.2 **的计划是什么
  1.3 敏捷计划是什么
  1.4 小结
  1.5 讨论题
  第2章 计划失败的原因
  2.1 基于活动而不是基于特性进行计划
  2.1.1 活动不会提前完成
  2.1.2 延误沿着计划表向下传递
  2.1.3 活动不是互相独立的
  2.2 多任务处理导致*多的延迟
  2.3 不按优先级开发特性
  2.4 忽视了不确定性
  2.5 把估算当作承诺
  2.6 小结
  2.7 讨论题
  第3章 敏捷方法
  3.1 项目的敏捷开发方法
  3.1.1 敏捷团队作为一个整体工作
  3.1.2 敏捷团队按短迭代周期工作
  3.1.3 敏捷团队每次迭代交付一些成果
  3.1.4 敏捷团队关注业务优先级
  3.1.5 敏捷团队进行检查和调整
  3.2 敏捷计划方法
  3.2.1 计划的不同层次
  3.2.2 满意条件
  3.3 小结
  3.4 讨论题
  第Ⅱ部分 估算大小
  第4章 使用故事点估算大小
  4.1 故事点是相对的
  4.2 速度
  4.3 小结
  4.4 讨论题
  第5章 使用理想人天进行估算
  5.1 理想时间和软件开发
  5.2 以理想人天作为对大小的度量
  5.3 给出一个而不是多个估算值
  5.4 小结
  5.5 讨论题
  第6章 估算方法
  6.1 共同估算
  6.2 估算的尺度
  6.3 得到估算值的方法
  6.3.1 专家意见
  6.3.2 类比
  6.3.3 分解
  6.4 计划扑克
  6.4.1 *小规模的会议
  6.4.2 何时玩计划扑克
  6.5 为什么计划扑克会有效
  6.6 小结
  6.7 讨论题
  第7章 重估
  7.1 Swim Stats Web站点
  7.2 不进行重估的情况
  7.3 需要重估的情况
  7.3.1 场景1:不进行重估
  7.3.2 场景2:重估完成的故事
  7.3.3 场景3:相对大小改变时进行重估
  7.4 重估部分 完成的故事
  7.5 重估的目的
  7.6 小结
  7.7 讨论题
  第8章 在故事点和理想人天之间进行选择
  8.1 有利于故事点的考虑因素
  8.1.1 故事点有助于驱动跨功能的行为
  8.1.2 故事点估算不会过期
  8.1.3 故事点是对大小的纯粹度量
  8.1.4 故事点估算通常*快
  8.1.5 我的理想人天不等于你的理想人天
  8.2 有利于理想人天的考虑因素
  8.2.1 理想人天在团队以外*容易解释
  8.2.2 理想人天估算*容易开始
  8.2.3 理想人天便于预测速度
  8.3 建议
  8.4 小结
  8.5 讨论题
  第Ⅲ部分 为价值制定计划
  第9章 确定主题的优先级
  9.1 确定优先级时的因素
  9.1.1 价值
  9.1.2 成本
  9.1.3 新知识
  9.1.4 风险
  9.2 综合4个因素
  9.3 一些例子
  9.3.1 基础设施
  9.3.2 用户界面设计
  9.4 小结
  9.5 讨论题
  第10章 确定经济优先级
  第11章 确定渴望度优先级
  第12章 分解用户故事
  第Ⅳ部分 进度计划
  第13章 发布计划精粹
  第14章 迭代计划
  第15章 选择迭代长度
  第16章 估算速度
  第17章 不确定性缓冲计划
  第18章 计划多团队项目
  第Ⅴ部分 跟踪与交流
  第19章 监督发布计划
  第20章 监督迭代计划
  第21章 关于计划的沟通
  第Ⅵ部分 敏捷计划有效的原因
  第22章 敏捷计划有效的原因
  第Ⅶ部分 案例分析
  第23章 案例分析:Bomb Shelter Studio
  【书评】
  “你的项目进展顺利吗?对需求变更感到沮丧?前途未卜?产品质量不佳,又延误了截止期限?Mike Cohn*富洞察力,他清晰明了地展示了如何有效地开发具有卓越业务价值的软件。通过阅读本书,你可将精力专注于真正关键的行动,当环境条件变化时也将继续如此。”
  ——Rick Mugridge,Rimu Research有限公司总监,Fit for Developing Software 的*一作者
  “我们是本书所述敏捷方法的忠实信徒,通过实践和持续采用这些方法,获得了许多*其重要的积*影响。我强烈向有志于使软件开发更可行、更有效的所有读者推*此书。”
  ——Mark M. Gutrich,Fast 401k公司总裁兼*席执行官

51Testing软件测试网将在近期对本书部分章节进行独家连载,敬请关注

查看更多《51Testing软件测试网作品系列》书籍:http://www.51testing.com/html/36/category-catid-136.html

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号