CMMC readiness, end to end
Theme
Phase 2 drill-down: 2a people and roles

People and roles

How the client's real people and their own job titles are recorded, translated to a standard role list without losing the client's words, and where that translation is read today and where it isn't yet.

52
NICE work roles in the reference list, plus 21 organizational roles from the same source
511
objectives with a suggested primary role (NIST SP 800-171 Rev 3)
2
client tables, both typed during the interview
0
jobs or buttons: this pass is entered by hand

The data model

Two client tables, bridged to a shared role list. Solid lines are links stored in the data; the dashed one is the join no job walks yet.

Link that exists Join the design intends, not yet built

People and Client_Roles are empty in the template and never touched by reference pushes. Roles and Objective_Role_Map are reference data, identical in every client base.

1

Capture: people first, then roles

Typed during the interview, in two views built for it.

  1. People. In the "Interview: People" view, one row per real person: name, their actual job title as they say it, email.
  2. Roles, in the client's words. In the "Interview: Roles & NICE mapping" view, one row per role the client actually has ("IT Director", "Shop Floor Supervisor", "our MSP"), with a sentence on what it does.
  3. The mapping decision. Link each client role to the standard role or roles it resembles, or to none.
  4. Assign people. A person can hold several roles, and a role can be vacant.
Done when every person has a role and every role has a mapping decision. "No close match" is a decision; an untouched role is not. Nothing checks this yet; the runbook states it.

The fields

TableFieldHolds
PeopleName, Title, EmailThe person, with their title verbatim
PeopleClient RolesLink to the roles they hold (the same link as Assigned People, seen from the other side)
Client_RolesName, Purpose / DescriptionThe role as the client names and describes it
Client_RolesMaps To NICE Role(s)Link to zero, one or many reference roles
2

Translate: the mapping is one link

Adopt a standard role, define a custom one, or translate between them: all the same action.

Where the reference list came from

Reference tableRowsWhat it is
Roles73The 52 work roles of the NICE Workforce Framework (components v1.0.0), plus 21 organizational roles (risk, compliance, asset and process owners, change control, physical security, continuity) that the source spreadsheet adds
Objective_Role_Map511One suggested primary operator per NIST SP 800-171 Rev 3 objective, imported from the same spreadsheet and marked advisory. The spreadsheet's full responsibility grid (13,094 rows) was deliberately left out
Role_Technology_Map0Empty by design: which role runs which product is specific to each client
3

Use: what reads it today

Some of the mapping is load-bearing now; some is captured for a join that isn't built.

ConsumerReadsStatus
SSP generatorSystem Owner and System Security Officer, as name, title and email from PeopleLive. A missing System Owner keeps the SSP marked DRAFT
Policy statement authoringObjective_Role_Map, to give each Rev 3 statement its responsible roleUsed once, when the library was written
Client documentsOwning Role, a link to a client roleStored, not yet read by any job
Evidence requests and the portal's owner filterA role label copied from the evidence library, not the client's rolesPlanned: route each request to the client's own person
Client-facing statementsStandard role names todayPlanned: swap in the client's role name through the mapping

The {{it_lead}} variable in policy statements is separate on purpose: a single client-wide value such as "IT Manager" or the MSP's name, filled in with the client's other variables rather than looked up from roles.

The planned join. Objective → its suggested standard role → the client roles mapped to that standard role → the people assigned to them. Every link in that chain exists; no job walks it yet, so today a consultant does the lookup by hand.

Decision log

The calls that shaped people and roles, and when they were made.

DecisionWhyWhen
Import only the primary operator per objectiveThe full responsibility grid is one vendor's judgment, too much upkeep for its value2026-07-16
Leave the role-to-technology map emptyWhich role runs which product is client-specific2026-07-16
People and client roles as one mechanism; the link is the subscriptionNo flag to keep in sync with the link2026-07-17
Give policy statements specific responsible roles instead of one blanket roleA statement should name who does the work2026-07-19
Document ownership points at a roleOwnership should survive staff turnover2026-07-20
SSP owner and security officer point at peopleThe plan must record who holds security responsibility2026-07-23
Keep {{it_lead}} separate from rolesOften an outside MSP, and one value per client2026-07-31

Known gaps