Source of Truth Design Workbook

From WFM Labs

The source of truth design workbook is the single working document in which a workforce function designs the data its capacity model, schedules, reports and automation will all read: which business processes it measures, which keys those processes share, what every number means (numerator and denominator written apart), which system, table and field each number is taken from, what every person and every queue record must carry, which targets apply where, which reports exist and which can retire, and how the whole is changed once adopted. It is a design document first and a register second: it models the desired end state even where the data is not yet available, and records the gap rather than hiding it. It belongs to the Workforce Data Definitions Framework, where The Definitions Register and the Source of Truth Register are two of its tabs; it is the artifact a definitions workshop fills and a data team builds from, and it is adopted and changed only through GP-606.

The workbook exists because the alternative is a set of disconnected agreements. A function can agree a definition of handle time in a meeting, a source for it in a second meeting and a report format in a third, and still produce three handle times, because nothing joined the agreements to each other or to the fields that carry them. A workbook with one row per number, one tab per shared key and one tab per system makes the joins visible, and makes a missing join a blank cell that someone owns.

The method it follows

The workbook follows the standard dimensional design sequence of data warehousing, trimmed to what a workforce function needs.[1] Sixteen steps, grouped into four moves:

Move Steps Who does it Produces
1. List the processes and the keys Identify the business processes to be measured; identify the business context (the dimensions) of each; cross-reference processes with the dimensions they share; prioritize processes for a phased build The planning workshop, with the data lead in the room The Chain and Matrix tabs
2. Define the numbers Identify the metrics of each process; write each as a numerator and a denominator with a unit, a grain, a quality check and a steward; identify the attributes and hierarchies of each dimension; identify the business keys that join dimensions to facts The workshop, with each number's owner present for the session that settles it The Dictionary tab and the dimension tabs
3. Map every number to its source Identify the source system of each fact and dimension; map business keys to source tables and fields; map metrics to source fields and write the formula of every computed metric; map dimension attributes to source fields The workshop with the platform owners; the data team completes it The Systems and Sources tabs; the source columns of the Dictionary
4. Build, test, govern Create the extract-transform-load flow and the detailed mapping; inventory the reports to be produced over time; combine design, mapping and report inventory in one document; adopt it and place it under change control The data team; the signatories The Reports tab, the Change log, and the reference tables the data platform loads

Move 3 is where most definition programmes stall: a definition is agreed and nobody writes down the field it comes from, so the next report builder chooses one. The workbook puts the platform owner in the room for move 3 and leaves a blank, owned cell where the field is not yet known. A number whose source is unknown is still designed; its grade is [A] until the mapping lands, as Human Gates and Number Grades requires.

The tabs

A workbook typically carries the tabs below, grouped so that a reader finds the running of the week, the model, the time accounting, the keys, the plan and the reports in that order. Column names are the function's; the content of each tab is not.

Group Tab What one row is
Run Requests One data pull the workbook needs before it can be filled: what, who owes it, by when, status
Run Decisions One decision the workshop takes, with the recommendation, who decides and the date decided
Run Open items One question, objection, parked topic or risk, with an owner
Run Change log One change after adoption: version, tab, row, change, reason, owner, effective date
Model Chain One stage of the planning model, the question it answers, the numbers it needs, the target source and the grain; see the Workforce Data Definitions Framework hub for the chain
Model Matrix One process against every shared key: which keys it needs on every row (see Conformed Dimensions for Workforce Data)
Model Systems One system in the estate: type, units it serves, what it holds, grain, refresh, where it lands today, owner seat, grade
Model Sources One source-of-truth row per metric per channel per unit: the Source of Truth Register in tabular form, extended with table and field
Model Dictionary One number per scope: numerator, denominator, formula as written, source system, source field, grain, quality check, steward, grade, status, the register id it maps to
Time Activity codes One activity code per tenant with the flags the workforce-management system holds for it, its ledger tier, whether it counts as workload and what it rolls up to; see Agent State Taxonomy and Activity Codes
Time Ledger The tiers every paid minute falls into, and the reconciliation tests that run on every load
Time Capture points One place where time is or is not captured, its gap class and the path to close it
Keys People One attribute of the person record: description, source system and field, whether it changes over time, steward
Keys Queues One attribute of the queue (contact type) record, the same way
Plan Horizons One forecast horizon: question, grain, engine, owner seat, the decision it feeds, the accuracy measure, whether a version is written at hand-off
Plan Targets One target as data: scope, unit, channel, metric, value, threshold, period, basis (client, internal, regulatory), source document, effective date
Reports Reports One report, dashboard or working spreadsheet: platform, owner seat, cadence, audience, metrics shown, subject areas, what it conflicts with, keep, merge or retire; see Report Inventory and Rationalization
Reports Practices One policy or practice the units wrote down that is not a number (bidding, swaps, exception handling), parked to the standard that owns it

