CRM Data Migration Strategy Guide
CRM Data Migration Strategy Guide
Version 1.0
14 th January 2008
Author Approver
Date: Date:
EXAMPLE: Data Migration Strategy (Customer First) Version 1.0 Date 2 !0"!2010
Table of Contents 1 Document Information .............................................................................................4 2 Introduction...............................................................................................................5 3 Definitions of Different Types of Data ......................................................................6
3.1 Master Data..................................................................................................................... 6 3.2 Configuration Data.......................................................................................................... 6 3.3 Transaction Data............................................................................................................. 6
5 Data Migration 3uiding #rincip(es..........................................................................15.1 Data Migration Approac!...............................................................................................15.1.1 Master Data 1 &e.g. Customers4 Assets) .....................................................................................15.1.2 56pen7 Transactiona( data &e.g. "ervice Tic2ets) ......................................................................15.1.2.1 8istorica( Master and Transactiona( data .....................................................................1-
page 2 of #9
Data 6:=ect "tructure &D6") .................................................................................15 + Data 6:=ect $egister..............................................................................................16 , $o(es and $esponsi:i(ities.....................................................................................1 1- >ey Issues ? $is2s...............................................................................................1+
1-.1 Current Data Migration Issues.....................................................................................1+ 1-.2 3enera( Data Migration $is2s .....................................................................................1+
page 3 of #9
#
Area Title
Do"u'ent (nfor'ation
Data Customer 'irst @ Data Migration "trategy
*ro"ess
)usiness +,ner
Short !es"ription
.ersion
Date
Su''ary of Changes
Author
1.-
14.-1.2--+
page 4 of #9
(ntro!u"tion
T!e scope of t!is document is to define t!e data migration strategy in t!e conte/t of Customer 'irst from a C$M perspective. <y its very nature C$M is not a ;!o(esa(e rep(acement of (egacy systems ;it! "A# :ut rat!er t!e coordination and management of customer interaction ;it!in t!e e/isting app(ication (andscape. T!erefore a (arge sca(e data migration in t!e traditiona( sense is not re%uired4 on(y a se(ect fe; data entities ;i(( need to :e migrated into C$M. Data migration is typica((y a 5one1off7 activity prior to go1(ive. Any ongoing data (oads re%uired on a fre%uent or ad1!oc :asis are considered to :e interfaces4 and are not part of t!e data migration scope. T!is document out(ines !o; t!e C' pro=ect intend to manage t!e data migration from t!e various counci( (egacy systems t!e "A# C$M system T!e creation of t!e "ing(e Customer $ecord is not inc(uded in t!is documentB refer to t!e "ing(e Customer $ecord MDM design paper for information on t!is su:=ect.
page 5 of #9
In t!e conte/t of t!is document (egacy app(ications are defined as t!ose t!at ;i(( :e rep(aced :y t!e Customer 'irst Transformation programme4 :ac21office app(ications are defined as app(ications t!at ;i(( not :e rep(aced :ut may :e integrated into t!e Customer 'irst app(ications.
3#
Master Data
Identified as fi/ed data4 it descri:es t!e information a:out peop(e4 p(aces and o:=ects t!at are invo(ved in running t!e :usiness processes. T!ese data types tend to :e created once maintained over a (ong time frame and are used :y a num:er of :usiness activities. ./amp(es inc(udeB customers4 assets4 (and ? property.
32
Configuration Data
T!is is data t!at is set up on "A# during t!e :ui(d and configuration process as it is configured. T!is type of data is not part of t!e migration process4 as it ;i(( :e transported to t!e production system t!roug! t!e transport procedure a(ong ;it! a(( ot!er configuration .
33
Transa"tion Data
Transaction data descri:es :usiness activities conducted :y t!e counci( in carrying out its duties. In t!e conte/t of Customer 'irst t!ese transactions ;i(( :e re(ated to t!e customer interaction process and re(ated toB Customer providing ne; information @ suc! as ne; address detai(s. Customer see2ing information @ suc! as (ocation of nearest s;imming poo(. Customer ma2ing an app(ication @ suc! as an app(ication for a par2ing permit. Customer ma2ing a :oo2ing @ suc! as an appointment ;it! a counci( officer. Customer raising a service re%uest @ suc! as a :u(2y ;aste co((ection. Customer ma2ing a payment @ suc! as a traffic offence fine.
Transactiona( Data fa((s into t;o categoriesB +pen Transa"tion Data 1 is transactiona( data t!at !as not comp(eted its :usiness cyc(e4 for e/amp(e a service tic2et t!at remains open ;it! additiona( activities re%uired prior to :eing c(osed. Close! Transa"tional Data / is transactiona( data t!at !as comp(eted its :usiness cyc(e and is su:se%uent(y used for information purposes on(y4 for e/amp(e a service tic2et ;i(( a(( re(ated activities comp(eted and a tic2et status of c(osed.
page 6 of #9
T!e comp(e/ity of data migration demands a process t!at ensures t!e accurate and comp(ete transfer of data into t!e ne; system from (egacy systems. T!e activities invo(ved in t!e data migration process are detai(ed :e(o;.
4#
In "A# a Data 6:=ect is a :usiness data unit suc! as customersB t!e functiona( "A# data re%uirements define t!e "A# transactions4 t!e screen !eadings and t!e screen fie(d descriptions used to enter t!e data.
42
T!ese define in detai( t!e "A# Data structures4 ta:(es and fie(ds. Inc(uding t!e fie(d name4 fie(d attri:utes &e.g. data type and (engt!) and fie(d properties &mandatory4 optiona(4 conditiona( or suppressed). T!is process re%uires a detai(ed 2no;(edge of t!e associated "A# :usiness processes and carefu( ana(ysis of t!e configured "A# system.
43
T!is activity identifies ;!ere t!e (egacy data current(y resides4 in ;!ic! app(icationsAdata:ases4 and !o; it is current(y entered and maintained. In addition t!is activity defines t!e (egacy screen !eadings and t!e screen fie(d descriptions used to enter t!e data.
44
T!is activity identifies in detai( t!e (egacy data ta:(es and fie(ds4 t!e fie(d attri:utes and properties inc(uding t!e data type and (engt!. T!is process re%uires a detai(ed 2no;(edge of t!e associated (egacy app(ications.
45
T!e data standards define t!e re%uired appearance4 consistency and content of t!e data. 'or e/amp(e4 t!e name and address formats4 uppercase ? (o;ercase re%uirements4 providing a consistent (oo2 for t!e data t!at ;i(( :e visi:(e :ot! interna((y and e/terna((y to t!e :usiness.
46
*egacy data re%uired for migration into "A# must :e comp(ete(y c(eansed prior to t!e fina( data (oad in "A# ;it! t!e aim to ensure t!e consistency and accuracy of t!e data. As a genera( approac! t!e data ;i(( :e c(eansed on t!e (egacy data:ase :efore e/traction4 !o;ever t!ere may :e circumstances ;!ere t!is is not t!e :est met!od and t!e data ;i(( :e c(eansed after it !as :een e/tracted. C(eansing is an iterative process t!at can start as soon as t!e data !as :een identified as :eing re%uired for migration into "A#. T!e data c(eansing cyc(e inc(udes t!e fo((o;ing stepsC T!e e(imination o:so(ete records. T!e remova( of dup(icate records. Correcting inaccurate records. Correcting incomp(ete records.
45
'or eac! :usiness o:=ect t!e fo((o;ing c!oices are avai(a:(e for data transferC To use t!e standard "A# data transfer programs. To manua((y enter data ;it! on(ine transactions. To deve(op :espo2e :atc! input programs.
page 5 of #9
Data vo(umes4 data comp(e/ity and avai(a:i(ity of standard "A# data (oad programs are a(( to :e considered :efore deciding :et;een automated or manua( (oad.
4$
T!is is a manua( process ;!ere t!e data fie(ds in t!e (egacy data source are assigned corresponding fie(ds in t!e "A# system. 'ie(d te/t in t!e (egacy system rare(y agrees ;it! t!e corresponding termino(ogy in t!e "A# system4 t!erefore a variety of mapping met!ods are re%uired. At t!e end of t!is step every "A# fie(d t!at re%uires data must !ave :eenC Assigned a corresponding fie(d from t!e (egacy system. Assigned a transformation @ i.e. converted from t!e origina( state to t!e re%uired state using variety of met!ods inc(uding (oo2up ta:(es4 com:ining fie(ds or (ogica( ru(es for data transformation. Assigned a constant va(ue.
49
Missing data is identified during t!e data mapping process4 ;!ere a ta:(e or fie(d in t!e "A# systems does not !ave an identifia:(e source from t!e (egacy app(ications.
page $ of #9
4 22 Data Sign9off
After t!e migrated data !as :een reconci(ed and c!ec2ed t!e data (oads ;i(( :e signed1off4 t!e sign1off ;i(( act as approva( for t!e go1(ive of t!e "A# app(ication.
page 9 of #9
5
5#
5#2
T!e approac! is t!at 5open7 transactiona( data ;i(( E6T :e migrated to "A# un(ess A** t!ese conditions are metC T!ere is a 2ey operationa(4 reporting or (ega(Astatutory re%uirement T!e (egacy system is to :e decommissioned as a resu(t of t!e C' pro=ect in timesca(es t!at ;ou(d prevent a 5run do;n7 of open items T!e para((e( 5run do;n7 of open items ;it!in t!e (egacy system is impractica( due to operationa(4 timing or resource constraints T!e "A# :ui(d and structures permit a correct and consistent interpretation of (egacy system items a(ongside "A#1generated items T!e :usiness is a:(e to commit resources to o;n data reconci(iation and sign1off at a detai(ed (eve( in a time(y manner across mu(tip(e pro=ect p!ases
page #& of #9
52
In order to test and verify t!e migration process it is proposed t!at t!ere ;i(( :e t!ree testing cyc(es :efore t!e fina( (ive (oadC Tria( *oad 1C 0nit testing of t!e e/tract and (oad routines. Tria( *oad 2C T!e first test of t!e comp(ete end1to1end data migration process for eac! data entity. T!e main purpose of t!is (oad is to ensure t!e e/tract routines ;or2 correct(y4 t!e staging area transformation is correct4 and t!e (oad routines can (oad t!e data successfu((y into "A#. T!e various data entities ;i(( not necessari(y :e (oaded in t!e same se%uence as ;i(( :e done during t!e (ive cutover Tria( CutoverC a comp(ete re!earsa( of t!e (ive data migration process. T!e e/ecution ;i(( :e done using t!e cutover p(an in order to va(idate t!at t!e p(an is reasona:(e and possi:(e to comp(ete in t!e agreed timesca(e. A fina( set of c(eansing actions ;i(( come out of tria( cutover &for any records ;!ic! fai(ed during t!e migration :ecause of data %ua(ity issues). T!ere ;i(( :e at (east one tria( cutover.. 'or comp(e/4 !ig!1ris24 migrations severa( tria( runs may :e performed4 unti( t!e resu(t is entire(y satisfactory and 1--F correct. *ive CutoverC t!e e/ecution of a(( tas2s re%uired to prepare "A# for t!e go1(ive of a particu(ar re(ease. A (arge ma=ority of t!ese tas2s ;i(( :e re(ated to data migration.
53
Data Cleansing
<efore data can :e successfu((y migrated it data needs to :e c(ean4 data c(eansing is t!erefore an important e(ement of any data migration activityC Data needs to :e in a consistent4 standardised and correct(y formatted to a((o; successfu( migration into "A# &e.g. "A# !o(ds addresses as structured addresses4 ;!ereas some (egacy systems mig!t !o(d t!is data in a freeform format) Data needs to :e comp(ete4 to ensure t!at upon migration4 a(( fie(ds ;!ic! are mandatory in "A# are popu(ated. Any fie(ds f(agged as mandatory4 ;!ic! are (eft :(an24 ;i(( cause t!e migration to fai(. Data needs to :e de1dup(icated and :e of sufficient %ua(ity to a((o; efficient and correct support of t!e defined :usiness processes. Dup(icate records can eit!er :e mar2ed for de(etion at source &preferred option)4 or s!ou(d :e e/c(uded in t!e e/tractAconversion process. *egacy data fie(ds cou(d !ave :een misused &!o(ding information different from ;!at t!is fie(d ;as initia((y intended to :e used for). Data c(eansing s!ou(d pic2 t!is up4 and a decision needs to :e made ;!et!er t!is data s!ou(d :e e/c(uded &i.e. not migrated)4 or transferred into a more appropriate fie(d.
It is t!e responsi:i(ity of t!e data o;ner &i.e. t!e :usiness) to ensure t!e data provided to t!e Customer 'irst #ro=ect for migration into "A# &;!et!er t!is is from a (egacy source or a temp(ate popu(ated specifica((y for t!e C' pro=ect) is accurate. Data c(eansing s!ou(d4 ;!erever possi:(e4 :e done at source4 i.e. in t!e (egacy systems4 for t!e fo((o;ing reasonsC 0n(ess a data c!ange freeDe is put in p(ace4 e/tracted datasets :ecome out of date as soon as t!ey !ave :een e/tracted4 due to updates ta2ing p(ace in t!e source system. 9!en re1 e/tracting t!e data at a (ater date to get t!e most recent updates4 data c(eansing actions ;i(( get over;ritten. T!erefore c(eansing ;i(( !ave to :e repeated eac! time a ne; dataset is e/tracted. In most cases4 t!is is impractica( and re%uires a (arge effort. Data c(eansing is typica((y a :usiness activity. T!erefore4 c(eansing in t!e actua( (egacy system !as t!e advantage t!at :usiness peop(e a(ready !ave access to t!e (egacy system4 and are a(so fami(iar ;it! t!e app(ication. "omet!ing t!at is not t!e case ;!en data is stored in staging
page ## of #9
areas. In certain cases it may :e possi:(e to deve(op a programme to do a certain degree of automated c(eansing a(t!oug! t!is adds additiona( ris2 of data errors. If data c(eansing is done at source4 eac! time a ne; &i.e. more recent) e/tract is ta2en4 t!e resu(ts of t!e (atest c(eansing actions ;i(( automatica((y come across in t!e e/tract ;it!out additiona( effort.
page #2 of #9
T!ere are four primary met!ods of transferring data from a (egacy system into "A#. T!e most appropriate met!od ;i(( depend on t!e vo(ume and comp(e/ity of data to :e migrated for eac! data o:=ect.
6#
T!is is a faci(ity provided :y "A# t!at ena:(es migrated data to :e first c(eansed in spreads!eets &or access depending on t!e data vo(umes)4 and su:se%uent(y (oaded into "A# via predetermined fie(d mapping. T!e faci(ity a(so caters for 5data transformation7 ;!ere fie(d va(ues can :e created from simp(e predefined (ogic. It is t!e preferred too( for a(( data migration into "A#. T!e main :enefits areC A !ig!(y f(e/i:(e too( provided and supported :y "A#. Independence from "A# re(eases4 p(atforms and t!e 2ind of data to :e migrated. Independence from "A# re(eases4 p(atforms and t!e 2ind of data to :e migrated. A step :y step guide t!roug! t!e data migration process. 3enerates A<A# code once data transfer !as :een configured. It a((o;s additiona( A<A# coding for comp(e/ data (oads. It a((o;s reusa:i(ity of data mapping and conversion ru(es.
62
T!e *"M9 process f(o; is made up of t!e fo((o;ing stepsC $ead data &(egacy data in spreads!eet ta:(es andAor se%uentia( fi(es) from a fi(e on a (oca( #C or fi(e server. Convert data &from t!e source into t!e target format). Import data &to t!e data:ase used :y t!e "A# app(ication).
4ega"y Data on *C Data that has been rea!
Stru"ture 9 -elationships
-ea! Data
SA* Syste'
SA* Syste'
63
T!is is suita:(e ;!ere t!e data to :e migrated is comp(e/ and in a significant(y different format from t!at re%uired :y "A# and t!ere is no standard "A# data (oad program avai(a:(e. T!is met!od ;i(( on(y :e
page #3 of #9
used as a (ast resort as it tends to create a (arge deve(opment over!ead and is usua((y on(y =ustified if t!e vo(ume of suc! data is very (arge.
64
Manual Migration
If t!e vo(ume of data to :e migrated is re(ative(y (o; or is of poor %ua(ity4 t!e over!ead of deve(oping migration programs mig!t not :e =ustified. Manua((y 2eying t!e data using t!e "A# transactions can ena:(e t!e "A# (ogic to va(idate t!e data at t!e time of entry. T!e main disadvantages are t!e possi:i(ities of input errors &mis12eying) and for mu(tip(e "A# ro((outs t!e data must :e manua((y input eac! time.
page #4 of #9
'or eac! data o:=ect identified as re%uiring data migration a data o:=ect structure &D6") ;i(( :e created. T!e D6" is t!e centra( repository for t!e detai(ed information on t!e "A# data fie(d definitions4 properties and attri:utes of a data o:=ect T!e D6" is a vita( input to t!e tas2 of ;riting functiona( specifications for t!e migration of (egacy data into "A#.4 it is used toC Map (egacy systems data to t!e "A# temp(ate data. Design and deve(op (egacy data e/tracts. Design and construct data (oad temp(ates. Design and construct data conversion programs. Define manua( data input instructions for manua( data entry. Derive priorities and :usiness ru(es for data c(eansing. Determine any data transforming re%uirements. Design and construct interface programs. T!ere is one D6" for eac! Data 6:=ect or group of Data 6:=ects in scope. T!e main purpose of t!is document is to ac!ieveC A consistent (oo2 and fee( for a(( D6" records C(arification of t!e D6" co(umns "tandard va(ues for co(umns across a(( D6" records C(ear ru(es for different scenarios <etter interpretation of an "A# data o:=ect. Ea#$ D%S s$eet is an E&#e' (i'e t$at #on(orms to t$e (o''o)ing generi# 'ayout. See A**en+i& 1 (or t$e sam*'e tem*'ate
D+S Sheet 2iel! Man!atory%+ptional Co''ents%.alues
"creen Eame
Mandatory
T!is is t!e name at t!e top of t!e "A# screen ;!en entering fie(ds. .nter once at t!e :eginning of t!e section4 not on eac! (ine. 'or e/amp(e <usiness #artner. 'ie(d Description4 for e/amp(e Customer Eame "A# Ta:(e Eame. "A# 'ie(d Eame *engt! of fie(d ./amp(e C8A$4 DAT"4 C0$$ 'ie(d "tatusB $G$e%uired4 AGAutomatic4 CGConditiona(4 6G6ptiona(4 E$GEot $e%uired Insert comments to assist ;it! data mapping and transforming. 'or e/amp(eC Descri:e a((o;a:(e va(ues ;it! t!e conditions for deciding ;!ic! va(ue must :e used T!e name of t!e (egacy system T!e name of t!e (egacy ta:(e and fie(d. T!e Conversion $u(e4 descri:e t!e transformation va(ues4 any fi/ed va(ues or (ogica( ru(es
'ie(d Description Ta:(eA"tructure 'ie(d Eame *engt! 'ormat 'ie(d "tatus Comments
page #5 of #9
T!e 5Data 6:=ect $egister7 ;i(( contain a definitive (ist of a(( data o:=ects considered for migration into "A#4 for eac! data entity responsi:i(ity ;i(( :e assigned for eac! activity in t!e data migration process. T!e data o:=ect register ;i(( contain a(( data o:=ects considered for data migration and form t!e :asis for reac!ing a fina( decision on ;!et!er t!e data migration ;i(( ta2e p(ace for t!e data o:=ect in %uestion. T!e Data 6:=ect $egister (ayout and content is detai(ed in t!e a:(e :e(o;B
D+- Colu'n Colu'n Des"ription
Directorate "ource App(ication $o((out "e%uence Data 6:=ect Description Data Type <usiness Data 6;ner&s) &<CC) "ervice <irming!am Contact 9or2stream <usiness $epresentative &<CC) 'unctiona( Consu(tant &C') 9or2stream Data Ana(yst &C') Data Ho(ume Data Comp(e/ity Data Iua(ity Data Migration $ecommended &JesAEo) $ecommendation $ationa(e
T!e name of t!e <CC directorate "ource app(ication name e.g 37C7s T!e ro((out se%uence of t!e data o:=ect T!e data o:=ect name e.g **#3 A meaningfu( description of t!e data o:=ect T!e type of data4 masterAtransactiona( T!e name of t!e :usiness data o;ner ;it!in <CC T!e name of t!e "< contact T!e name of t!e <CC :usiness representative on t!e Customer 'irst #rogramme T!e name of "A# functiona( consu(tant responsi:(e T!e name of t!e data ana(yst responsi:(e for t!e data migration T!e vo(ume of data i.e. num:er of records 8o; comp(e/ @ !ig!4 (o;4 medium. Iua(ity of t!e data @ !ig!4 (o;4 medium T!e recommended data migration approac! T!e reasons for t!e data migration recommendation4 e.g. !ig!(y comp(e/4 very !ig! deve(opment cost4 dynamic data (oo2up. 'o((o;ing consu(tation4 t!e agreed decision on data migration. T!e reasons for t!e agreed migration decision.
page #6 of #9
T!e successfu( migration of data into "A# re%uires a significant and diverse input from many different sources. A comp(ete understanding of (egacy systems and "A# data structures is necessary as ;e(( as a functiona( and :usiness understanding of t!e processes t!e data is supporting. 'or t!at reason t!e eac! data entity !as peop(e assigned to oversee eac! of t!e fo((o;ing ro(es. T!e responsi:i(ities of eac! data entity KteamL can :e s!ared in ;!atever ;ay suits t!em :est :ut t!e (i2e(y division is s!o;n :e(o;. <usiness Data 6;ner&s) &<CC) o 6vera(( responsi:i(ity for ensuring Kfit for useL for :usiness. o <usiness sign off forC "trategy document4 Tria( cutover migration4 *ive migration. o .nsuring necessary data c(eansingA:ui(d ta2es p(ace. 9or2stream <usiness $epresentative &<CC) o 'aci(itating f(o; of information :et;een pro=ect team and :usiness o;ners. o .nsuring pro=ect team is considering A** parts of t!e :usiness o 8ig!(ig!ting :usiness critica( data gaps 'unctiona( Consu(tant &Customer 'irst) o .nsuring Kfit for useL in "A# environment. o Create strategy for fie(d mappings and data :ui(d ;!ere appropriate. o 'unctiona( support for tec!nica( ana(ysts. *egacy "ystem 6;ner &"ervice <irming!am) o <ui(d of e/tract routines from (egacy systems. o Time(y e/traction of fi(es for :ui(dAtest p!ases4 Tria( Cutover and *ive Cutover. o 8ig!(ig!t any data gaps from (egacy systems. 9or2stream Data Ana(yst &Customer 'irst) o DesignA<ui(d of import routines to "A# o .nsuring fie(d mappings are comp(ete. o Time(y (oad of fi(es for :ui(dAtest p!ases4 Tria( Cutover and *ive Cutover.
page #5 of #9
#&
page #$ of #9
"creen
'ie(d
#urposeADescription
'ie(d Eame
Ta:(eA "tructure
*engt!
'ormat
Comments
"ource "ystem
Conversion $u(e
Address Data Tit(e Eame 1 Eame 2 Eame 3 Eame 4 "earc! term 1 Tit(e 2ey 1 e.g. Mr4 Mrs4 etc. Address componentC Eame of an address. Address componentC Eame of an address. Address componentC Eame of an address. Address componentC Eame of an address. "!ort description for a searc! !e(p. tit(e name1 name2 name3 name4 sort1 addr1Mdata addr1Mdata addr1Mdata addr1Mdata addr1Mdata addr1Mdata 4 44442c!ar c!ar c!ar c!ar c!ar c!ar M M M M M 6
page #9 of #9