0%

【敏捷武士】看敏捷高手交付卓越软件

每周交付,持续交付,天下武功,唯快不破


更新历史

  • 2022.07.16:完成初稿

读后感

这算是第二次阅读这本书了,第一次读的时候因为基本都是自己一个人开发,所以不懂;第二次读,已经比较少参与到实际的开发过程中,但反而有了更多的思考,这就是读书的轮回。

读书笔记

敏捷简介

  • 每周交付一些有价值的东西
  • 可工作的软件是衡量项目成功的主要度量指标
  • 三条简单准则
    • 在项目的初期不可能收集到所有的需求 -> 不要等万事俱备,先干起来
    • 不管你收到什么需求,最终他们肯定都会发生变化 -> 拥抱变化
    • 总会有任务超时、超支 -> 设置优先级

结识敏捷团队

  • 敏捷团队的分析、编码、设计和测试是一串连续性的活动,从来不会停止
  • 业务人员和开发者在项目的整个过程中每天都要协同工作
  • 最好的架构、需求和设计都来源于自组织的团队
  • 要善于激励项目人员。为他们提供所需要的环境和支持,并且相信他们能完成工作。

敏捷项目开端

  • 将项目的目标、愿景和背景传达给团队成员,使其在执行过程中做出明智的决策
  • 向利益相关者提供信息,以帮助他们决策项目是否应该继续
  • 提前提出所有的尖锐问题
  • 交付启动计划
    • 为什么会进行这个项目?客户是谁?为什么首先考虑这个项目
    • 做一个电梯演讲:30秒和两句话来描述项目
    • 创建一个否定清单:不应做什么也同样重要
    • 估算项目的规模:周期多长
    • 谁是我们的邻居:这个项目会影响谁,谁更可能和我们一起

纵览全局

电梯演讲模板

  • 对于【目标客户】来说
  • 他们有这样的【需求或机会】
  • 我们的【产品名称】
  • 是一种【产品类别】的产品
  • 我们产品的【主要优势,令人信服的购买原因】
  • 其不同于【主要的竞争产品】
  • 在于我们的产品有如下【主要区别】

收集用户故事

  • 无论是团队内还是团队间,传递信息最有效的方法就是面对面的交流
  • 优秀的用户故事第一要素就是它要对客户有价值,客户愿意出钱的东西就是有价值
  • 第二个要素就是有始有终,贯穿所有层面

敏捷计划

  • 拥抱变化,即使再项目开发后期。要善于利用需求变化,帮助客户获得竞争优势
  • 要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术

创建敏捷沟通计划

  • 任何敏捷项目都要做两件事:设置期望值、获取反馈
  • 迭代必备四项工作
    • 故事计划会议:确保下一迭代工作准备就绪
    • 展示活动:从上一迭代故事中得到反馈
    • 迭代会议计划:制定下一迭代的工作安排
    • 小型回顾:不断找出需要改进的部分

创建可视化工作区

  • 故事墙
  • 发布墙
  • 速率表+燃尽图
  • 交付启动计划

单元测试

  • 在修复 bug 前,编写单元测试
    • 证明你理解了 bug 的本质
    • 相信你已将其修复
    • 确保 bug 不会再返回到程序中去
  • 测试任何可能出错的地方

重构

  • 偿还技术债务
  • 对技术的精益求精以及对设计的不断完善将提升敏捷性