owner 选择
- 要区分出执行者(码农)和owner,owner能关注业务,持续迭代与重构,码农需要不断等指令输入
- 对owner的培养:业务熟悉/关键节点check(规划/排期/人员安排/系统稳定性sla)
对业务方
如果问题持续由业务方反馈过来,系统一定有问题,一定要花时间找出来,给业务方交待
重构
- 重构第一版一定是在100%兼容老业务的基础上行动,兼容是第一优先级,兼容也是为了理解业务
- 区分重构和重写:重构是小步快跑,随时可以切换,重写是一刀切
- 一开始就要定好切换方案
ddd
- 降低系统复杂度效果极其明显
- 划分好领域:有独立输入输出的模块,都可以当做领域来处理,对外屏蔽细节
- 领域的主键:能唯一标识域内的数据,比如logistic是logistic_id,express是express_id+tracking_num
- 领域的交互:尽早集成+先把交互定义好
- 领域与子域的交互:区分边界,让不同域处理好对应的事,比如express域下的channel子域,在快递鸟channel的notify处理上
项目管理
- 明确排期/交付标准/责任
- 文档也要交付
- 编码的排期只占30%,理解业务/设计/规划/文档/自测/上线后check
开发
- 定义好规范,约定大于配置,形成统一的语言,减少沟通成本
- 快速迭代,快速上线,粒度不要超过一天,快速检查开发的功能是否有问题
- 极简设计,对外屏蔽一切细节,外部只关注输入和输出
监控
- 一定要做到比业务方先发现问题
- 业务整体指标>领域间>领域内