一直想总结一个比较完善的开发流程,但是各个公司的规模、文化和开发方式有很大的差异。本篇先从常见的研发流程讨论谈起,再给出一个典型的中小团队敏捷开发流程。
相关讨论
在知乎上有一个关于软件研发流程的讨论,好几个回答实在是太精彩了。程序员在某些黑色幽默上还是有很大的默契的,这说明在研发问题上,除非是非常规范的大公司,其它大多数公司的研发流程是会被身处其中的研发人员所吐槽的。
项目研发流程规范
谈谈我对常见的敏捷开发流程的理解,它比较适合大一点的公司和团队:
- 需求、UI、测试、产品经理和开发独立
- 采用前后端分离,前端采用前端开发框架提供页面,后端提供数据接口等
- 有完善的 CI/CD 环境
- 完善的代码分支、权限控制和分配
- 采用 Scrum 敏捷开发,每个 Sprint 为 2-4 周,周期根据 User Story 量进行调整
一个完整的研发流程规范中,最好再加入不同的部门及角色负责相应流程的标注,以及各个阶段、各个角色所需要有的产出。
关于 Scrum 与看板等敏捷框架的细节,见后续敏捷开发各篇。
(PS:流程配图来源于 https://www.jianshu.com/p/ece3cec561af,作者陶邦仁)