之前的文章写了大数据开发的工作内容,可以看下面的链接。
1.角色
今天说一下新需求。新需求都是大活,从 0 到 1,可能开发周期一两个月甚至更长。在此之前先了解一下工作中的角色:
- PM(Product Manager):产品经理,负责提需求;
- RD(Research and Development):研发,包括前端,后端,数据研发;
- QA(Quality Assurance):测试,开发完测试有没有 bug;
- DA(Data Analyst):数据分析师。
2.评审
了解了角色,下面就看做需求的整个流程:
- 需求的来源:
- 其一:用户提给 PM 提要求,想要看什么数据;
- 其二:PM 对照其他公司的竞品抄一个过来;
- 其三:PM 自己拍脑袋想出来。
- DA 先验证这些指标是否有用。
- 确认有用,PM 提出需求,写 PRD(Product Requirements Document)。
- 需求初评会议:
- 由 PM 发起,概述背景、收益及产品方案;
- 数据研发侧对数据探查、工作量评估、人力评估;
- 数据研发侧确定人力(即 leader 安排谁来干这个活)。(此时前端、后端、测试也确定了人力)
- 各方对齐时间节点。
- 需求详评会议:
- PM,RD,QA进行数据详评;
- 明确时间范围、指标口径、周期等。
3.研发
开始研发,具体步骤如下:
- 新指标录入管理系统(保证每个指标在每次使用时的英文名称统一,即一致性);
- 数据 Owner 与各方沟通,出方案(包括数据从哪个表产出,如何关联,最终产出多少个表,最终数据从 Hive 推到 Elasticsearch 还是 ClickHouse,这里是重点,很复杂,后面再讨论);
- 技术评审:所有数据研发参与,数据 Owner 讲自己的技术方案,其他数据研发看合理性以及是否有问题;
- 排期,多少天做完;
- 开发;
- 自测;
- QA 参与测试,数据研发根据结果修改 bug;
4.上线
测试完成之后,还要与前后端联调:
- QA 出具测试报告;
- 回溯历史数据(下次单独写文章讲回溯);
- 与前后端联调;
- 上线。
5.复盘
统计资源消耗、数据量、任务运行的时间等等。
到此一个需求做完。然而麻烦事可能才刚刚开始,后面随之而来的可能是无穷无尽迭代、变更、修 BUG、回溯、ONCALL…
其中重点是出方案,这个一时半会儿可能很难做到十分熟练,只有不断重复,积累经验。
欢迎点击此处关注公众号。