近期前端工作流程发生了一些变化 如图
首先从工程的角度将之前的工作流程没有并行,同样的项目大概要用4周的时间,流程变更后,能节省1周的时间如果团队配合的好可以节省2周的时间.
先分析下之前的工作流程
- 需求方对需求发起
- PM制定提供需求解决方案,给出产品原型,交付给UI设计师
- UI设计师设计根据原型进行产品视觉设计
- 前端拿到UI稿之后开始页面制作,交互制作
- 后端工程师拿到前端的页面,开始套页面模版,与前端工程师沟通ajax接口。写后端功能。
- 后端与PM沟通验收,PM反馈前端后端问题,调整
- 交付测试工程师 bug反馈调整
在这个过程中,很像传统的流水线。一个环节一个环节走。与流程变更后,看似只是多了一个流程但是实际上在工作过程中沟通浪费的时间还是挺多的,比如交付后端的时候,ui实现有变差,就要与前端工程师沟通,在开发阶段,发挥重要责任的是后端工程师,往往担负着很多沟通的责任。
流程优化:
- 需求方发起需求
- Pm制定需求解决方案,确认产品原型
- 产品原型确定后,交付给UI设计师,于此同时,前端工程师和后端工程师开始定数据,接口。
- UI稿确定后,前端工程师页面制作,套后端模版,调试数据和接口。
- 由PM验收,
- 测试
虽然从工作的内容上大家的工作没变,但是这里前端工程师有个细微的改变,写后端,虽然是小小的改变缺在这个细节上优化了工作流程
这样做的目前体现出的好处, 后端工程师可以抽身在产品进入开发的时候专注业务逻辑,也就是我们常说的MVC中M和C上。V交给前端工程师,工作的“中心”也转变到前端工程师。初步实现了前后端的分离。
开发流程中是并行的,能缩短整个项目的开发时间。
这个都是有型的,
更重要的是有些东西是无形的。比如专人专事,让专业的东西让专业的人处理,早期团队开发服务器上的资源都是后端工程师来管理,导致每个项目中静态资源的随意处理,在页面中js css 代码混乱,代码很难维护。现在在流程上做了简单的前后端分离,前端工程师在开发的工程中有更多的“话语权”可以统一维护 静态资源 借助现代比较流行nodejs,grunt,等等能更好的实现前端的工程化。
由于是初期试水有些问题看的比较浅显,越来越多的问题会随着开发过程中浮出水面。
最后谈下遇到的问题,目前来看在过程中接口的沟通,是一个成本比较高的,成熟的工程师,在接口设计上更友好。但是不能保证团队中都是成熟的工程师,虽然有行文规范,但是沟通的成本,和数据正确率难以保证,反复沟通是团队最容易付出更多时间成本。
团队有做一个接口沟通的工具想法,大概有接口需求方提供接口所需要的数据类型,接口提供方给出接口,希望能在这款工具上有double Check和接口测试。提供者完成后勾选完成,需求方接到通知,检查和测试,如果接口满足的话,勾选完成,double Check的接口自动声称文档-归类,在接口列表中展示方便后人参阅。
但是苦于没有时间。截至写这篇文章的时候,还是想有没有开源的,chrome app 有款 postman 能实现部分想要的功能但是,还是需要深度定制。期待有更好的。