首页 > 御数加油站
在项目中开展数据质量和数据治理工作:实践出真知(连载八)
发布时间:2017-09-27 17:54:39

数据准备迭代

那些习惯于以非常连续的方式思考和跟踪项目的人可能会发现,数据质量和治理活动项目启动初期会令人有些不安,即使当所有的需求都不知道,也要学习连续性的调整更多信息,这是一种非常有效的策略。如果计划好、执行好的话,您可以根据业务和早期项目目标,在项目启动时立即开始数据质量评估,当你发现问题时,你可以把它们作为自己小项目上的SDLCs。你必须与原来的项目,如图1所示,图中所示场景中的数据问题和依赖关系是早期发现与解决问题,使工作顺利进行,避免计划中断,给出一定时间来应对将出现的海量数据质量问题。有些在部署前几个月就很容易修复。不幸的是,这些问题比较普遍,但后来才发现,最糟糕的情况是当您在功能测试中发现数据质量问题时,这会对发布的质量和项目计划造成风险。在某些情况下,在投入生产前的短时间内,这些问题就变成了严重的紧急情况。

iteration.jpg

 

图1- 数据准备需要迭代、并行地执行

例如,在项目开始的早期阶段,公司的ERP项目将“产品”作为一个重要的主题区域。项目数据团队和制造业务单位启动“好管家”,在完成数据准备性工作的基础上,已了解相关业务需求和数据质量问题,他们发现未使用的数据很多,这些数据将不会迁移到新的系统,从而减少了提取测试数据的数据量。在项目今后的时间里,他们开始纠正已知的数据精度问题,例如,度量单位或项目描述,从而反映实际产品需要,由于项目团队指导或要求优先解决这些类型的问题,所以很多人在项目团队需要数据的时候得到了帮助。他们根据实际数据源和分析新需求,在项目早期到中期继续进行数据准备工作,这减少了在测试过程中发现问题的数量,让他们的团队有时间迅速处理其它问题。改进和问题解决要不断进行,有时要持续到上线。

同样的迭代方法也适用于负责数据治理、管理、质量、业务流程和技术的人员之间的交互。这些人将密切合作来研究问题、确定问题优先级,并说服他人采取必要的行动。所有人都必须认识到,他们将参与一个持续改进的循环过程:

● 评估(例如:查看数据并与需求和目标进行比较)

觉察(例如:了解数据的真实状态;确定差距、影响和根源)

行动(例如:纠正当前的数据错误并预防未来的信息和数据质量问题)

数据工作的迭代性质使它非常适合使用敏捷方法来进行,这将在下一节进行讨论。

敏捷与数据治理、数据质量

敏捷方法,如Scrum和看板,是高度迭代的。实施敏捷实践的组织很擅长将工作分解成称为“故事”的小单元,并使用路线图来排序它们的优先级和依赖关系。路线图的创建和发布计划建立了高层次的优先级和注重有形输出及业务价值的里程碑。这些故事为创建详细的工作计划奠定了基础。

“梳理”的过程用来将故事细化并定义好,然后基于优先级、依赖关系和价值进行排序。这包含(系统开发生命周期)瀑布模型中的计划和需求阶段发生的所有活动,以及一些设计阶段的活动。所有相同的传统需求都可能归属到高级别的故事中,它们被统称为“待办事项”。然而,这些需求并不是在同一细节水平或同一时间被解决。“冲刺”是在一周到四周的周期内完成一系列故事的工作节奏。只有那些即将放到冲刺中的故事才能得到充分的定义和细化。故事一旦被选到冲刺中,就会得到执行团队的全面关注,并进一步被分解为具体任务。待办事项中的其余部分将继续迭代梳理,其中许多故事仍然处在早期的定义阶段。通过这种方式,能够对一小部分特性着重关注,并且能够频繁地发布具有最高优先级的功能。

在很多顺序项目中,我们尝试在开始设计之前就定义所有的需求。而在敏捷方法中,基于“在构建过程中可以获得更多信息”的前提共识,我们先创建一个路线图,并做足够的分析来揭示其间依赖关系,然后只确定在下一次或两次冲刺中可以完成的工作。我们为未来的冲刺不断梳理“待办事项”中的内容,然后使用获得的新信息来更新线路图并发布计划。这使我们有能力在启动开发之前就迭代地执行管理和数据质量工作。

