项目开发流程
目录
项目角色
- PM 产品经理(product ~) 项目经理(project ~)
- UE 视觉设计师
- FE 前端开发
- RD 后端开发
- CRD 移动端开发
- QA 测试
项目完整流程
需求分析
- 了解背景
为什么做这个事情
- 质疑需求是否合理
这个需求为什么要做,是否符合我们的产品,开发也是用户
- 需求是否闭环
需求是否考虑全面,分析功能操作前,操作时和操作后所带来的数据变化,以及引起的对其他功能的影响比如点赞后有什么目的,今后有什么用;领券失败了怎么办
- 开发难度如何
最好现场评估开发中的难点之处,集思广益;比如为了炫而做一个高难度动画,前端难完成
- 是否需要其他支持
考虑某个需求是否需要其他端人员的支持,并提出
- 不要急于给排期
不要急于需求分析现场给排期,中间如果有事怎么办,要看整个部门的安排,然后最后通过考虑后给一个排期
技术方案设计
- 求简,不过度设计
做出满足需求的基础设计即可
- 产出文档
更清晰设计方案中的细节,也便于之后复盘,因为时间一久就会忘记,
- 找准设计重点
组件设计,组件拆分。数据结构设计,对接
- 组内评审
万一组内有更好的技术解决方案
- 和 RD、CRD 沟通
- 发出会议结论
开发
- 如何反馈排期
预留风险时间,最好多出 1/4 时间;考虑其他插入工作、考虑其他依赖人员的排期;比如3天能开发完,你说4天,留好并行工作【如果还有其他工作的话】,还要搞定上一级UI或者后端排期就是大家的整体排期,工作量可以先给;
- 符合开发规范
git 规范、注释规范、模块组件规范、代码规范
- 写出开发文档
代码注释文档,公共 API、公共 UI 组件、公共函数方法
- 及时单元测试
单元测试是检验代码质量的重要工具
- Mock API
如果后端还没写好接口,可以自己先做一个虚拟的接口
- Code Review(代码走查)
Code Review 不仅仅是去看对方的代码写得规不规范、细节上有没有小问题,更多的是:
- 暂时忘记对方的代码,如果让你来实现这个需求,你会如何设计,跟对方的设计思路一致么?差异在哪里?谁的更优?
- 暂时忘记具体的需求(或者你原本就不知道需求),看着对方的代码,是否能够理解他想完成一件什么事情么?他理解需求了么?他完成的好么?
其实 CR 就是对设计和实现的再次确认,在反复较量的过程中,相互学习和成长。如果以上两个问题存在否定的答案,那就有必要好好写写 CR 评语了。
联调
- 和 RD、CRD 技术联调
- 让 UE 确定视觉效果
让UE和PM尽早的看到,避免回滚
- 让 PM 确定产品功能
PM 加需求怎么办?
- 不能拒绝(你无权拒绝,不一个领导)
- 如果公司有规定,则按规则走,否则发起项目和leader的评审,重新评估排期。
- 如果比较少就在群里发个通知就好了
测试
- 提测发邮件,抄送项目组
(PM来发,前端,后端分开发)
- 测试问题要详细记录,最好有一个表格
- 避免 QA 和 FE 信息不对称,有问题要及时沟通
测试若有问题,要当面讨论,让QA帮忙复现,如果需要特定的设备,让QA提供你在设备上调试修改
上线
- 上线之后及时通知 QA 回归测试
- 上线之后及时同步给 PM 和项目组
- 如有问题,及时回滚。先止损,再排查问题(不要在线上排查问题)
项目沟通
- 多人协作,沟通是最重要的(沟通比你写文档,技术设计,写代码都重要)
- 每日- -沟通(站会),有事说事,无事报平安(更可以时沟通,我明天要请假)
- 及时识别风险,及时汇报(不要等到发生后说事)(明天要做页面,今天还没出来设计图,我的可能要延期)