Notice: Function register_sidebar was called incorrectly. No id was set in the arguments array for the "Sidebar 1" sidebar. Defaulting to "sidebar-1". Manually set the id to "sidebar-1" to silence this notice and keep existing sidebar content. Please see Debugging in WordPress for more information. (This message was added in version 4.2.0.) in /mnt/stor1-wc1-dfw1/379168/www.datamartist.com/web/content/wp-includes/functions.php on line 6114
{"id":3517,"date":"2009-12-07T08:54:34","date_gmt":"2009-12-07T15:54:34","guid":{"rendered":"http:\/\/www.datamartist.com\/?p=3517"},"modified":"2009-12-14T11:25:32","modified_gmt":"2009-12-14T18:25:32","slug":"data-migration-part-2-determining-data-quality-is-the-first-key-step","status":"publish","type":"post","link":"http:\/\/www.datamartist.com\/data-migration-part-2-determining-data-quality-is-the-first-key-step","title":{"rendered":"Data migration- Part 2 – Determining data quality is the first key step"},"content":{"rendered":"

Any discussion on data migration needs to include data quality as a core topic. Migrating data from one set of applications to another, particularly when the applications were never designed to interact, and share little or no common structure or definitions is a complex task. This task is made even more complex by the data quality issues that almost always exist in legacy systems.<\/p>\n

In part 1<\/a>, we set the stage for data migration with a lighthearted look at the pitfalls of badly migrated data. In this post, I’m going to talk about data quality, and give some perspective on why its so important to be thinking about data quality every part of the way during a data migration project.<\/p>\n

It’s not just a data migration project. It’s a data quality project feeding into a data migration project.<\/h2>\n

Because the destination system will often have a “stricter” data model, or may use a broader data set due to enhanced features it is likely that bad quality data in the legacy system that is “not causing any problems” will become an issue in the new system.<\/p>\n

Lets look at a trivial example. In the existing customer relation management system, there is a mandatory field for the customers birth date. Sales people are supposed to use this to help maintain a personal relationship. Its mandatory, but doesn’t get used by the system, except for a reminder getting sent to the sales person on the customers birthday.<\/p>\n

So sales people have to enter in the date, it gets marked as missing data if they don’t.<\/p>\n

So what happens? They fill in some random date, and ignore all the reminders. <\/p>\n

But in the new system, the customer relation management system sends an email with a discount code to the customer<\/strong> on their birthday, wishing them a happy one and offering them a discount. The birthday in the system is now directly linked to business transactions with financial impact.<\/p>\n

Birthday is now a field that suddenly needs to be addressed.\"data-quality-sense-tingling-april-birthdays\"<\/p>\n

This is perhaps a silly example, but there can be more serious ones- the bottom line is that often the data migration project will be required to actually improve<\/strong> data quality at the same time. Its two projects in one- make sure you’ve budgeted for it, or you’re going to have to somehow pull them both off for the price of one. Not easy.<\/p>\n

It seems obvious, yet remarkably, data migration project budgets seem to be created based on the assumption of near perfect data.<\/p>\n

So the first step in any data migration project- in fact ideally before the project budget even gets fixed:<\/p>\n

Do a first pass data quality audit as early as possible.<\/h2>\n

Know what you have. Profile the data in the legacy systems so that when it comes time to migrate the data, you know where the problem spots are in the key fields. <\/p>\n

What do I mean by first pass? Well, this is early, so you may not have access to a mature design for the target system (the “to be” application architecture and configuration) so that means you may not be able to focus on the specific data that the new system will be requiring, and in what format, or what granularity it is required.<\/p>\n

Never the less, you can be pretty sure that things like order history, customer information, product attributes etc. will be there, so your quality audit of the legacy system is going to pay off.<\/p>\n

As more detailed specifications are created, and a better understanding of both the source and target systems evolves, you will need to continue to assess the impact of data quality on your migration efforts.<\/p>\n

But you may find that even just doing a data quality audit of the legacy system raises a whole new set of questions. The adventure often starts with a bunch of blank looks when you ask for the legacy systems data dictionary.<\/p>\n

So next up- Establishing the meta data model<\/strong>. Because in migration one of the first steps in getting somewhere is knowing where you are starting from.<\/p>\n

This post is part 2 of a series- part 1 is here.<\/a> and part 3 is here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"

Any discussion on data migration needs to include data quality as a core topic. Migrating data from one set of applications to another, particularly when the applications were never designed to interact, and share little or no common structure or definitions is a complex task. This task is made even more complex by the data […]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[84,6,7],"tags":[121,114],"class_list":["post-3517","post","type-post","status-publish","format-standard","hentry","category-data-migration","category-data-profiling","category-data-quality","tag-data-migration","tag-data-quality"],"_links":{"self":[{"href":"http:\/\/www.datamartist.com\/wp-json\/wp\/v2\/posts\/3517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.datamartist.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.datamartist.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.datamartist.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/www.datamartist.com\/wp-json\/wp\/v2\/comments?post=3517"}],"version-history":[{"count":31,"href":"http:\/\/www.datamartist.com\/wp-json\/wp\/v2\/posts\/3517\/revisions"}],"predecessor-version":[{"id":3690,"href":"http:\/\/www.datamartist.com\/wp-json\/wp\/v2\/posts\/3517\/revisions\/3690"}],"wp:attachment":[{"href":"http:\/\/www.datamartist.com\/wp-json\/wp\/v2\/media?parent=3517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.datamartist.com\/wp-json\/wp\/v2\/categories?post=3517"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.datamartist.com\/wp-json\/wp\/v2\/tags?post=3517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}