《丰田人才精益模式》中说培训的第一步是分解工作,这在软件研发中尤其重要。
很多程序员始终没掌握写代码的步骤,而掌握了的人往往没法把它表达出来,有点隐性知识的意思。
对我来说,步骤如下:
1. 接到story后,理解需求背后的业务需要,对story的effort,以及业务需要的价值进行估计。需求是合理的吗?投资回报率够吗?有没有更经济的做法?(story mapping,story estimate)
2. 拆解story并识别story里的mvp,哪些是必须的?哪些不那么重要?(INVEST, story splitting)
3. story的验收条件是什么?不清楚的举个例子。如何转换成验收测试?(BDD)
4. domain model的识别(DDD)
5. 业务边界和微服务的识别,输入输出是什么?(ATDD)
6. 领域类的识别和设计(CRC)
7. 领域类的实现(TDD,CI)
over.