Introduction
软件开发如同在滚烫的岩浆中行走,我们会被烧死。 但是条平坦的路看一个帮助我们到达。
Part 1 - 价值闭环.
- guilding- organizing- planing- building- slice- quality- value :
软件的本质是商品,商品是有价值的。 软件开发都是围绕价值展开的, 或者说软件整个生命周期中,都是为价值驱动。
- 价值,就是我们关心的。决定什么做,什么不做; 什么优先 什么推迟,就是优先级的根据。
- 价值是通过feature来体现的。 不同feature价值不一样,高价值的先做, 性价比高。 需要需求分解,分解力度尽可能的小,这个时候才更好的识别出优先级高的。
- feature尽早,持续交付,是我们可以更早的使用价值,衡量进度,减少分享,持续反馈的基础。
- 软件开发就是基于 feature的增量开发。
- 软件的是由团队创建的。 需要高效率团队需要协作, 最高的效率就是一个夸职能的团队, 全权负责没有等待。 团队如架构,高内聚低耦合,减少团队之间的依赖, 等待,交流。 团队如架构,高内聚低耦合,模块化, 知识聚合。 inforstructure team 可以带来团队之间的沟通依赖,应该去掉进入不同的团队。 想到ConWay 法则
- 软件计划和构建都是基于 价值的。 基于feature 计划,基于 feature 构建,基于feature发布。 以价值为核心。
- 敏捷开发,减少技术债, tdd-atdd构建于质量与代码。 test -fix 是浪费,是高风险。 定义Definition of Done;
- 架构和代码的演化。 架构也许要随着业务来演化,好的架构是合适够用的; 否则就是浪费,或者技术债。 代码需要去除坏味道,代码需要打磨,重构是一个好工具。 重构与测试是事情两个方面。
- DoD 是持续随着团队成熟程度演进。
- 什么是敏捷团队和什么是大规模敏捷团队。
> 我来回应