一、目的
数据研发规范化旨在为数据开发提供规范化的研发流程指导方法,目的是简化、规范化日常工作流程,提高工作效率,较少无效与冗余工作,赋能企业更强大的数据掌控力来应对海量增长的业务数据,从而释放更多的人力与财力专注于业务创新
二、角色职责
- 数据产品经理
负责承接、评估业务方提出的数据需求,并组织需求评审、产出产品需求文档,同时需要把控其他更细化的技术评审。
- 设计人员
根据已定稿的产品需求文档所述需求,进行数据探查,了解数据形态(数据质量、数据分布),同时根据探查结果实现表设计、Mapping设计、调度设计等系分设计工作。
- 开发人员
根据设计人员产出稿件,定制计划并实现代码,同时进行单元测试与代码评审。
- 测试人员(开发人员兼职)
负责验证需求与结果一致性,发i西安代码问题与项目风险。
- 运维人员
负责发布任务,并处理数据、程序、调度、监控告警等异常事件,保障数据产出时效、程序高效运行和生产稳定性。
- QA人员(设计人员兼职)
在需求评审前期,负责需求实现的安全性与合规性
流程
概要流程
详细流程
需求阶段
设计阶段
开发阶段
测试验证阶段
发布阶段
三、流程节点及交付物
1、需求
1.1 需求提出
时间点:需求评审前至少一天
参与方:分析师
提供形式:邮件
交付物:需求模板,介绍清楚需求背景,目的(意义),交付时间,交付物(如果是表,确定表头、样例数据),产品需求文档。(状态,需求待评审,需求确认)
1.2 需求分析
时间点:需求发出到需求评审前,至少预留一天时间
目的:为了提前熟悉需求,提升评审效率
参与人员:数仓架构、数仓开发
1.3 需求评审
时间点:双方约定需求评审时间,在需求发出一天后
参与方:分析师、数据产品、数仓开发
目的:三方快速达成一致,确定开发口径
交付物:按照需求评审确定口径,需求方发送确认邮件,一切口径按照确认邮件进行开发,需求(需求邮件确认)(状态,需求待评审,需求确认)
2、设计
2.1 数仓设计
时间点:需求评审后
参与方:数仓架构
目的:明确数据边界,确定逻辑口径
交付物:ER图或设计文档(涉及到新的架构设计和调整),血脉关系图(对应数据开发需求)
3、开发
3.1 数仓开发
时间点:需求评审后
参与方:数仓开发人员
交付物:生成落地表、编写sql脚本、调度脚本(SVN)
3.2 CodeReview (评审)
时间点:测试环境开发完成
参与方:架构师、数仓开发人员
目的:确认开发逻辑没有明显漏洞,数据量级保证准确
交付物:代码评审报告(文档包括改进点和时间,无则确认);
互相审核机制:成员间相互审核代码
3.3 CheckList
时间点:贯穿整个开发流程
参与方:数仓方
目的:数仓从需求产生到最后的上线交付,一切留痕,保证开发质量
交付物:开发验证单
4、测试验证
1、数仓内部测试验证
时间点:开发环境上线后
参与方:数仓开发人员
目的:保证数据开发质量,暴露数据存在的问题
交付物:验证逻辑代码、结果截图
2、需求方数据核验
时间点:线上冒烟测试后
参与方:数据产品、分析师,测试人员
目的:保证需求与数仓开发是一致的
交付物:确定后发出确认邮件(不发生的默认数据质量没有问题)邮件(状态,数据确认)
5、发布验收
1.发布
时间点:测试确认邮件后
参与方:需求,数仓开发
交付物:邮件确认(上线单)
流程:SVN先更新--后修改--再提交的流程;打包工程-上传AZKaBan
2.验收
时间点:发布后
参与方:需求人员
交付物:邮件(状态,验收确认)
2.数据回溯
时间点:需求方发出数据核验确认邮件后
参与方:分析师、数仓开发
分析师交付物:确定数据回溯周期
数仓交付物:按照确认邮件进行回溯,完成后邮件回复
交付物:邮件确认