流程优化思路
3.1 怎样让生活更美好
在之前的流程里面有很多的繁琐的规范和操作;这些操作无疑能让我们的服务质量提升 但是另一方面,又会导致我们工作的效率下降 所以往往大家会在质量和效率之间区一个平衡
技术的发展,让质量和效率同时得到了提高 把规范融入流程,把流程自动化 从需求到上线全流程自动化,我们就同时提高了质量和效率
3.2DevOps
DevOps理念 所谓DevOps,就是由左侧的Dev 和 右侧的 Ops组成
从需求plan开始,写代码code,编译build,测试test,发布release,运维deploy,监控Operate 形成了一个闭环; 于是我们可以进行持续集成,持续交付 也就说CI持续集成和CD持续交付 ; 大家谈CI/CD的时候其实往往独立去谈,其实整个流程是密不可分的
在DevOps的基础之上,我们还可以怎样优化? 这里就引出了一个效率竖井的概念 可以看到,从需求到交付的过程中 我们真正产生价值的开发,测试 等等动作占比是很低的 大量的时间可能是在等待和传递 比如测试一直在等开发把环境部署好 另外人和人之间的沟通,也很慢
3.3 全流程自动化
因此我们更近一步,把价值流,作为全流程的指标
这边举一个例子 工厂接用户的订单生产 中间可能会有A B C三个步骤 我们可以分析每个步骤所耗费的时间以及他所产生的价值 去优化团队的研发流程 这个也是我们团队现在在做的一个事情
4.0 后端开发的一周
还记得我们团队的流程吗? 每天都要开站会,每天都要写代码,每天都要修bug 除了这些日常的工作,其实每天都会有一些重要的事项
比如周一, 一般大家周一都会有一些周一综合症 大家可以处理一下上周遗留的事项 这天的主要内容可能主要在PM和UED那里,因为他们要准备第二天要讨论的需求列表
周二
一般迭代开始的周二,最重要的事情就是需求规划会议,也叫grooming会议
这个会议上打开需求管理平台的页面,发现累计了92个需求 在会议上PO和PM阐述各个需求的价值 Scrum Master和架构师会确认需求中包含的技术任务 最终,会议确定下个迭代要做70个需求,并给你安排了10个需求
到了周三 这一天还是要为第二天的发布做准备, 比如测试和修复缺陷 之前开发的需求要提交敏捷发布火车的车票准备上车 对其他人的代码做一下code review 测试还可能在回归测试的时候发现了一些缺陷需要你修复
周四一般会有一次日常的发布,之前在前一家公司的时候,每次发布都会在群里发一张关公,保佑发布顺利 这张图片就是当时发的关公原图 如果很不巧,发布过程中监控出现了异常,马上终止发布止损, 然后再定位问题 发现是自己代码有问题,就需要回滚代码或者修复
周五 我们一般都会用于对下个迭代的需求进行评估 还记得周二分配给你的10个需求? 结果由于工作量,只能完成其中8个 经过讨论,我们按照优先级,把2个需求移出迭代 然后把这8个需求按照开发和上线的时间进行排期
总结
可以看到,作为一个后端开发,其实真的需要像一个全能战士一样 既要讨论需求,又要测试,还要负责发布
总结一下我们的课程 这个过程也是一个逐渐成长的过程 一开始进入一家公司,我们肯定要学习公司的流程,团队成员分工,开发的节奏这些 背后其实是有理论依据的,就我们现代软件开发的几种模型 然后当我们真正成为了一个后端开发的角色,在需求到上线的各个阶段,我们需要去执行 需求评估,开发,测试,发布,运维 更进一步,当我们越来越有经验,甚至以后可能有些会承担团队的管理,那么就需要去思考怎样去优化这个流程,让大家的生活越来越美好