# 《学习敏捷》阅读笔记

# 写在前面

...

# 阅读笔记

# 1.学习敏捷

  • 1.定义

  • 2.读者对象

  • 3.目标

  • 4.建立敏捷思维

# 2.理解敏捷价值观

  • 1.团队主管、架构师和项目经理的讨论

  • 2.没有银弹

  • 3.敏捷可以拯救乱局吗

  • 4.视角割裂

  • 5.敏捷宣言帮助团队认识实践的目的

  • 1.个体和互动高于流程和工具

  • 2.可工作的软件高于详尽的文档

  • 3.客户协作高于合同谈判

  • 4.响应变化高于遵循计划

  • 5.原则高于实践

  • 6.理解敏捷的“大象”

  • 7.着手采用一套新方法

# 3.敏捷原则

  • 1.敏捷软件开发的12条原则

  • 2.客户总是对的吗?

  • 3.交付项目

  • 1.原则1:最优先要做的是尽早,持续地交付有价值的软件,让客户满意

  • 2.原则2:欣然面对需求变化,即使是在开发后期。敏捷过程利用变化为客户维持竞争优势

  • 3.原则3:频繁交付可工作的软件,从数周到数月,交付周期越短越好

  • 4.沟通和合作

  • 1.原则4:在团队内外,面对面交谈是最有效、也是最高效的沟通方式

  • 2.原则5:在整个项目过程中,业务人员和开发人员必须每天都在一起工作

  • 3.原则6:以受激励的个体为核心构建项目,为他们提供环境和支持,相信他们可以把工作做好

  • 5.项目实施-推进项目

  • 1.原则7:可工作的软件是衡量进度的首要标准

  • 2.原则8:敏捷过程倡导可持续开发。赞助商、开发人员和用户要能够共同、长期维持其步调,稳定向前

  • 3.原则9:坚持不懈地追求技术卓越和设计优越,以此增强敏捷的能力

  • 6.项目和团队的持续改进

  • 1.原则10:简单是尽最大可能减少不必要工作的艺术,是敏捷的根本

  • 2.原则11:最好的架构、需要和设计来自自组织的团队

  • 3.原则12:团队定期反思如何提升效率,并依此调整

  • 7.敏捷项目:整合所有原则

# 4.Scrum和自组织团队

  • 1.Scrum的规划

  • 2.第一幕:Scrum的适用条件

  • 3.Scrum团队中每个人都要对项目负责

  • 4.第2幕:状态更新只是社交网络的玩法

  • 5.整个团队参与每日Scrum例会

  • 6.第3幕:将冲刺计划写到墙上

  • 7.冲刺、计划和回顾会议

  • 8.第4幕:尽力之后

# 5.Scrum计划和集体承诺

  • 1.第5幕:出乎意料

  • 2.用户故事、速度和普遍接受的Scrum实践

  • 1.提升软件价值

  • 2.以用户故事构建用户真正会用到的功能

  • 3.满意条件

  • 4.故事点和速度

  • 5.燃尽图

  • 6.通过用户故事、故事点、任务和任务板来计划并实施冲刺

  • 7.广受认可的Scrum实践

  • 3.第6幕:第一次胜利

  • 4.回顾Scrum价值观

# 6.极限编程和拥抱变化

  • 1.第1幕:开始加班

  • 2.极限编程的主要实践

  • 1.编程实践

  • 2.集成实践

  • 3.计划实践

  • 4.团队实践

  • 3.第2幕:计划有变,但我们还是看不到希望

  • 4.极限编程的价值观帮助团队改变心态

  • 1.极限编程帮助开发人员学会用户协作

  • 2.开发团队的怀疑会破坏实践的效用

  • 5.正确的思维从极限编程的价值观开始

  • 1.极限编程的价值观

  • 2.以善意铺就

  • 6.第3幕:势头的变换

  • 7.理解极限编程价值观,拥护变化

  • 1.极限编程的指导原则

  • 2.极限编程指导原则可以加深对计划的理解

  • 3.极限编程指导原则与实践相互促进

  • 4.反馈循环

# 7.极限编程、简化和增量式设计

  • 1.第4幕:再次加班

  • 2.代码和设计

  • 1.代码异味和反模式

  • 2.极限编程团队主动寻找和修复代码异味

  • 3.钩子、边界情况以及功能过多的代码

  • 4.代码异味会增加复杂性

  • 3.把编码和设计决定留到最后责任时刻

  • 1.决然重构,偿还技术债务

  • 2.持续集成,排查设计问题

  • 3.避免一体式设计

  • 4.增量式设计与极限编程的整体实践

  • 1.有时间进行思考,团队才能做好工作

  • 2.团队成员彼此信任并共同作出决定

  • 3.极限编程的设计、计划、团队和整体实践形成了一个带动创新的系统

  • 4.增量式设计与为了复用而设计

  • 5.简化单元交互,系统实现增量式成长

  • 6.优秀的设计源自简单的交互

  • 5.第5幕:最终得分

# 8.精益、消除浪费和着眼全局

  • 1.精益思维

  • 1.已经理解了很多精益价值观

  • 2.承诺、选择意识和集合式开发

  • 2.第1幕:还有一件事

  • 3.创造英雄与神奇思维

  • 4.消除浪费

  • 5.加深对产品的理解

  • 1.着眼全局

  • 2.找到问题的根本原因

  • 6.尽快交互

  • 1.使用面积图可视化工作进度

  • 2.限制进行中的工作,控制瓶颈

  • 3.拉动式系统帮助团队消除约束

# 9.看板方法、流程和持续改进

  • 1.第2幕:紧赶慢赶的游戏

  • 2.看板方法的原则

  • 1.找到一个出发点并由此进行实验性的演进

  • 2.用户故事进去,代码出来

  • 3.用看板方法改进流程

  • 1.将工作流程可视化

  • 2.限制进行中的工作

  • 4.测量并管理流程

  • 1.用CFD和进行中工作面积图测量并管理流量

  • 2.用利特尔法则控制系统的测量

  • 3.用进行中工作上限管理流量,自然地创造缓冲

  • 4.让过程策略明确统一

  • 5.看板方法下自然发生的行为

# 10.敏捷教练

  • 1.第3幕:还有一件事

  • 2.教练要理解人们为什么不想改变

  • 3.教练要理解人们如何学习

  • 4.教练清楚如何让一套方法起作用

  • 5.进行敏捷指导时的原则

# 写在后面