当当的物流速度越来越好,2天就收到了这本书,拿到时很容易让人联想到《硝烟中的Scrum和XP》,但仔细翻开书本后会发现大有不同,原来每一Chapter作者都是采用诙谐幽默的文字来记叙软件工程中的“那些事” ,作者陈建村以Teddy 台湾人的视角给乡民讲述他17年参与软件过程发生和遇到的种种,经历和敏捷认知。
全书共分为8个Part ,软件工程的现状、什么是Scrum精益生产、减少不必要的让费、开发软件一定要加班,有没有听错、换颗脑袋---软件工程的全新思维、软件架构、人机界面、测试与集成。把软件开发的全生命周期好像都覆盖到了,但末尾的几部分偏设计及集成测试,系统架构师可能细读更适宜。
针对书中的内容,回顾联系,思考记录如下:
1. Scrum 三要素 : 角色(Role)、活动(Activity)、工件(Artifact);
角色(Role)如大家所知的主要角色 PO、SM、 团队三类外,还有辅助角色,像Stakeholder 利益相关者和Boss 老板等;
活动 (Activity),包括冲刺计划会议(Sprint Planning Meeting)、每日站立会议(Daily Meeting)、冲刺评审会议(Sprint Review Meeting)、回顾会议(Sprint Retrospective Meeting)、产品列表优化会议(Product Backlog Refinement Meeting );很少看到产品列表优化会议这一活动,这个会议的主要目的是让PO和开发团队每个Sprint 抽出5%-10%的时间来检视Product Backlog 里面的所有需求,然后挑选一些下一个Sprint准备要施工的Stroy。
工件 (Artifact),包括愿景、用户故事Story、产品清单 Product Backlog、冲刺清单 Sprint Backlog 、工作任务 Task、燃尽图 Burndown Chart 、可执行的软件、Sprint 信息页面(Sprint Info Page)、Sprint 评审议程(Sprint Review Agenda)、Sprint 总结报告(Sprint Summary Report)
Sprint 信息页面(Sprint Info Page):Sprint 计划会议开完之后,SM写该文件,文件内容:Sprint 目标、Sprint 要执行的故事、Sprint 开始和结束时间(时间表),团队成员、预估速度(多少个故事点)(格式:Sprint目标、Sprint Backlog 内容、预估速度、时间表、团队)。
Sprint 评审议程(Sprint Review Agenda): 一个Sprint结束的前一天,SM写该议程表,议程表:要展示的Sprint 目标、每一个展示的Backlog 要花多少时间以及由谁负责展示,团队开发人员收到该议程表后,准备第二天的展示(格式:Sprin目标、议程);
Sprint 总结报告(Sprint Summary Report):开完Sprint回顾会议后,SM准备该文件,文件内容:本次Sprint完成功能的简述、完成多少个故事点、团队成员在Sprint回顾会议中所列出好的以及有待改善的点,以及改善的行动计划(格式:总结、Spint 期间、Sprint 目标、预估速度、实际速度、团队回顾会议、优良事迹、改善事项)
2. 如何估算故事点
估算方法(1): 开发人数 x 可以活动的工作天数 x 专注系数
专注系数(一开始使用的Scrum的团队,可选在70%左右的值)
估算方法(2): 开发人数 x 可以活动的工作天数 x 每日工作小时数
采用相对大小来估算,不拘于1故事点=8小时 这样的单位换算。
3. Product Backlog 的模样
ID 流水号、Imp 重要性、Name 故事名称、Notes 备注栏、How to test/ demo 验收条件、Estimate 故事点估值
4. 关于SM
A dead ScrumMaster is a useless ScrumMaster . 阵亡的ScrumMaster是没有任何用处的。
作为SM ,要深入敏捷方法及软件开发流程、身段要柔、态度要坚定、足够细心且有毅力、不怕死、要有靠山..........
5. TPS 丰田生产系统
7种浪费:半成品(Partially Done Work)、多余功能(Extra Feature)、重复学习(Relearning)、交接(Handoff)、工作切换(Task Switching)、延期(Delay)、缺陷(Defect)
6. 学习犯错
我们需要允许其他人犯错的勇气,因为这是学习的唯一方法
Fail early, fail often. 尽早且频繁的失败
Fail fast,learn constantly. 快速失败,但是要持续学习
Fail is an Option. 失败是一种选项
Without failture how can learning happen ? 没有失败何来学习
Perfect is a verb. 完美是一个动词,不是名词
通读一遍本书之后,如上几点是之前学习敏捷和实操中未曾深入思考过的,特别是对Scrum 的3类角色及4个会议,过程的执行落地,在Sprint 中间过程如何确定What、Who、When、Why ,又有了新的认识。 结对编程打破了人的界限。 团队的自管理需要领导力和自驱动。书中作者CSM培训也思考请教国外的coach关于什么才算是敏捷? 大多都采用的 Scrum + Lean + XP ,方法及工具终究是辅助用来实现项目目标的,终究还是回归到两个字:适用 。想起前不久一次创新转型论坛分享活动,我也曾请教某一银行敏捷教练,关于当初他们几百人如何开始敏捷,她说除了反复多次的说服高层的支持起到非常巨大作用外,scrum of scrum,也是从传统的CMMI + Lean + 6sigma 的亦步亦趋的模仿边走边看,敏捷方法本就无标准答案或是银弹, 多需结合所处的环境因素 (内部和外部)认真分析思考方能实践运用好。一字谓之心,当然方法之论,见仁见智~
最后摘录本书最后一页非常有意思的一段话,作为读书笔记收尾, O(∩_∩)O哈哈~
2018.4月10日