从需求到上线全流程|青训营笔记

36 阅读2分钟

1.为什么要有流程?

1.1简单来说随着项目越来越庞大,复杂。需要的团队规模越来越大,随之而来就会出现规划和协调的问题。一个人显然是不太现实,多个人的话就会出现多个想法,需要多个人配合来实现代码,测试出了问题算谁的。

1.2最初来实现大项目的方法是使用瀑布模型,就是软件工程里面的瀑布模型。一步一步来,一个团队一起前进。优点就是过程十分地清晰。缺点也比较明显速度慢,而且团队大了的话肯定是会有冗余的,不好管理。

1.3敏捷开发,也是软件工程里面的。这个速度就快很多了,团队小灵活性也高。

1.4SAFe这个就比较抽象了,但是也非常简单,就是进一步明确敏捷开发的框架。Product owner(产品负责人)、Scrum Master(敏捷教练)敏捷团队(Scrum Team)敏捷发布火车(Agile Release Train)

2.有哪些流程?

总的来说就是进阶版的软件生命周期

2.1需求阶段

不要浪费时间讨论不应该存在的问题,认清这个需求是否需要

站在用户的角度,更加贴近用户的想法。

分清轻重缓急,有明确的优先级。

2.2开发阶段

云原生技术。总的来说感觉就是这好像是一个非常先进的技术。实现了多人同时工作不乱套,线上管理耦合更小。

团队的分支策略这里就涉及到了多人开发多个版本等一些问题的解决。

代码规范、自测、文档重要性不必多说

2.3测试阶段

时间比重很高,总之就像我们软件工程老师说过的一句话:实际开发过程中写代码其实是很小的一部分。

单元测试很重要

三套环境:功能、集成、回归。

2.4发布阶段

开头和结尾最容易出问题。

各种发布模式减少上线相互问题的方式。

2.5运维阶段

合理运用监测、日志及时发现问题。

3.总结

这么一个流程下来感觉还是很麻烦的,应该有更加简便的方法。或许前面的流程适当精细,可以减少测试阶段与开发阶段出现的问题。