The Dictionary is the heart of the workbook. Its discipline is that the numerator and the denominator are separate cells: "same name, different denominator" is the commonest way two units disagree while believing they agree, and a single formula cell hides it. The Dictionary also carries, side by side, each unit's current formula as written (grade [A], as captured from the unit) and the proposed definition the workshop settles, so the discussion starts from what people actually compute.

The column template for a mapped number

Every fact and dimension specification carries the same column groups, so that a data team can build from the workbook without a second document. The template has three groups.[2]

Group Columns Rule
Definition Column name · display name · description · unknown member Every dimension has an unknown member, so a fact row never drops on a failed lookup
Source Source system · source table · source field · source data type · quality check · data steward · example values · slowly-changing type · load rule · comments The system is a category and an instance label, never a product name in anything published; the load rule is written as a sentence a tester can execute
Target Data type · size · precision · key · foreign key to · nullable · default Filled by the data team in move 4

A quality check is a rule the load can run: "only 0 or 1", "between 0 and 100", "answered plus abandoned equals offered". A data steward is a seat. A column whose source is not yet known keeps the row and leaves the source cells blank with the steward named; the blank is the finding.

How a workshop fills it

The workbook is pre-filled before the workshop from what is already on file: the systems that are known, the definitions each unit has written, the activity-code export with its flags, the person list from the human-resources system. In the sessions, the room types straight into the Dictionary, Sources, Activity codes, People, Queues and Horizons tabs. Decisions are logged with an owner and a date; anything off-topic goes to Open items. On the last day the workbook becomes version 1 and the master; after that, every change carries a version, an effective date and an owner on the Change log, and goes through GP-606. A written-objection window after adoption, typically two to three weeks [A], lets those who were not in the room object to version 1 in writing before it is treated as settled.

What the design does not do

It does not replace any system. Each system remains the system of record for what it owns; the workbook says which system is the source of truth for which number, and the data platform lands it once. It does not decide what a definition should be; that is the signatories' act. It does not carry local values that have not been given: thresholds, extraction paths and tenant names are marked SET LOCALLY until the owner supplies them. And it is not finished when the workshop ends: the design "models the desired end result even if the data is not currently available", and move 4 is where the data team finds what the sources will and will not yield.[3]

Maturity Model Position

Four scales on this wiki use the word level; the launch page states which is which. On the data definitions maturity scale, a function at level 2 has a definitions register and can fill the Dictionary and Chain tabs; level 3 adds the Sources, Systems and dimension tabs with mapped fields and a data team building from them; level 4 runs the ledger tests on every load and changes the workbook only through GP-606.[4]

See Also

References

  1. ↑ Kimball, R. and Ross, M. (2013). The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling, 3rd ed. Wiley. Chapters 1–3 (the four-step design process, the bus matrix and conformed dimensions).
  2. ↑ Kimball, R. and Ross, M. (2013), chapter 19 (ETL subsystems and the source-to-target mapping).
  3. ↑ West, M. (2011). Developing High Quality Data Models. Morgan Kaufmann. Chapter 1 (what a data model is for: clear, stable, flexible, reusable, integrable).
  4. ↑ DAMA International (2017). DAMA-DMBOK: Data Management Body of Knowledge, 2nd ed. Technics Publications. Chapter 3 (data governance) and chapter 11 (data warehousing and business intelligence).