这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天
为什么要有流程
复杂项目没有流程会有什么问题:
- 需求阶段:每个人都有自己的想法,团队决策需要有一个过程
- 开发阶段:多人/多端协作开发,每个人有自己的安排,相互配合需要有一个流程
- 测试阶段:产物怎样交付,测试如何开展,BUG怎么修都需要流程
- 发布阶段:怎样确保发布过程平稳丝滑,版本和流量如何控制,需要有规范
- 运维阶段:线上问题如何应急响应,处理用户反馈和线上问题需要有流程
敏捷开发
- 以小团队快速迭代
- 团队成员之间的合作更加紧密
- 以人为本,和用户沟通
敏捷开发简单来说就是以更小的团队,更快速的进行迭代,因为团队小,所以大家可以围绕一个很具体的目标开展工作 大家的合作在敏捷开发的概念体系里,有很多具体的方法,比如:scrum, kanban等 scrum这个词的来源,就是橄榄球中的争球,大家肩并肩,共同围绕着一个目标前进
有什么流程
需求阶段
- 不要浪费时间讨论不应该存在的问题。
- MVP (minimum viable product, 最小化可行产品)思想
如果我们要给用户造一辆车,我们不应该第一天给他一个轮子,第二天给两个轮子,第三天给他一个底盛,第四天才让他开上车 我们应该先给用户一个简单能用的产品,比如一个滑板车,一个自行车,根据用户的反惯我们再逐步把车的功能升级,最终变成用户想要的产品
开发阶段
- 代码规范
- 测试
- 文档
测试阶段
-
功能环境
- 需要一个能模拟线上的环境进行开发和测试
- 环境和环境之间能够隔离,不影响其他功能的开发和测试
-
集成环境
- 不同人开发的功能合并在一起测试,相互之间的影响可能产生缺陷
- 迭代发布的所有功能合井在一起测试,确保发布所有功能之间的影响不产生缺陷
-
回归环境
- 确保新的功能不对老的功能产生影响
- 回归测试一般会借助自动化测试脚本