(敏捷方法)在故事梳理过程中开始设计,而这也是进行小而集中的数据质量评估和数据定义的恰当位置。在梳理过程中发现问题可以将新故事插入到“待办事项”中来解决问题,并可以对故事的依赖关系进行恰当的排序。如果需要进行数据质量评估,或者需要为大型主题域生成工件,在用户和涉众明确表示支持的前提下,这些内容本身就可以是待办事项列表中的故事。

不管如何实现,当一个故事依赖于数据时,我们需要彻底的了解真实数据和业务规则,才能在一个冲刺中开始并完成这个故事。如果在冲刺阶段才开始了解,团队可能会碰到预料之外的问题,这样只能插入新任务来解决问题,否则就无法完成这个故事。这将对团队产生负面影响,可能导致技术债,或导致发布后出现问题。

当有效的数据治理和质量流程与敏捷方法配合使用时,数据定义和质量措施可以帮助产生清晰而完备的用户故事。定义有助于澄清故事所需的信息,而数据质量分析及措施可以作为满足条件的一个判断标准(例如:利益相关方如何判定产品是否良好),并且可以帮助确定测试计划。判断故事是否准备就绪:要求数据元素有已发布的定义(这个定义已获得指定管理人员批准并可以在公司术语表中找到),并且要求在源和目标数据上完成了一个准备评估。例如:某个场景下的故事创建了一个新的词汇:“客户地址”,就必须要求有一个解释来定义客户的含义,是代表一个帐单地址,还是发货地址,亦或是一种新的不同类型的地址。这可能需要一些分析来确定数据将是本地的还是国际的,以及数据结构是否兼容所需的地址类型等。

待办事项梳理的迭代性质与数据定义和分析过程的迭代性质相吻合,项目团队可以利用这种性质来理解和关联定义,以及进行源和目标数据准备、规则映射和质量测试等。把此过程应用于大量需求之上,可能会花费非常多的时间。然而,如果在小而迭代的变化周期中不断执行,则能花费更少的时间并获得直接而持久的收益。如果我们在编写故事和验收标准的时候就基于数据知识建立很强的实践,我们的产品将能不断提升数据质量,从而为梳理和冲刺阶段的高速执行打好基础。

表9提供了典型的敏捷Scrum活动和相关的SDLC各阶段的映射关系。您可以参考表2-8中的数据治理、管理和质量活动,来了解它们如何适配到敏捷Scrum方法中。

表9 -敏捷与SDLC中的数据知识活动 

敏捷Scrum活动重点
活动(与表2-8中相关SDLC阶段的活动相同
设想与产品路线图
专注于产品愿景和高价值里程碑,而不是具体执行细节;
确定关键角色技能资源形成小团队
启动(表2)
规划(表3)
发布计划
为下一次发布的产品待办事项中选择最高优先级的故事(基于路线图)
专注于一个或两个发布,而不是整个路线图
规划(表3)
需求分析(表4)
设计(表5)
产品待办事项梳理
由利益相关者和技术团队协作来完成
始于发布计划阶段,并持续到冲刺计划和冲刺执行阶段(只针对下一次冲刺)
记录故事,确定优先级、对其排序,并逐步细化
不断迭代,明确价值、设计方法和验收标准,直到这个故事为冲刺做好准备
需求分析(表4)
设计(表5)
冲刺计划
少量就绪的故事进一步被细化,并被选到冲刺待办事项中;
冲刺待办事项被分解成具体任务
规划(表3)
需求分析(表4)
设计(表5)
冲刺执行
冲刺待办事项中的故事完成开发并为发布打好包;
测试是构建过程的一部分,应该被集成进来;
实现中发现新需求设计问题;
无法完成的工作被返还到产品待办事项中(有时作为债务返还);
回顾中发现更优的流程;
需求分析(表4)
设计(表5)
构建测试(表6)
发布
一组或多组冲刺包被发布;
问题和新需求放到产品待办事项中进行迭代管理
部署(表7)
产品支持(表8)

当有效的数据治理和质量流程与敏捷方法配合使用时,数据定义和质量措施可以帮助产生清晰而完备的用户故事。

 

联系我们
地址:北京市海淀区双清路学研大厦B座807室
邮箱:
info@dgworkshop.com.cn
微信号:DGWorkshop_CN
关注我们
Copyright © 2016 御数坊(北京)科技咨询有限公司