---
title: Onze aanpak voor ERP en transformatie | Peoples.Engineer
description: Een ERP-project is een mensenproject. Ontdek hoe Peoples.Engineer systeem, mensen en heldere beslismomenten samenbrengt in één bestuurbaar plan.
---

[Overslaan naar inhoud](https://peoples.engineer/nl/onze-aanpak-v2#main-content)

![](https://peoples.engineer/hs-fs/hubfs/woordmerk-1.png?width=1968&height=440&name=woordmerk-1.png)Homepage

Aan de slag

Aan de slag

[Peoples.EngineerPEOPLE | CHANGE | RESULTS](https://peoples.engineer/?hsLang=nl)

Menu☰

Onze aanpak⌄

- [Waarom zo](https://peoples.engineer/nl/onze-aanpak-v2)
- [Het traject in beeld](https://peoples.engineer/nl/het-traject?hsLang=nl)

Waar sta je?⌄

- [Ik wil eerst weten waar ik sta](https://peoples.engineer/nl/het-vertrekpunt?hsLang=nl)
- [Ik start een ERP-traject](https://peoples.engineer/nl/vooronderzoek-en-begeleiding-v2?hsLang=nl)
- [Mijn project loopt vast](https://peoples.engineer/nl/tweede-mening-v2?hsLang=nl)

Zelf ervaren⌄

- [Twaalf kwartalen](https://peoples.engineer/twaalf-kwartalen?hsLang=nl)
- [De Readiness Reflection](https://peoples.engineer/nl/readiness-reflection?hsLang=nl)

Onder de oppervlakte⌄

[Over ons](https://peoples.engineer/nl/over-ons-v2?hsLang=nl) [Plan een gesprek](https://bookings.cloud.microsoft/bookwithme/user/d65f810cbbee40eebd685229adbf6491@peoples.engineer?anonymous&ismsaljsauthenabled&ep=plink)

![Stephen Decoussemaker](https://peoples.engineer/hubfs/Muiterij002.jpg)

# Een ERP-project begint niet bij de software. Het begint bij de vraag.

TUTE™ is de aanpak van Peoples.Engineer voor ERP- en transformatieprojecten. Voor CEO's en directieteams die willen beslissen op basis van feiten, en hun mensen mee willen hebben.

[Plan een gesprek →](https://peoples.engineer/contact?hsLang=nl)[Onze aanpak](https://peoples.engineer/nl/onze-aanpak-v2)

**Stephen Decoussemaker**Founder | Peoples.Engineer

## Welk probleem los je eigenlijk op?

"We hebben een nieuw ERP nodig."

Zo begint bijna elk gesprek. Maar dat is al een antwoord. De vraag ervoor blijft vaak onuitgesproken.

Loopt de planning vast door het systeem, of door beslissingen die niemand neemt? Werken afdelingen langs elkaar heen door de software, of door hoe het bedrijf georganiseerd is?

**Een nieuw systeem op een verkeerde vraag is een dure manier om hetzelfde probleem te houden.**

Daarom toetsen we eerst de vraag. Pas daarna het antwoord.

## Waarom ERP-projecten vastlopen

Zelden door de software. Meestal door wat ernaast gebeurt.

### Je beste mensen moeten twee jobs doen.

Ze werken mee aan het project, maar hun gewone werk wordt niet minder. Eerst vertraagt het project, daarna de mensen.

### De mensenkant komt te laat.

Communicatie en opleiding worden ingepland vlak voor de start. Dan is de weerstand er al.

### De directie ziet te veel, of te weinig.

Rapporten van dertig pagina's, of een groen bolletje tot het plots rood is.

### Niemand weet nog waar de documenten staan.

Na de overstap is de kennis vertrokken met de integrator.

Herken je er een? Dan is je project geen uitzondering. En dan is er een andere manier.

## Hoe wij werken

01

### We toetsen de vraag voor we een antwoord geven.

Ook als het antwoord dan geen ERP-project is. Dat kost ons soms een opdracht. Het bespaart jou een project dat je niet nodig had.

02

### Eerst het MT en de CEO op één lijn.

Een project kan niet sterker zijn dan de leiding die het draagt. Daarom kijkt het MT eerst naar zichzelf, ook naar de eigen rol, voor er een plan op tafel ligt.

03

### Het systeem en de mensen in één plan.

Na elke fase beslist je directie op één blad: wat loopt, wat aandacht vraagt, en wat er beslist moet worden. Geen rapport van dertig pagina's, en geen groen bolletje tot het plots rood is.

04

### Mensen sterker maken, zodat de kennis blijft.

Je eigen mensen doen een deel van het denkwerk mee. Na het project heb je niet alleen een systeem, maar ook de mensen die het begrijpen. De volgende verandering doe je grotendeels zelf.

## Het traject in zeven vragen

Elke fase eindigt met één vraag aan je directie. Pas als het antwoord ja is, ga je verder. Die vraag is vanaf dag één gekend.

0 **Vooronderzoek** ◆ Moeten we dit doen, en kunnen we het nu aan?

Hier wordt het meest beslist, en het minst zichtbaar gemaakt. Hieronder lees je hoe we het aanpakken.

*Je mensen:* het MT kijkt naar zichzelf. De werkvloer weet nog van niets, en dat is bewust zo.

[Bekijk de route van deze fase →](https://peoples.engineer/nl/het-traject?hsLang=nl#route)

1 **Voorbereiding** ◆ Zijn we klaar om te beginnen bouwen?

Het project krijgt een vorm voor er echt geld uitgaat: de scope, de keuze van de integrator, één plan en een uitgewerkte business case. Over de scope wordt het langst gepraat, en dat hoort zo.

*Je mensen:* het MT staat zichtbaar vooraan, en het middenkader wordt als eerste voorbereid.

[Bekijk de route van deze fase →](https://peoples.engineer/nl/het-traject?hsLang=nl#route)

2 **Ontwerp** ◆ Weten we hoe we morgen werken, en staan we erachter?

Hier wordt beslist hoe je mensen straks werken. Achteraf veranderen kost een veelvoud. Bij elke afwijking is de vraag: passen we het systeem aan, of onze manier van werken?

*Je mensen:* iedereen kan zien wat er voor hem verandert.

[Bekijk de route van deze fase →](https://peoples.engineer/nl/het-traject?hsLang=nl#route)

3 **Bouw** ◆ Is het klaar om te testen?

In deze fase ontstaat vaak de kloof tussen een groen rapport en een rode werkvloer. Daarom laten we je mensen het systeem zien groeien.

*Je mensen:* key users leren anderen opleiden. Wie het moeilijk heeft, krijgt steun.

[Bekijk de route van deze fase →](https://peoples.engineer/nl/het-traject?hsLang=nl#route)

4 **Test** ◆ Durven we live te gaan?

Het laatste betaalbare moment om "nog niet" te zeggen, ook als de datum al gecommuniceerd is.

*Je mensen:* echte gebruikers werken ermee, en de eerste weken na de start moeten haalbaar zijn.

[Bekijk de route van deze fase →](https://peoples.engineer/nl/het-traject?hsLang=nl#route)

5 **Overschakeling** ◆ Draait het systeem, en draaien de mensen mee?

In de eerste weken wordt het vertrouwen gewonnen of verloren.

*Je mensen:* de leiding is aanwezig, er is hulp op de werkvloer, en de eerste successen worden zichtbaar.

[Bekijk de route van deze fase →](https://peoples.engineer/nl/het-traject?hsLang=nl#route)

6 **Nazorg en afsluiting** ◆ Kunnen we het nu zelf?

Een project eindigt, de verandering niet. We vertrekken pas als de kennis bij jou blijft.

*Je mensen:* het projectteam keert terug naar de lijn, en de volgende verandering doe je grotendeels zelf.

[Bekijk de route van deze fase →](https://peoples.engineer/nl/het-traject?hsLang=nl#route)

**Van het MT in het vooronderzoek tot de hele organisatie bij de afsluiting: elke fase maakt meer mensen sterker.**

## Hoe het begint: het vooronderzoek

Het belangrijkste deel van het traject, en het minst zichtbare. Er komt weinig tastbaars uit. Wel het belangrijkste: een eerlijk beeld, een MT dat weet wat het wil, en een beslissing.

1

### Waarom, en waarom nu?

Met de CEO en de sponsor. Wat is er aan de hand? Is dit het echte probleem, of een symptoom? Wat kost het als je niets doet?

*Waarom eerst dit: zonder heldere vraag zoekt iedereen naar een ander antwoord.*

2

### Kijken

Het MT kijkt naar zichzelf, ook naar de eigen rol. Wij praten met de sleutelfiguren. En we brengen in kaart wat er al op de organisatie afkomt. De werkvloer weet dan nog van niets. Dat is bewust zo.

*Waarom: de verschillen in het MT zeggen meer dan het gemiddelde.*

3

### Samenleggen

Kan de organisatie dit nu dragen? Wat moet er eerst gebeuren? En wat kost het ongeveer, en wat levert het op?

*Waarom: niemand beslist goed zonder een idee van kosten en baten.*

4

### Afspreken en beslissen

Wat willen we samen bereiken, onder welke voorwaarden, en wie doet wat? Daarna beslissen de CEO en het MT.

*Waarom: een beslissing die niet expliciet genomen is, wordt later in vraag gesteld.*

**Hoe lang dit duurt? Dat hangt af van hoeveel er besproken moet worden. Die gesprekken zijn geen vertraging. Ze zijn het werk.**

**En ook "nu nog niet" is een goed resultaat. Het bespaart je een project dat zou vastlopen.**

[Bekijk hoe het vooronderzoek in de tijd loopt →](https://peoples.engineer/nl/het-traject?hsLang=nl#route)

## Wat je ervan merkt

### Je directie beslist, in plaats van te lezen.

Eén blad per beslismoment, met de vragen die zij moet beantwoorden.

### Problemen komen vroeg op tafel.

Dat de datamigratie maar niet van de grond komt, staat op het blad lang voor het een crisis is.

### Je mensen weten waar ze aan toe zijn.

Ze horen het verhaal van hun eigen chef, en ze kunnen vragen stellen die beantwoord worden.

### Je organisatie leert mee.

Een paar eigen mensen draaien mee in de projectleiding. De volgende verandering doe je voor een groot deel zelf.

## Naast je integrator, niet in zijn plaats

Wij bouwen geen software en verkopen geen licenties. Je kiest het systeem en de partner die het implementeert; wij helpen je kiezen als je dat wilt. Daarna zorgen we dat de mijlpalen van de partner gekoppeld zijn aan je beslismomenten, en dat het project je project blijft. Of het nu om SAP, Microsoft Dynamics of een ander pakket gaat.

## Hoe beginnen

Er zijn drie manieren om te starten. Kies wat bij jouw situatie past.

### Je wilt eerst weten waar je staat.

Het vertrekpunt: in ongeveer een week zie je waar je directie staat, en of je verder gaat. [Over het vertrekpunt →](https://peoples.engineer/nl/het-vertrekpunt?hsLang=nl)

### Je start een ERP-traject.

Een vooronderzoek, daarna begeleiding van het hele traject. [Over vooronderzoek en begeleiding →](https://peoples.engineer/nl/vooronderzoek-en-begeleiding-v2?hsLang=nl)

### Je project loopt vast.

Een tweede mening in 1 à 2 weken, en waar nodig bijsturen. [Over de tweede mening →](https://peoples.engineer/nl/tweede-mening-v2?hsLang=nl)

[Plan een gesprek van een halfuur](https://bookings.cloud.microsoft/bookwithme/user/d65f810cbbee40eebd685229adbf6491@peoples.engineer?anonymous&ismsaljsauthenabled&ep=plink)

![Stephen Decoussemaker, oprichter van Peoples.Engineer](https://peoples.engineer/hs-fs/hubfs/Muiterij014.jpg?width=1365&height=2048&name=Muiterij014.jpg)

Serious about Change*●*Unlocking the best in People*●*Relentless on Results

© 2026 Peoples.Engineer · Merelbeke-Melle[LinkedIn](https://www.linkedin.com/company/peoples-engineer/) · [Privacy](https://peoples.engineer/privacybeleid?hsLang=nl)

[Peoples.Engineer](https://peoples.engineer?hsLang=nl)

[Home](https://peoples.engineer/?hsLang=nl)[Onze aanpak](https://peoples.engineer/nl/onze-aanpak-v2)[Contact](https://peoples.engineer/contact?hsLang=nl)

Onze aanpak

# Een ERP-project is een mensenproject, met wat software erin.

TUTE™: de aanpak van Peoples.Engineer voor ERP- en transformatieprojecten.

Wij brengen het projectwerk en de mensenkant samen in één plan. Na elke fase beslist uw directie op één blad: gaan we verder, onder welke voorwaarden, of stoppen we eerst. Zo blijft een project bestuurbaar, ook als het moeilijk wordt.

[Bekijk het hele project op één blad](https://peoples.engineer/nl/onze-aanpak-v2#werkplankaart)

## Het hele project op één blad

Verken de fasen en domeinen. Gebruik de filter Mensen om de mensenkant te volgen, of start de rondleiding.

Op uw telefoon: draai het scherm voor meer overzicht. U kunt de kaart verschuiven en inzoomen.

<iframe class="pe-map" title="Interactieve publieke Werkplankaart" sandbox="allow-scripts allow-popups allow-top-navigation-by-user-activation" srcdoc="<!doctype html>
<html lang=&quot;nl&quot; data-theme=&quot;light&quot;>
<head>
<meta charset=&quot;utf-8&quot;>
<title>Werkplankaart</title>
<meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, viewport-fit=cover&quot;>
<link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;>
<link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin>
<link href=&quot;https://fonts.googleapis.com/css2?family=Archivo:wght@500;700;800&amp;family=IBM+Plex+Mono:wght@400;500&amp;family=IBM+Plex+Sans:wght@400;500;600&amp;display=swap&quot; rel=&quot;stylesheet&quot;>
<style>
:root{
  --paper:#FFFFFF; --grid:rgba(29,78,137,.07); --grid2:rgba(29,78,137,.13);
  --ink:#15384B; --ink2:#4B5F7C; --ink3:#7A8BA3;
  --card:#FFFFFF; --card2:#F8FAFC; --line:#D6DFEA; --line2:#E6ECF3;
  --pm:#008F99; --cm:#C9A96E; --cmtxt:#8C6A2E; --both:#6F7FA0;
  --gold:#C9A96E; --goldbg:rgba(201,169,110,.12); --sel:#1D4E89;
  --shadow:0 1px 2px rgba(20,51,92,.06),0 8px 24px rgba(20,51,92,.08);
  --drawer:#FFFFFF; --scrim:rgba(13,24,40,.28);
  --side:max(16px, env(safe-area-inset-left, 0px));
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme=&quot;light&quot;]){
    --paper:#0C1726; --grid:rgba(120,160,215,.06); --grid2:rgba(120,160,215,.11);
    --ink:#E5ECF5; --ink2:#A3B4CB; --ink3:#71839C;
    --card:#132339; --card2:#0F1D30; --line:#25405F; --line2:#1C3350;
    --pm:#6193D4; --cm:#D8BB84; --cmtxt:#D8BB84; --both:#8E9CBB;
    --gold:#D8BB84; --goldbg:rgba(216,187,132,.10); --sel:#8DB4E6;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);
    --drawer:#112038; --scrim:rgba(0,0,0,.45); color-scheme:dark;
  }
}
:root[data-theme=&quot;dark&quot;]{
    --paper:#0C1726; --grid:rgba(120,160,215,.06); --grid2:rgba(120,160,215,.11);
    --ink:#E5ECF5; --ink2:#A3B4CB; --ink3:#71839C;
    --card:#132339; --card2:#0F1D30; --line:#25405F; --line2:#1C3350;
    --pm:#6193D4; --cm:#D8BB84; --cmtxt:#D8BB84; --both:#8E9CBB;
    --gold:#D8BB84; --goldbg:rgba(216,187,132,.10); --sel:#8DB4E6;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);
    --drawer:#112038; --scrim:rgba(0,0,0,.45); color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--paper);color:var(--ink);font:14px/1.45 &quot;IBM Plex Sans&quot;,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.app{position:fixed;inset:0;display:flex;flex-direction:column}

/* header */
header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding:18px var(--side) 14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);position:relative;z-index:5}
.eyebrow{font:500 11px/1 &quot;IBM Plex Mono&quot;,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--cmtxt);margin-bottom:8px}
h1{font:800 clamp(22px,2.6vw,30px)/1.05 Archivo,sans-serif;letter-spacing:-.01em;margin:0}
.sub{margin-top:6px;color:var(--ink2);font-size:13.5px}
.sub b{color:var(--ink);font-weight:600}
.tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--card)}
.seg button{padding:7px 12px;font-size:13px;color:var(--ink2);display:flex;align-items:center;gap:6px}
.seg button+button{border-left:1px solid var(--line)}
.seg button[aria-pressed=&quot;true&quot;]{background:var(--ink);color:var(--paper)}
.dot{width:8px;height:8px;border-radius:2px;display:inline-block}
.btn{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 11px;font-size:13px;color:var(--ink2);display:inline-flex;align-items:center;gap:6px}
.btn:hover,.seg button:not([aria-pressed=&quot;true&quot;]):hover{color:var(--ink);background:var(--card2)}
.zoom{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.zoom button{width:32px;height:32px;font-size:17px;color:var(--ink2)}
.zoom button:hover{color:var(--ink)}
.zoom output{font:500 12px &quot;IBM Plex Mono&quot;,monospace;min-width:46px;text-align:center;color:var(--ink2);border-left:1px solid var(--line);border-right:1px solid var(--line);line-height:32px}
:focus-visible{outline:2px solid var(--sel);outline-offset:2px}

/* viewport */
#vp{position:relative;flex:1;overflow:hidden;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;
  background-color:var(--paper);
  background-image:linear-gradient(var(--grid2) 1px,transparent 1px),linear-gradient(90deg,var(--grid2) 1px,transparent 1px),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px)}
#vp.grabbing{cursor:grabbing}
#world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
#cols,#rows{position:absolute;z-index:3;pointer-events:none}
#cols{left:var(--lw);right:0;top:0;height:calc(var(--hh) + 16px);overflow:hidden}
#rows{left:0;top:var(--hh);bottom:0;width:var(--lw);overflow:hidden}
#cols::before{content:&quot;&quot;;position:absolute;left:0;right:0;top:0;height:var(--hh);background:var(--paper)}
#rows::before{content:&quot;&quot;;position:absolute;inset:0;background:var(--paper)}
.corner{position:absolute;left:0;top:0;width:var(--lw);height:var(--hh);z-index:4;background:var(--paper);display:flex;flex-direction:column;justify-content:flex-end;padding:0 12px 12px var(--side);font:500 10.5px/1.3 &quot;IBM Plex Mono&quot;,monospace;color:var(--ink3);letter-spacing:.06em;text-transform:uppercase}
.corner span{display:block}
.ph{position:absolute;top:0;left:0;height:var(--hh);padding:12px 10px 10px;pointer-events:auto;text-align:left;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:2px solid var(--ink);overflow:hidden}
.ph .num{font:500 11px &quot;IBM Plex Mono&quot;,monospace;color:var(--ink3);letter-spacing:.08em}
.ph .nm{font:700 16px/1.15 Archivo,sans-serif;margin:2px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph .ds{font-size:12px;color:var(--ink2);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ph:hover .nm{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
#cols.narrow .ds{display:none}
#cols.tiny .nm{font-size:12.5px}
.gb{position:absolute;top:calc(var(--hh) - 13px);width:26px;height:26px;margin-left:-13px;border-radius:50%;background:var(--gold);color:#14335C;font:700 12px Archivo,sans-serif;display:grid;place-items:center;pointer-events:auto;box-shadow:0 0 0 3px var(--paper);z-index:2;transition:transform .15s}
.gb:hover{transform:scale(1.12)}
.ln{position:absolute;left:0;width:var(--lw);padding:0 12px 0 var(--side);display:flex;flex-direction:column;justify-content:center;pointer-events:auto;text-align:left;border-right:2px solid var(--ink);overflow:hidden}
.ln .code{font:500 10.5px &quot;IBM Plex Mono&quot;,monospace;color:var(--ink3);letter-spacing:.08em}
.ln .nm{font:700 14px/1.2 Archivo,sans-serif}
.ln:hover .nm{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.ln.gf .nm{color:var(--cmtxt)}
#rows.short .ln .code{display:none}
#rows.short .ln .nm{font-size:12px}

/* cells */
.cell{position:absolute;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:12px 13px 11px;text-align:left;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow);transition:border-color .15s,opacity .2s,box-shadow .15s;overflow:hidden}
.cell:hover{border-color:var(--ink3)}
.cell.on{border-color:var(--sel);box-shadow:0 0 0 2px var(--sel),var(--shadow)}
.cell.gf{background:var(--goldbg);border-style:dashed;border-color:color-mix(in srgb,var(--gold) 70%,transparent);box-shadow:none}
.cell.dim{opacity:.32}
.c-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font:500 11px &quot;IBM Plex Mono&quot;,monospace;color:var(--ink3)}
.c-top b{font:700 22px/1 Archivo,sans-serif;color:var(--ink);margin-right:4px}
.bar{display:flex;height:5px;border-radius:3px;overflow:hidden;background:var(--line2);gap:1px}
.bar i{display:block;height:100%}
.bar .p{background:var(--pm)}.bar .c{background:var(--cm)}.bar .b{background:var(--both)}
.tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.tl li{font-size:12.5px;line-height:1.3;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s}
.tl li::before{content:&quot;&quot;;display:inline-block;width:6px;height:6px;border-radius:1.5px;margin-right:7px;vertical-align:1px;background:var(--pm)}
.tl li.cm::before{background:var(--cm)}.tl li.bo::before{background:var(--both)}
.tl li.off{opacity:.28}
.tl .more{color:var(--ink3);font:500 11px &quot;IBM Plex Mono&quot;,monospace}
.tl .more::before{display:none}
#world.lo .tl{display:none}
#world.lo .c-top{flex-direction:column;align-items:flex-start;gap:6px}
#world.lo .c-top b{font-size:44px}
#world.lo .c-top span{font-size:14px}
#world.lo .bar{height:10px;margin-top:auto}
.gline{position:absolute;top:-30px;width:0;border-left:2px dashed var(--gold);pointer-events:none}
.gtag{position:absolute;width:30px;margin-left:-15px;writing-mode:vertical-rl;transform:rotate(180deg);font:500 11px &quot;IBM Plex Mono&quot;,monospace;letter-spacing:.14em;color:var(--cmtxt);text-transform:uppercase;display:flex;align-items:center;justify-content:center;pointer-events:none;background:var(--paper);padding:8px 0}

/* overlays */
.hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:9px 16px;border-radius:999px;font-size:13px;z-index:6;pointer-events:none;transition:opacity .6s;white-space:nowrap;box-shadow:var(--shadow)}
.hint.gone{opacity:0}
.legend{position:absolute;left:var(--side);bottom:16px;z-index:6;display:flex;gap:12px;font-size:12px;color:var(--ink2);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px 10px;align-items:center}
.legend span{display:inline-flex;align-items:center;gap:6px}
.mini{position:absolute;right:var(--side);bottom:96px;z-index:6;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px;cursor:pointer}
.mini .mg{position:relative}
.mini i{position:absolute;border-radius:1.5px;background:var(--line)}
.mini i.gfm{background:var(--goldbg);outline:1px solid color-mix(in srgb,var(--gold) 50%,transparent)}
.mini .vr{position:absolute;border:1.5px solid var(--sel);border-radius:2px;background:color-mix(in srgb,var(--sel) 10%,transparent);pointer-events:none}
.tb{position:absolute;right:var(--side);bottom:16px;z-index:6;border:1.5px solid var(--ink);background:var(--card);font:500 10.5px/1 &quot;IBM Plex Mono&quot;,monospace;color:var(--ink2);display:grid;grid-template-columns:auto auto;text-transform:uppercase;letter-spacing:.06em}
.tb div{padding:6px 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.tb div:nth-child(2n){border-right:0}
.tb div:nth-last-child(-n+2){border-bottom:0}
.tb .big{grid-column:1/3;font:800 13px/1 Archivo,sans-serif;color:var(--ink);letter-spacing:.04em;border-right:0}
.tb b{color:var(--ink);font-weight:500}

/* drawer */
.scrim{position:fixed;inset:0;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity .25s;z-index:9}
.scrim.on{opacity:1;pointer-events:auto}
aside{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--drawer);border-left:1px solid var(--line);z-index:10;transform:translateX(104%);transition:transform .3s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;box-shadow:-16px 0 40px rgba(13,24,40,.12)}
aside.on{transform:none}
.dh{padding:20px 22px 16px;border-bottom:1px solid var(--line);position:relative}
.dh .eyebrow{margin-bottom:6px}
.dh h2{font:800 22px/1.15 Archivo,sans-serif;margin:0 34px 0 0}
.dh .who{margin-top:10px;font-size:13px;color:var(--ink2)}
.dh .who b{color:var(--ink);font-weight:600}
.x{position:absolute;right:14px;top:14px;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:var(--ink2);font-size:20px}
.x:hover{background:var(--card2);color:var(--ink)}
.db{overflow:auto;padding:8px 22px 28px;flex:1;overscroll-behavior:contain}
.sec{font:500 11px &quot;IBM Plex Mono&quot;,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin:22px 0 10px;display:flex;justify-content:space-between}
details{border:1px solid var(--line);border-radius:9px;margin-bottom:8px;background:var(--card)}
details[open]{border-color:var(--ink3)}
summary{list-style:none;cursor:pointer;padding:11px 12px 11px 13px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}
summary::-webkit-details-marker{display:none}
summary .cd{font:500 11px/20px &quot;IBM Plex Mono&quot;,monospace;color:var(--ink3)}
summary .tt{font-weight:600;line-height:1.35}
summary .ar{color:var(--ink3);transition:transform .2s;line-height:20px}
details[open] summary .ar{transform:rotate(90deg)}
.dd{padding:0 13px 13px 13px;font-size:13.5px;color:var(--ink2)}
.dd p{margin:0 0 10px}
.done{border-left:3px solid var(--gold);background:var(--goldbg);padding:8px 10px;border-radius:0 6px 6px 0;margin:10px 0 12px;color:var(--ink)}
.done b{display:block;font:500 10.5px &quot;IBM Plex Mono&quot;,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--cmtxt);margin-bottom:3px}
.tasks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2)}
.tasks li{padding:8px 0;border-bottom:1px solid var(--line2);display:grid;grid-template-columns:1fr auto;gap:2px 10px}
.tasks .tn{color:var(--ink);font-size:13px}
.tasks .tw{font-size:12px;color:var(--ink3);grid-column:1}
.chip{font:500 10px/1 &quot;IBM Plex Mono&quot;,monospace;letter-spacing:.06em;padding:4px 6px;border-radius:4px;white-space:nowrap;align-self:start}
.chip.p{background:color-mix(in srgb,var(--pm) 14%,transparent);color:var(--pm)}
.chip.c{background:color-mix(in srgb,var(--cm) 22%,transparent);color:var(--cmtxt)}
.chip.b{background:color-mix(in srgb,var(--both) 18%,transparent);color:var(--both)}
.chip.m{background:var(--card2);color:var(--ink2);border:1px solid var(--line)}
.meta{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 10px}
.docs{list-style:none;margin:0;padding:0}
.docs li{display:grid;grid-template-columns:62px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--line2);font-size:13px}
.docs .id{font:500 11px/19px &quot;IBM Plex Mono&quot;,monospace;color:var(--ink3)}
.docs .o{display:block;font-size:12px;color:var(--ink3)}
.q{font:700 20px/1.3 Archivo,sans-serif;margin:18px 0 14px;padding-left:14px;border-left:3px solid var(--gold)}
.out{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:6px}
.out div{border:1px solid var(--line);border-radius:8px;padding:8px;font-size:12px;color:var(--ink2);text-align:center}
.out div b{display:block;font:700 13px Archivo,sans-serif;color:var(--ink);margin-bottom:2px}
.crit{margin:0 0 14px}
.crit h4{margin:0 0 6px;font:600 13px &quot;IBM Plex Sans&quot;,system-ui,sans-serif;color:var(--ink)}
.crit ul{margin:0;padding:0;list-style:none}
.crit li{display:grid;grid-template-columns:1fr auto;gap:8px;padding:6px 0 6px 12px;border-left:2px solid var(--line);font-size:13px;color:var(--ink2);margin-bottom:2px}
.crit li.must{border-left-color:var(--gold);color:var(--ink)}
.rowlink{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:9px;margin-bottom:6px;text-align:left;background:var(--card)}
.rowlink:hover{border-color:var(--ink3)}
.rowlink .n{font-weight:600}
.rowlink .s{font:500 11px &quot;IBM Plex Mono&quot;,monospace;color:var(--ink3)}
.rowlink small{display:block;color:var(--ink3);font-size:12px;margin-top:2px;font-weight:400}
.lead{color:var(--ink2);margin:14px 0 0;font-size:14px}
.nav{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.nav .btn{font-size:12.5px;padding:6px 10px}
.bl-note{margin:14px 0 0;padding:9px 11px;border:1px dashed var(--line);border-radius:8px;font-size:12.5px;color:var(--ink3);background:var(--card2)}
.bl-adv{margin:14px 0 0;padding:10px 12px;border-radius:9px;background:var(--goldbg);border-left:3px solid var(--gold);font-size:13.5px;color:var(--ink)}
.bl-adv b{display:block;font:500 10.5px &quot;IBM Plex Mono&quot;,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--cmtxt);margin-bottom:3px}
.bl-n{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--ink);color:var(--paper);font:600 10.5px &quot;IBM Plex Mono&quot;,monospace;margin-right:6px;letter-spacing:0}
.lt{display:inline-block;width:11px;height:11px;border-radius:50%;flex:none;margin-top:4px}
.lt.g{background:#2E9E6A}.lt.o{background:#E0952B}.lt.r{background:#D2483E}
.bl-dom summary{grid-template-columns:auto 1fr auto}
.bl-dom .att{display:block;font-weight:400;color:var(--ink2);font-size:12.5px;margin-top:3px}
.bl-dom dl{margin:0;display:grid;grid-template-columns:110px 1fr;gap:6px 10px;font-size:13px}
.bl-dom dt{color:var(--ink3);font-size:12px}.bl-dom dd{margin:0;color:var(--ink)}
.bl-list{list-style:none;margin:0;padding:0}
.bl-list li{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:13px;color:var(--ink2)}
.bl-list li b{display:block;color:var(--ink);font-weight:600;font-size:13.5px}
.bl-list .k{font:500 10.5px &quot;IBM Plex Mono&quot;,monospace;color:var(--ink3);letter-spacing:.04em}
.bl-list .w{display:block;font-size:12px;color:var(--ink3);margin-top:2px}
.bl-esc{display:grid;grid-template-columns:auto 1fr;gap:10px;font-size:13px;color:var(--ink2)}
.bl-esc b{color:var(--ink)}
.bl-dos{margin-top:22px}
.bl-dos>summary{font-weight:600}
.bl-dos .dd{padding-top:4px}
.tourb{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tourb:hover{background:var(--pm)!important;color:#fff!important}
.tour{position:absolute;left:calc(var(--lw) + 16px);bottom:18px;z-index:8;width:min(500px,calc(100% - var(--lw) - 32px));background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:12px;box-shadow:var(--shadow);padding:14px 16px 12px;display:none}
.tour.on{display:block;animation:tin .3s ease}
@keyframes tin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tour .tk{font:500 10.5px &quot;IBM Plex Mono&quot;,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--cmtxt);display:flex;justify-content:space-between;align-items:center}
.tour h3{font:800 19px/1.2 Archivo,sans-serif;margin:6px 0 6px}
.tour p{margin:0;color:var(--ink2);font-size:14px;line-height:1.5}
.tour .tc{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:10px}
.tour .dots{display:flex;gap:5px}
.tour .dots button{width:8px;height:8px;border-radius:50%;background:var(--line)}
.tour .dots button.on{background:var(--gold);width:20px;border-radius:4px}
.tour .tn{display:flex;gap:6px}
.tour .tn .btn{padding:6px 12px}
.tour .tn .pri{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tour .tx{width:28px;height:28px;border-radius:6px;color:var(--ink3);font-size:18px;line-height:1}
.tour .tx:hover{background:var(--card2);color:var(--ink)}
.touring .hint{display:none}
@media (max-width:720px){
  header{padding-top:14px;padding-bottom:10px;align-items:flex-start}
  .sub{font-size:12.5px}
  .tools{width:100%;gap:8px}
  .seg button{padding:6px 9px;font-size:12px}
  .seg .lbl,#fit .lbl,.zoom{display:none}
  h1{font-size:21px}
  .ln .nm{font-size:12.5px}
  .tools{flex-wrap:nowrap}
  .tb,.mini{display:none}
  .tourb .lbl{display:none}
  .tour{left:var(--side);right:var(--side);width:auto;top:8px;bottom:auto;padding:11px 13px 10px}
  .tour h3{font-size:16px}.tour p{font-size:13px}
  .touring aside{height:56%}
  .legend{bottom:12px;font-size:11px;gap:9px}
  .hint{bottom:56px;font-size:12px}
  aside{top:auto;width:100%;height:82%;border-left:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0;transform:translateY(104%)}
  aside.on{transform:none}
  .dh{padding-top:22px}
  .dh::before{content:&quot;&quot;;position:absolute;left:50%;top:8px;width:38px;height:4px;margin-left:-19px;border-radius:2px;background:var(--line)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
</style>
</head>
<body>

<div class=&quot;app&quot;>
<header>
  <div>
    <div class=&quot;eyebrow&quot;>Werkplan · ERP- en transformatieprojecten</div>
    <h1>Het hele project op één blad</h1>
    <div class=&quot;sub&quot; id=&quot;sub&quot;></div>
  </div>
  <div class=&quot;tools&quot;>
    <div class=&quot;seg&quot; role=&quot;group&quot; aria-label=&quot;Toon&quot;>
      <button aria-pressed=&quot;true&quot; data-f=&quot;all&quot;>Alles</button>
      <button aria-pressed=&quot;false&quot; data-f=&quot;PM&quot;><i class=&quot;dot&quot; style=&quot;background:var(--pm)&quot;></i><span class=&quot;lbl&quot;>Projectwerk</span></button>
      <button aria-pressed=&quot;false&quot; data-f=&quot;CM&quot;><i class=&quot;dot&quot; style=&quot;background:var(--cm)&quot;></i><span class=&quot;lbl&quot;>Mensen</span></button>
    </div>
    <button class=&quot;btn tourb&quot; id=&quot;tour&quot; aria-label=&quot;Rondleiding&quot;><span aria-hidden=&quot;true&quot;>▶</span><span class=&quot;lbl&quot;>Rondleiding</span></button>
    <button class=&quot;btn&quot; id=&quot;alw&quot; title=&quot;Documenten die in elke fase meelopen&quot;>Doorlopend</button>
    <div class=&quot;zoom&quot;>
      <button id=&quot;zo&quot; aria-label=&quot;Uitzoomen&quot;>−</button>
      <output id=&quot;zv&quot;>100%</output>
      <button id=&quot;zi&quot; aria-label=&quot;Inzoomen&quot;>+</button>
    </div>
    <button class=&quot;btn&quot; id=&quot;fit&quot; aria-label=&quot;Alles in beeld&quot;><span aria-hidden=&quot;true&quot;>⤢</span><span class=&quot;lbl&quot;>Alles in beeld</span></button>
  </div>
</header>
<div id=&quot;vp&quot; tabindex=&quot;0&quot; aria-label=&quot;Werkplankaart: sleep om te verkennen, klik op een vak voor details&quot;>
  <div id=&quot;world&quot;></div>
  <div id=&quot;cols&quot;></div>
  <div id=&quot;rows&quot;></div>
  <div class=&quot;corner&quot;><span>Fasen →</span><span>Domeinen ↓</span></div>
  <div class=&quot;mini nopan&quot; id=&quot;mini&quot; title=&quot;Klik om te springen&quot;><div class=&quot;mg&quot; id=&quot;mg&quot;></div></div>
  <div class=&quot;tb nopan&quot; aria-hidden=&quot;true&quot;>
    <div class=&quot;big&quot;>PEOPLES.ENGINEER</div>
    <div>Werkplan</div><div>Blad 1/1</div>
    <div>Schaal</div><div><b id=&quot;sc&quot;>1 : 1</b></div>
  </div>
  <div class=&quot;tour nopan&quot; id=&quot;tbar&quot; role=&quot;region&quot; aria-label=&quot;Rondleiding&quot; aria-live=&quot;polite&quot;></div>
  <div class=&quot;hint&quot; id=&quot;hint&quot;>Sleep om te verkennen · klik op een vak</div>
</div>
</div>
<div class=&quot;scrim&quot; id=&quot;scrim&quot;></div>
<aside id=&quot;dr&quot; role=&quot;dialog&quot; aria-modal=&quot;false&quot; aria-labelledby=&quot;dt&quot;>
  <div class=&quot;dh&quot; id=&quot;dhd&quot;></div>
  <div class=&quot;db&quot; id=&quot;dbd&quot;></div>
</aside>

<script type=&quot;application/json&quot; id=&quot;data&quot;>{&quot;phases&quot;: [{&quot;n&quot;: 0, &quot;name&quot;: &quot;Vooronderzoek&quot;, &quot;desc&quot;: &quot;Beslissen of het project bestaansrecht heeft, en onder welke voorwaarden.&quot;, &quot;q&quot;: &quot;Moeten we dit doen, en zijn we er klaar voor?&quot;, &quot;crit&quot;: []}, {&quot;n&quot;: 1, &quot;name&quot;: &quot;Voorbereiding&quot;, &quot;desc&quot;: &quot;Het project opzetten: governance, team, plan en de eerste mensen die de verandering dragen.&quot;, &quot;q&quot;: &quot;Kan de organisatie beginnen bouwen?&quot;, &quot;crit&quot;: []}, {&quot;n&quot;: 2, &quot;name&quot;: &quot;Ontwerp&quot;, &quot;desc&quot;: &quot;Van visie naar blauwdruk, voor het systeem én voor de organisatie.&quot;, &quot;q&quot;: &quot;Is het ontwerp solide en gedragen?&quot;, &quot;crit&quot;: []}, {&quot;n&quot;: 3, &quot;name&quot;: &quot;Bouw&quot;, &quot;desc&quot;: &quot;Het systeem en de menselijke kant tegelijk opbouwen.&quot;, &quot;q&quot;: &quot;Is alles klaar om te testen?&quot;, &quot;crit&quot;: []}, {&quot;n&quot;: 4, &quot;name&quot;: &quot;Test&quot;, &quot;desc&quot;: &quot;Bewijzen dat het werkt, technisch en menselijk.&quot;, &quot;q&quot;: &quot;Mogen we live gaan?&quot;, &quot;crit&quot;: []}, {&quot;n&quot;: 5, &quot;name&quot;: &quot;Overschakeling&quot;, &quot;desc&quot;: &quot;De gecontroleerde overgang naar de nieuwe situatie.&quot;, &quot;q&quot;: &quot;Is de organisatie gestabiliseerd?&quot;, &quot;crit&quot;: []}, {&quot;n&quot;: 6, &quot;name&quot;: &quot;Nazorg en afsluiting&quot;, &quot;desc&quot;: &quot;De nieuwe werkwijze inbedden en het project netjes afsluiten.&quot;, &quot;q&quot;: &quot;Is alles overgedragen en afgesloten?&quot;, &quot;crit&quot;: []}], &quot;lanes&quot;: [{&quot;id&quot;: &quot;L01&quot;, &quot;name&quot;: &quot;Strategie &amp; Waarde&quot;}, {&quot;id&quot;: &quot;L02&quot;, &quot;name&quot;: &quot;Leiderschap &amp; Governance&quot;}, {&quot;id&quot;: &quot;L03&quot;, &quot;name&quot;: &quot;Planning &amp; Uitvoering&quot;}, {&quot;id&quot;: &quot;L04&quot;, &quot;name&quot;: &quot;Processen &amp; Organisatie&quot;}, {&quot;id&quot;: &quot;L05&quot;, &quot;name&quot;: &quot;Mensen &amp; Capaciteit&quot;}, {&quot;id&quot;: &quot;L06&quot;, &quot;name&quot;: &quot;Technologie &amp; Data&quot;}, {&quot;id&quot;: &quot;L07&quot;, &quot;name&quot;: &quot;Stakeholders &amp; Communicatie&quot;}, {&quot;id&quot;: &quot;L08&quot;, &quot;name&quot;: &quot;Training &amp; Adoptie&quot;}, {&quot;id&quot;: &quot;GF&quot;, &quot;name&quot;: &quot;Het beslismoment zelf&quot;}], &quot;cells&quot;: {&quot;0-L01&quot;: {&quot;owner&quot;: &quot;de sponsor. De change manager voert uit&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De ambitie en de aanleiding zijn helder&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De Fit Scorecard toont of de organisatie dit nu kan dragen&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;0-L02&quot;: {&quot;owner&quot;: &quot;de sponsor. De change manager voert uit&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Het MT heeft zijn eigen gereedheid gemeten met de Readiness Reflection&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Het mandaat van de sponsor is getoetst&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Het Transformatiecharter is opgesteld en getekend&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Het besluit van beslismoment 0 is opgesteld en getekend&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;0-L03&quot;: {&quot;owner&quot;: &quot;de sponsor. De change manager voert uit&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;het vooronderzoek is gepland binnen tien werkdagen&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;0-L04&quot;: {&quot;owner&quot;: &quot;de sponsor. De change manager voert uit&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De Reality Map toont wat er echt speelt&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De diagnosedagen en de validatiesessie zijn gehouden&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;0-L05&quot;: {&quot;owner&quot;: &quot;de sponsor. De change manager voert uit&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De veranderbelasting van de organisatie is zichtbaar&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;0-L06&quot;: {&quot;owner&quot;: &quot;de sponsor. De change manager voert uit&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;We weten op hoofdlijnen welke processen en systemen de verandering raakt&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;0-L07&quot;: {&quot;owner&quot;: &quot;de sponsor. De change manager voert uit&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De belangrijkste stakeholders en de informele invloed zijn gekend&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;0-L08&quot;: {&quot;owner&quot;: &quot;Bewust leeg in het vooronderzoek: er zijn nog geen lane-eigenaars en adoptie komt pas na de scope; de adoptiehistoriek zit in de Reality Map&quot;, &quot;stories&quot;: [], &quot;docs&quot;: []}, &quot;0-GF&quot;: {&quot;owner&quot;: &quot;De stuurgroep beslist, de programmamanager bereidt het dossier voor, de sponsor tekent&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De criteria voor beslismoment 0 zijn vooraf gekend&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;beslismoment 0 heeft beslist of starten verantwoord is&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;1-L01&quot;: {&quot;owner&quot;: &quot;Sponsor&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Alles wat in het vooronderzoek beslist werd, staat in de projectopdracht&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Op één blad staat wat het project oplevert, en wat uitdrukkelijk niet&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De directie heeft bevestigd wat het project moet opbrengen en hoe we dat meten&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Elke leidinggevende kan in twee zinnen uitleggen waarom we dit doen, en waarom nu&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Elke verwachte opbrengst heeft een eigenaar en een datum waarop we ze meten&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;1-L02&quot;: {&quot;owner&quot;: &quot;Programmamanager (sponsor betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Iedereen weet wie wat beslist, en die vergaderingen vinden ook echt plaats&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De sponsor en het MT staan zelf voor de mensen, niet alleen de projectleider&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Een paar eigen mensen draaien mee in de projectleiding en leren hoe het werkt&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De stuurgroep is samengekomen en is het eens over doel, scope en budget&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM+CM&quot;}, {&quot;pc&quot;: &quot;PM+CM&quot;}, {&quot;pc&quot;: &quot;PM+CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;1-L03&quot;: {&quot;owner&quot;: &quot;Projectmanager&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De partner is gekozen, en de keuze is onderbouwd met wat we willen bereiken&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;In het contract hangen de opleveringen en betalingen van de partner aan onze beslismomenten&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Er is één planning waarin het systeem en de mensenkant samen staan&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Al het werk staat in Jira, en de partner heeft het mee nagekeken&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Elke week volgen we samen de planning en de mensenkant op&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;We weten welke afdelingen of sites eerst overgaan, en welke later&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De kick-off met het hele team, partner inbegrepen, heeft plaatsgevonden&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM+CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM+CM&quot;}, {&quot;pc&quot;: &quot;PM+CM&quot;}]}, {&quot;t&quot;: &quot;De offerteaanvraag is vertrokken, met alle vereisten erin&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;1-L04&quot;: {&quot;owner&quot;: &quot;Business process owner (HR betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;We hebben op papier hoe het bedrijf vandaag werkt: wie doet wat, in welk proces&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De ondernemingsraad en de vakbond zijn op tijd en correct geïnformeerd&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;1-L05&quot;: {&quot;owner&quot;: &quot;Lijnmanagement&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De mensen voor het project zijn echt vrijgemaakt, met naam en aantal dagen&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;We meten geregeld hoe zwaar het project op de mensen weegt&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;1-L06&quot;: {&quot;owner&quot;: &quot;IT-lead / architect&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Elk systeem en elke soort data heeft een eigenaar met naam&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;We weten hoe de gebruikers tegenover het nieuwe systeem staan: hun twijfels en verwachtingen&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Voor de datamigratie is beslist wie wat doet en tegen wanneer&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;1-L07&quot;: {&quot;owner&quot;: &quot;Change lead (communicatie betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;We weten wie geraakt wordt, en wanneer we wie wat vertellen&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Medewerkers weten waar ze met hun vragen terechtkunnen, en ze krijgen antwoord&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Elke site heeft het verhaal van de eigen chef gehoord, en de mensen kunnen het in eigen woorden uitleggen&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;In elke afdeling is er iemand die meedenkt en signalen doorgeeft&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;1-L08&quot;: {&quot;owner&quot;: &quot;Trainingsverantwoordelijke&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;We hebben op hoofdlijnen afgesproken wanneer het systeem \&quot;goed gebruikt\&quot; wordt&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De teamleiders weten wat er voor henzelf verandert, en zijn daarop voorbereid&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;1-GF&quot;: {&quot;owner&quot;: &quot;De stuurgroep beslist, de programmamanager bereidt het dossier voor, de sponsor tekent&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De criteria voor beslismoment 1 zijn vanaf dag één gekend&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De gereedheid voor beslismoment 1 is gemeten&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Het dossier voor beslismoment 1 is volledig&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;beslismoment 1 heeft beslist&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De beslissing van beslismoment 1 en de voorwaarden zijn opgevolgd&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De lessen van fase 1 zijn vastgelegd&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;2-L01&quot;: {&quot;owner&quot;: &quot;Sponsor&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Het ontwerp blijft binnen de scope en de business case&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;2-L02&quot;: {&quot;owner&quot;: &quot;Programmamanager (sponsor betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De ontwerpbeslissingen zijn genomen en gedragen&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;2-L03&quot;: {&quot;owner&quot;: &quot;Projectmanager&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Het ontwerp is gepland en wordt opgevolgd&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Het project en de verandering worden elke week opgevolgd (Ontwerp)&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De partner stuurt zijn levering (Ontwerp)&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;2-L04&quot;: {&quot;owner&quot;: &quot;Business process owner (HR betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De toekomstige processen en organisatie zijn ontworpen&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Elke medewerker kan zien wat er voor hem verandert&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Er is beslist welk gedrag stopt&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De impact is per afdeling of site in detail uitgewerkt&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Het toekomstige proces is per domein ontworpen en getoetst aan de standaard&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;2-L05&quot;: {&quot;owner&quot;: &quot;Lijnmanagement&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De impact op werklast en welzijn is gekend&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;2-L06&quot;: {&quot;owner&quot;: &quot;IT-lead / architect&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;We kennen de aanpassingen achter het scherm&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Het oplossingsontwerp van de uitvoeringspartner is goedgekeurd&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Het vertrouwen in het systeem is meegenomen in het ontwerp&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Elke gap heeft een beslissing&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Er is beslist wat gemigreerd en wat gearchiveerd wordt&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Het ontwerpdocument is geschreven en goedgekeurd&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;2-L07&quot;: {&quot;owner&quot;: &quot;Change lead (communicatie betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Het ontwerp is gedeeld en de reacties worden opgevolgd&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;2-L08&quot;: {&quot;owner&quot;: &quot;Trainingsverantwoordelijke&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De adoptieaanpak en het meetplan staan&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;2-GF&quot;: {&quot;owner&quot;: &quot;De stuurgroep beslist, de programmamanager bereidt het dossier voor, de sponsor tekent&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De criteria voor beslismoment 2 zijn vanaf dag één gekend&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De gereedheid voor beslismoment 2 is gemeten&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Het dossier voor beslismoment 2 is volledig&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;beslismoment 2 heeft beslist&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De beslissing van beslismoment 2 en de voorwaarden zijn opgevolgd&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De lessen van fase 2 zijn vastgelegd&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;3-L01&quot;: {&quot;owner&quot;: &quot;Sponsor&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De waarde blijft bewaakt tijdens de bouw&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;3-L02&quot;: {&quot;owner&quot;: &quot;Programmamanager (sponsor betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De leiders blijven zichtbaar nu de verandering concreet wordt&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De stuurgroep ziet de gereedheid van de mensen naast de voortgang&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;3-L03&quot;: {&quot;owner&quot;: &quot;Projectmanager&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De bouw wordt opgevolgd en de test is voorbereid&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Het project en de verandering worden elke week opgevolgd (Bouw)&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De gebruikerstest is voorbereid&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De partner stuurt zijn levering (Bouw)&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;3-L04&quot;: {&quot;owner&quot;: &quot;Business process owner (HR betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De overgang per rol is klaar&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;3-L05&quot;: {&quot;owner&quot;: &quot;Lijnmanagement&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Wie het moeilijk heeft, krijgt ondersteuning&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;3-L06&quot;: {&quot;owner&quot;: &quot;IT-lead / architect&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De oplossing is gebouwd en klaar voor de test&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De gebruikers zien de oplossing groeien&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Het standaardpakket is per domein ingericht&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Het maatwerk is gebouwd, First Time Right en robuust&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De rapporten, documenten en integraties zijn gebouwd&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De proefladingen zijn uitgevoerd en afgetekend&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Maatwerk Klein – [naam van het item] (sjabloon)&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Maatwerk Middel – [naam van het item] (sjabloon)&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Maatwerk Groot – [naam van het item] (sjabloon)&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;3-L07&quot;: {&quot;owner&quot;: &quot;Change lead (communicatie betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Communicatie en dialoog werken in het vaste ritme&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;3-L08&quot;: {&quot;owner&quot;: &quot;Trainingsverantwoordelijke&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De training en de pilot zijn voorbereid, en de key users kunnen zelf opleiden&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;3-GF&quot;: {&quot;owner&quot;: &quot;De stuurgroep beslist, de programmamanager bereidt het dossier voor, de sponsor tekent&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De criteria voor beslismoment 3 zijn vanaf dag één gekend&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De gereedheid voor beslismoment 3 is gemeten&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Het dossier voor beslismoment 3 is volledig&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;beslismoment 3 heeft beslist&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De beslissing van beslismoment 3 en de voorwaarden zijn opgevolgd&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De lessen van fase 3 zijn vastgelegd&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;4-L01&quot;: {&quot;owner&quot;: &quot;Sponsor&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De business case is herbekeken vóór de go-live&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;4-L02&quot;: {&quot;owner&quot;: &quot;Programmamanager (sponsor betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De leiders dragen de beslissing om live te gaan&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Een onafhankelijke review bevestigt de gereedheid vóór de go-live&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;4-L03&quot;: {&quot;owner&quot;: &quot;Projectmanager&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De testcycli zijn doorlopen en de overschakeling is gerepeteerd&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Het project en de verandering worden elke week opgevolgd (Test)&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De partner stuurt zijn levering (Test)&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;4-L04&quot;: {&quot;owner&quot;: &quot;Business process owner (HR betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De nieuwe rollen zijn bemand en de mandaten zijn duidelijk&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;4-L05&quot;: {&quot;owner&quot;: &quot;Lijnmanagement&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De werklast in de eerste weken na de go-live is haalbaar&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;4-L06&quot;: {&quot;owner&quot;: &quot;IT-lead / architect&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De oplossing is technisch klaar om live te gaan&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;4-L07&quot;: {&quot;owner&quot;: &quot;Change lead (communicatie betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De go-livecommunicatie is klaar voor alle doelgroepen&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;4-L08&quot;: {&quot;owner&quot;: &quot;Trainingsverantwoordelijke&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Echte gebruikers kunnen met de nieuwe werkwijze werken&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;4-GF&quot;: {&quot;owner&quot;: &quot;De stuurgroep beslist, de programmamanager bereidt het dossier voor, de sponsor tekent&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De criteria voor beslismoment 4 zijn vanaf dag één gekend&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De gereedheid voor beslismoment 4 is gemeten&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Het dossier voor beslismoment 4 is volledig&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;beslismoment 4 heeft beslist&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De beslissing van beslismoment 4 en de voorwaarden zijn opgevolgd&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De lessen van fase 4 zijn vastgelegd&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;5-L01&quot;: {&quot;owner&quot;: &quot;Sponsor&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De eerste resultaten worden gemeten&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;5-L02&quot;: {&quot;owner&quot;: &quot;Programmamanager (sponsor betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De leiders zijn aanwezig tijdens de overgang&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;5-L03&quot;: {&quot;owner&quot;: &quot;Projectmanager&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De overgang is uitgevoerd volgens het draaiboek&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Het project en de verandering worden elke week opgevolgd (overschakeling)&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De partner stuurt zijn levering (overschakeling)&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;5-L04&quot;: {&quot;owner&quot;: &quot;Business process owner (HR betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De nieuwe rollen zijn live en worden begeleid&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;5-L05&quot;: {&quot;owner&quot;: &quot;Lijnmanagement&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Er is ondersteuning in elke ploeg en op elke site&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;5-L06&quot;: {&quot;owner&quot;: &quot;IT-lead / architect&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Het systeem is live en stabiel&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;5-L07&quot;: {&quot;owner&quot;: &quot;Change lead (communicatie betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Het communicatieritme houdt stand tijdens de overgang&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;5-L08&quot;: {&quot;owner&quot;: &quot;Trainingsverantwoordelijke&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Er is hulp op de werkvloer en de successen zijn zichtbaar&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De adoptie wordt per golf gemeten en bijgestuurd&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;5-GF&quot;: {&quot;owner&quot;: &quot;De stuurgroep beslist, de programmamanager bereidt het dossier voor, de sponsor tekent&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De criteria voor beslismoment 5 zijn vanaf dag één gekend&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De gereedheid voor beslismoment 5 is gemeten&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Het dossier voor beslismoment 5 is volledig&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;beslismoment 5 heeft beslist&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De beslissing van beslismoment 5 en de voorwaarden zijn opgevolgd&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De lessen van fase 5 zijn vastgelegd&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;6-L01&quot;: {&quot;owner&quot;: &quot;Sponsor&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Het project is financieel afgesloten en de impact is gerapporteerd&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De overdracht naar Verankering is geregeld&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;6-L02&quot;: {&quot;owner&quot;: &quot;Programmamanager (sponsor betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Het project is formeel aanvaard en afgesloten&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;6-L03&quot;: {&quot;owner&quot;: &quot;Projectmanager&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De contracten met de partner en de leveranciers zijn afgesloten&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;Het project en de verandering worden elke week opgevolgd (nazorg &amp; Afsluiting)&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De partner stuurt zijn levering (nazorg &amp; Afsluiting)&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;6-L04&quot;: {&quot;owner&quot;: &quot;Business process owner (HR betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De nieuwe organisatie is verankerd in de lijn&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;6-L05&quot;: {&quot;owner&quot;: &quot;Lijnmanagement&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;Het projectteam is teruggeleid en de middelen zijn opgeruimd&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De interne trekkers kunnen de volgende verandering zelf voorbereiden&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;6-L06&quot;: {&quot;owner&quot;: &quot;IT-lead / architect&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De legacy is uitgefaseerd en het beheer is overgedragen&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De partner ondersteunt tijdens de nazorg&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;6-L07&quot;: {&quot;owner&quot;: &quot;Change lead (communicatie betrokken)&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De ambassadeurs zijn ingebed en iedereen is bedankt&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}, &quot;6-L08&quot;: {&quot;owner&quot;: &quot;Trainingsverantwoordelijke&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De adoptie is duurzaam en de kennis is geborgd&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}]}], &quot;docs&quot;: []}, &quot;6-GF&quot;: {&quot;owner&quot;: &quot;De stuurgroep beslist, de programmamanager bereidt het dossier voor, de sponsor tekent&quot;, &quot;stories&quot;: [{&quot;t&quot;: &quot;De criteria voor beslismoment 6 zijn vanaf dag één gekend&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De gereedheid voor beslismoment 6 is gemeten&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;Het dossier voor beslismoment 6 is volledig&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;beslismoment 6 heeft beslist&quot;, &quot;pc&quot;: &quot;PM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}]}, {&quot;t&quot;: &quot;De beslissing van beslismoment 6 en de voorwaarden zijn opgevolgd&quot;, &quot;pc&quot;: &quot;PM+CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;PM&quot;}, {&quot;pc&quot;: &quot;CM&quot;}]}, {&quot;t&quot;: &quot;De lessen van fase 6 zijn vastgelegd&quot;, &quot;pc&quot;: &quot;CM&quot;, &quot;tasks&quot;: [{&quot;pc&quot;: &quot;CM&quot;}]}], &quot;docs&quot;: []}}, &quot;always&quot;: [], &quot;blad&quot;: {}, &quot;pub&quot;: {&quot;cta&quot;: &quot;https://peoples.engineer/contact&quot;}}</script>
<script>
(()=>{
const D=JSON.parse(document.getElementById('data').textContent);
const $=s=>document.querySelector(s);
const esc=s=>String(s??'').replace(/[&amp;<>&quot;]/g,c=>({'&amp;':'&amp;amp;','<':'&amp;lt;','>':'&amp;gt;','&quot;':'&amp;quot;'}[c]));
const vp=$('#vp'),world=$('#world'),cols=$('#cols'),rows=$('#rows'),dr=$('#dr'),scrim=$('#scrim');
const P=D.phases,L=D.lanes,C=D.cells;const PUB=!!D.pub;const CTA=()=>`<div class=&quot;bl-adv&quot; style=&quot;margin-top:18px&quot;><b>Hoe zou dit bij u werken?</b>Achter elk vak zitten de concrete taken, de afspraken over wanneer iets klaar is, en de documenten. Die werken we samen met u uit, op maat van uw project.<br><a class=&quot;btn pri&quot; style=&quot;margin-top:10px&quot; href=&quot;${esc(D.pub.cta)}&quot; target=&quot;_top&quot;>Plan een gesprek</a></div>`;
const CW=250,GAP=46,RH=176,RHG=124,RG=14;
const mobile=()=>innerWidth<=720;
let LW=mobile()?118:200,HH=mobile()?78:104;
const X=i=>i*(CW+GAP), W=P.length*(CW+GAP);
const Ys=[];let yy=0;L.forEach(l=>{Ys.push(yy);yy+=(l.id==='GF'?RHG:RH)+RG});const H=yy-RG;
const RHof=l=>l.id==='GF'?RHG:RH;
let tx=0,ty=0,s=1,filter='all',sel=null;
const mt=pc=>filter==='all'||pc.includes(filter);
const cls=pc=>pc==='CM'?'cm':pc==='PM'?'':'bo';
const chip=pc=>`<span class=&quot;chip ${pc==='CM'?'c':pc==='PM'?'p':'b'}&quot;>${pc==='CM'?'MENSEN':pc==='PM'?'PROJECT':'SAMEN'}</span>`;
const cap=t=>t?t.charAt(0).toUpperCase()+t.slice(1):t;
const split=t=>{const m=/^([A-Z]+\d*[a-z]?)\s+—\s+(.*)$/.exec(t);return m?[m[1],cap(m[2])]:['',cap(t)]};
const VAR={Standard:'Vanaf middelgrote projecten',Complex:'Enkel bij grote projecten'};

/* stats */
let nS=0,nT=0,nC=0;Object.values(C).forEach(c=>{nS+=c.stories.length;c.stories.forEach(s=>nT+=s.tasks.length)});P.forEach(p=>nC+=p.crit.length);
$('#sub').innerHTML=`<b>${P.length}</b> fasen · <b>${L.length-1}</b> domeinen · <b>${P.length}</b> beslismomenten — <b>${nS}</b> resultaten${PUB?'':`, <b>${nT}</b> taken, <b>${nC}</b> criteria`}.`;

/* build world */
let h='';
P.forEach((p,i)=>{
  L.forEach((l,j)=>{
    const k=p.n+'-'+l.id,c=C[k];if(!c)return;
    h+=`<button class=&quot;cell${l.id==='GF'?' gf':''}&quot; data-k=&quot;${k}&quot; style=&quot;left:${X(i)}px;top:${Ys[j]}px;width:${CW}px;height:${RHof(l)}px&quot; aria-label=&quot;${esc(p.name)} — ${esc(l.name)}&quot;></button>`;
  });
  h+=`<div class=&quot;gline&quot; style=&quot;left:${X(i)+CW+GAP/2}px;height:${H+30}px&quot;></div>`;
});
world.innerHTML=h;
world.style.width=W+'px';world.style.height=H+'px';
const cellEls=[...world.querySelectorAll('.cell')];

function paintCells(){
  cellEls.forEach(el=>{
    const c=C[el.dataset.k],st=c.stories;
    let p=0,m=0,b=0;st.forEach(s=>s.tasks.forEach(t=>t.pc==='PM'?p++:t.pc==='CM'?m++:b++));
    const tot=p+m+b||1;
    const hit=st.filter(s=>mt(s.pc)).length;
    const nt=st.reduce((a,s)=>a+s.tasks.filter(t=>mt(t.pc)).length,0);
    const gf=el.classList.contains('gf');const max=gf?2:5;
    const items=st.slice(0,max).map(s=>`<li class=&quot;${cls(s.pc)}${mt(s.pc)?'':' off'}&quot;>${esc(split(s.t)[1])}</li>`).join('')+(st.length>max?`<li class=&quot;more&quot;>+ ${st.length-max} meer</li>`:'');
    el.innerHTML=`<div class=&quot;c-top&quot;><span><b>${hit}</b>${hit===1?'resultaat':'resultaten'}</span><span>${PUB?'':nt+' taken'}</span></div>
    <div class=&quot;bar&quot;><i class=&quot;p&quot; style=&quot;width:${p/tot*100}%&quot;></i><i class=&quot;b&quot; style=&quot;width:${b/tot*100}%&quot;></i><i class=&quot;c&quot; style=&quot;width:${m/tot*100}%&quot;></i></div>
    <ul class=&quot;tl&quot;>${items}</ul>`;
    el.classList.toggle('dim',hit===0);
  });
}
paintCells();

/* headers */
cols.innerHTML=P.map((p,i)=>`<button class=&quot;ph&quot; data-p=&quot;${i}&quot;><span class=&quot;num&quot;>FASE ${p.n}</span><span class=&quot;nm&quot;>${esc(p.name)}</span><span class=&quot;ds&quot;>${esc(p.desc)}</span></button>`).join('')+
  P.map((p,i)=>`<button class=&quot;gb&quot; data-g=&quot;${i}&quot; aria-label=&quot;Beslismoment ${p.n}: ${esc(p.q)}&quot; title=&quot;Beslismoment ${p.n}&quot;>${p.n}</button>`).join('');
rows.innerHTML=L.map((l,j)=>`<button class=&quot;ln${l.id==='GF'?' gf':''}&quot; data-l=&quot;${j}&quot;><span class=&quot;code&quot;>${l.id==='GF'?'◆':'DOMEIN '+l.id.slice(1)}</span><span class=&quot;nm&quot;>${esc(l.name)}</span></button>`).join('');
const phEls=[...cols.querySelectorAll('.ph')],gbEls=[...cols.querySelectorAll('.gb')],lnEls=[...rows.querySelectorAll('.ln')];

/* minimap */
const MS=150/W,mg=$('#mg');
mg.style.width=W*MS+'px';mg.style.height=H*MS+'px';
mg.innerHTML=P.map((p,i)=>L.map((l,j)=>`<i class=&quot;${l.id==='GF'?'gfm':''}&quot; style=&quot;left:${X(i)*MS}px;top:${Ys[j]*MS}px;width:${CW*MS}px;height:${RHof(l)*MS}px&quot;></i>`).join('')).join('')+'<div class=&quot;vr&quot; id=&quot;vr&quot;></div>';
const vr=$('#vr');

/* view */
function vw(){return vp.clientWidth} function vh(){return vp.clientHeight}
function clampPan(){
  const minX=vw()-LW-W*s-vw()*.5, maxX=120, minY=vh()-HH-H*s-vh()*.6, maxY=60;
  tx=Math.min(maxX,Math.max(Math.min(minX,maxX),tx));
  ty=Math.min(maxY,Math.max(Math.min(minY,maxY),ty));
}
function apply(){
  clampPan();
  document.documentElement.style.setProperty('--lw',LW+'px');document.documentElement.style.setProperty('--hh',HH+'px');
  const ox=LW+tx,oy=HH+ty;
  world.style.transform=`translate(${ox}px,${oy}px) scale(${s})`;
  world.classList.toggle('lo',s<.62);
  phEls.forEach((el,i)=>{el.style.transform=`translateX(${tx+X(i)*s}px)`;el.style.width=CW*s+'px'});
  gbEls.forEach((el,i)=>{el.style.left=tx+(X(i)+CW+GAP/2)*s+'px'});
  lnEls.forEach((el,j)=>{el.style.transform=`translateY(${ty+Ys[j]*s}px)`;el.style.height=RHof(L[j])*s+'px'});
  cols.classList.toggle('narrow',CW*s<190);cols.classList.toggle('tiny',CW*s<120);
  rows.classList.toggle('short',RH*s<70);
  const g1=24*s,g2=g1*5;
  vp.style.backgroundSize=`${g2}px ${g2}px,${g2}px ${g2}px,${g1}px ${g1}px,${g1}px ${g1}px`;
  vp.style.backgroundPosition=`${ox}px ${oy}px`;
  $('#zv').textContent=Math.round(s*100)+'%';
  $('#sc').textContent='1 : '+(1/s).toFixed(2).replace('.',',');
  const x0=-tx/s,y0=-ty/s,w0=(vw()-LW)/s,h0=(vh()-HH)/s;
  const cx=Math.max(0,x0),cy=Math.max(0,y0);
  vr.style.left=cx*MS+'px';vr.style.top=cy*MS+'px';
  vr.style.width=Math.max(4,(Math.min(W,x0+w0)-cx)*MS)+'px';vr.style.height=Math.max(4,(Math.min(H,y0+h0)-cy)*MS)+'px';
}
const RM=matchMedia('(prefers-reduced-motion: reduce)');
let anim=0;
function go(nt,ny,ns,dur=420){
  cancelAnimationFrame(anim);
  if(RM.matches||!dur){tx=nt;ty=ny;s=ns;apply();return}
  const a={tx,ty,s},t0=performance.now();
  const step=t=>{const k=Math.min(1,(t-t0)/dur),e=1-Math.pow(1-k,3);
    tx=a.tx+(nt-a.tx)*e;ty=a.ty+(ny-a.ty)*e;s=a.s+(ns-a.s)*e;apply();if(k<1)anim=requestAnimationFrame(step)};
  anim=requestAnimationFrame(step);
}
const clampS=v=>Math.min(1.8,Math.max(.22,v));
function fitView(dur){
  const ns=clampS(Math.min((vw()-LW-36)/W,(vh()-HH-40)/H));
  go(((vw()-LW)-W*ns)/2,18,ns,dur);
}
function zoomAt(px,py,ns,dur=0){
  ns=clampS(ns);const wx=(px-LW-tx)/s,wy=(py-HH-ty)/s;
  go(px-LW-wx*ns,py-HH-wy*ns,ns,dur);
}
function startView(){
  // land on a readable zoom at the start of the plan on wide screens, fit otherwise
  const fs=Math.min((vw()-LW-36)/W,(vh()-HH-40)/H);
  if(fs>=.55)fitView(0); else {s=mobile()?.62:.78;tx=16;ty=14;apply()}
}

/* pointer: drag + pinch */
const ptrs=new Map();let dragged=false,st0=null,pin=null;
const rel=e=>{const r=vp.getBoundingClientRect();return{x:e.clientX-r.left,y:e.clientY-r.top}};
vp.addEventListener('pointerdown',e=>{
  if(e.pointerType==='mouse'&amp;&amp;e.button!==0)return;
  if(e.target.closest('.nopan'))return;
  cancelAnimationFrame(anim);
  ptrs.set(e.pointerId,rel(e));
  if(ptrs.size===1){dragged=false;const p=rel(e);st0={x:p.x,y:p.y,tx,ty}}
  else if(ptrs.size===2){const [a,b]=[...ptrs.values()];const m={x:(a.x+b.x)/2,y:(a.y+b.y)/2};
    pin={d:Math.hypot(a.x-b.x,a.y-b.y)||1,s,wx:(m.x-LW-tx)/s,wy:(m.y-HH-ty)/s};dragged=true}
});
addEventListener('pointermove',e=>{
  if(!ptrs.has(e.pointerId))return;
  ptrs.set(e.pointerId,rel(e));
  if(ptrs.size===1&amp;&amp;st0){const p=rel(e),dx=p.x-st0.x,dy=p.y-st0.y;
    if(!dragged&amp;&amp;Math.hypot(dx,dy)>5){dragged=true;vp.classList.add('grabbing');hideHint()}
    if(dragged){tx=st0.tx+dx;ty=st0.ty+dy;apply()}}
  else if(ptrs.size===2&amp;&amp;pin){const [a,b]=[...ptrs.values()];const m={x:(a.x+b.x)/2,y:(a.y+b.y)/2};
    s=clampS(pin.s*Math.hypot(a.x-b.x,a.y-b.y)/pin.d);tx=m.x-LW-pin.wx*s;ty=m.y-HH-pin.wy*s;apply();hideHint()}
});
const up=e=>{if(!ptrs.delete(e.pointerId))return;
  if(ptrs.size===1){const p=[...ptrs.values()][0];st0={x:p.x,y:p.y,tx,ty};pin=null}
  if(ptrs.size===0){vp.classList.remove('grabbing');pin=null;st0=null}};
addEventListener('pointerup',up);addEventListener('pointercancel',up);
vp.addEventListener('wheel',e=>{
  if(e.target.closest('.nopan'))return;
  e.preventDefault();cancelAnimationFrame(anim);hideHint();
  const dy=e.deltaMode===1?e.deltaY*16:e.deltaY,dx=e.deltaMode===1?e.deltaX*16:e.deltaX;
  if(e.ctrlKey||e.metaKey){const p=rel(e);zoomAt(p.x,p.y,s*Math.exp(-dy*.01))}
  else if(e.shiftKey&amp;&amp;!dx){tx-=dy;apply()} else {tx-=dx;ty-=dy;apply()}
},{passive:false});
vp.addEventListener('click',e=>{
  if(dragged){dragged=false;return}
  const c=e.target.closest('[data-k]'),ph=e.target.closest('[data-p]'),g=e.target.closest('[data-g]'),ln=e.target.closest('[data-l]');
  if(c)openCell(c.dataset.k);else if(g)openGate(+g.dataset.g);else if(ph)openPhase(+ph.dataset.p);else if(ln)openLane(+ln.dataset.l);
});
$('#mini').addEventListener('click',e=>{const r=mg.getBoundingClientRect();const wx=(e.clientX-r.left)/MS,wy=(e.clientY-r.top)/MS;
  go(-(wx*s-(vw()-LW)/2),-(wy*s-(vh()-HH)/2),s,350)});
$('#zi').onclick=()=>zoomAt(LW+(vw()-LW)/2,HH+(vh()-HH)/2,s*1.3,260);
$('#zo').onclick=()=>zoomAt(LW+(vw()-LW)/2,HH+(vh()-HH)/2,s/1.3,260);
$('#fit').onclick=()=>fitView();
$('#alw').onclick=openAlways;
function setFilter(f){
  filter=f;document.querySelectorAll('.seg button').forEach(x=>x.setAttribute('aria-pressed',x.dataset.f===f));paintCells();
  if(sel&amp;&amp;sel.type==='cell')openCell(sel.k,true);
}
document.querySelectorAll('.seg button').forEach(b=>b.onclick=()=>setFilter(b.dataset.f));
addEventListener('keydown',e=>{
  if(ti>=0){
    if(e.key==='ArrowRight'||e.key===' '||e.key==='PageDown'){e.preventDefault();tourGo(ti+1);return}
    if(e.key==='ArrowLeft'||e.key==='PageUp'){e.preventDefault();tourGo(ti-1);return}
    if(e.key==='Escape'){tourStop();return}
  }
  if(e.key==='Escape'){close();return}
  if(dr.contains(document.activeElement)&amp;&amp;dr.classList.contains('on'))return;
  if(/INPUT|TEXTAREA/.test(document.activeElement.tagName))return;
  const step=80;let used=true;
  if(e.key==='ArrowLeft')tx+=step;else if(e.key==='ArrowRight')tx-=step;else if(e.key==='ArrowUp')ty+=step;else if(e.key==='ArrowDown')ty-=step;
  else if(e.key==='+'||e.key==='=')$('#zi').click();else if(e.key==='-')$('#zo').click();else if(e.key==='0')fitView();else used=false;
  if(used){e.preventDefault();apply();hideHint()}
});
let hintT=setTimeout(hideHint,7000);
function hideHint(){$('#hint').classList.add('gone');clearTimeout(hintT)}

/* drawer */
let lastFocus=null;
function show(head,body,s2){
  $('#dhd').innerHTML=head+'<button class=&quot;x&quot; id=&quot;dx&quot; aria-label=&quot;Sluiten&quot;>×</button>';
  $('#dbd').innerHTML=body;$('#dbd').scrollTop=0;
  if(!dr.classList.contains('on'))lastFocus=document.activeElement;
  dr.classList.add('on');scrim.classList.toggle('on',mobile());
  $('#dx').onclick=close;sel=s2;markSel();
  $('#dbd').querySelectorAll('[data-k]').forEach(b=>b.onclick=()=>openCell(b.dataset.k));
  $('#dbd').querySelectorAll('[data-g]').forEach(b=>b.onclick=()=>openGate(+b.dataset.g));
  $('#dbd').querySelectorAll('[data-p]').forEach(b=>b.onclick=()=>openPhase(+b.dataset.p));
  $('#dbd').querySelectorAll('[data-l]').forEach(b=>b.onclick=()=>openLane(+b.dataset.l));
  hideHint();
}
function close(){if(!dr.classList.contains('on'))return;dr.classList.remove('on');scrim.classList.remove('on');sel=null;markSel();if(lastFocus&amp;&amp;lastFocus.focus)lastFocus.focus({preventScroll:true})}
scrim.onclick=close;
function markSel(){cellEls.forEach(el=>el.classList.toggle('on',!!sel&amp;&amp;sel.type==='cell'&amp;&amp;sel.k===el.dataset.k))}
function reveal(k){
  const el=world.querySelector(`[data-k=&quot;${k}&quot;]`);if(!el)return;
  const x=parseFloat(el.style.left),y=parseFloat(el.style.top),w=CW,hh=parseFloat(el.style.height);
  const sx=LW+tx+x*s,sy=HH+ty+y*s,right=mobile()?vw():vw()-Math.min(460,vw()),bottom=mobile()?vh()*.18+HH:vh();
  let nt=tx,ny=ty;
  if(sx+w*s>right-20)nt-=sx+w*s-(right-20);if(sx<LW+20)nt+=LW+20-sx;
  if(mobile()){ny=ty-(sy-HH-12)}else{if(sy+hh*s>bottom-20)ny-=sy+hh*s-(bottom-20);if(sy<HH+20)ny+=HH+20-sy}
  if(nt!==tx||ny!==ty)go(nt,ny,s,300);
}
function storyHTML(st,open){
  const [cd,t]=split(st.t);
  const meta=[];if(st.m&amp;&amp;st.m!=='Kern')meta.push(`<span class=&quot;chip m&quot;>${esc(st.m.toUpperCase())}</span>`);if(VAR[st.v])meta.push(`<span class=&quot;chip m&quot;>${esc(VAR[st.v].toUpperCase())}</span>`);
  const tk=st.tasks.filter(x=>mt(x.pc));
  if(PUB)return `<div class=&quot;rowlink&quot; style=&quot;cursor:default&quot;><span><span class=&quot;n&quot;>${esc(t)}</span></span><span>${chip(st.pc)}</span></div>`;
  return `<details${open?' open':''}${mt(st.pc)?'':' style=&quot;opacity:.45&quot;'}><summary><span class=&quot;cd&quot;>${esc(cd)}</span><span class=&quot;tt&quot;>${esc(t)}</span><span class=&quot;ar&quot;>›</span></summary>
  <div class=&quot;dd&quot;>${meta.length?`<div class=&quot;meta&quot;>${chip(st.pc)}${meta.join('')}</div>`:`<div class=&quot;meta&quot;>${chip(st.pc)}</div>`}
  <p>${esc(st.o)}</p>${st.d?`<div class=&quot;done&quot;><b>Klaar als</b>${esc(st.d)}</div>`:''}
  ${tk.length?`<div class=&quot;sec&quot; style=&quot;margin-top:4px&quot;><span>Taken</span><span>${tk.length}</span></div><ul class=&quot;tasks&quot;>${tk.map(x=>`<li><span class=&quot;tn&quot;>${esc(x.t)}</span>${chip(x.pc)}${x.who?`<span class=&quot;tw&quot;>${esc(x.who)}</span>`:''}</li>`).join('')}</ul>`:''}
  </div></details>`;
}
function openCell(k,keep){
  const [pn,lid]=k.split('-');const pi=P.findIndex(p=>String(p.n)===pn),li=L.findIndex(l=>l.id===lid);const p=P[pi],l=L[li],c=C[k];
  const head=`<div class=&quot;eyebrow&quot;>Fase ${esc(p.n)} · ${esc(p.name)}</div><h2 id=&quot;dt&quot;>${esc(l.name)}</h2>${c.owner?`<div class=&quot;who&quot;><b>Eigenaar:</b> ${esc(c.owner)}</div>`:''}
   <div class=&quot;nav&quot;>${pi>0?`<button class=&quot;btn&quot; data-k=&quot;${P[pi-1].n}-${lid}&quot;>← ${esc(P[pi-1].name)}</button>`:''}${pi<P.length-1?`<button class=&quot;btn&quot; data-k=&quot;${P[pi+1].n}-${lid}&quot;>${esc(P[pi+1].name)} →</button>`:''}<button class=&quot;btn&quot; data-g=&quot;${pi}&quot;>◆ Beslismoment ${esc(p.n)}</button></div>`;
  const vis=c.stories;
  let body=`<div class=&quot;sec&quot;><span>Resultaten</span><span>${vis.length}</span></div>`+vis.map((s,i)=>storyHTML(s,vis.length===1)).join('');
  const cr=p.crit.filter(x=>x.lane===lid);
  if(PUB){}else if(lid==='GF')body+=`<div class=&quot;sec&quot;><span>Criteria van beslismoment ${esc(p.n)}</span><span>${p.crit.length} · ${p.crit.filter(c=>c.must).length} moet</span></div><div class=&quot;q&quot; style=&quot;font-size:17px;margin-top:4px&quot;>${esc(p.q)}</div>`+critList(p.crit,true);
  else if(cr.length)body+=`<div class=&quot;sec&quot;><span>Telt mee op beslismoment ${esc(p.n)}</span></div>`+critList(cr,false);
  if(PUB)body+=CTA();
  else if(c.docs.length)body+=`<div class=&quot;sec&quot;><span>Documenten</span><span>${c.docs.length}</span></div><ul class=&quot;docs&quot;>${c.docs.map(d=>`<li><span class=&quot;id&quot;>${esc(d.id)}</span><span>${esc(d.n)}${d.o?`<span class=&quot;o&quot;>${esc(d.o)}</span>`:''}</span></li>`).join('')}</ul>`;
  show(head,body,{type:'cell',k});if(!keep)reveal(k);
}
function critList(cr,heads){
  if(!heads)return `<div class=&quot;crit&quot;><ul>${cr.map(critItems).join('')}</ul></div>`;
  return [...L.filter(l=>l.id==='GF'),...L.filter(l=>l.id!=='GF')].map(l=>{const x=cr.filter(c=>c.lane===l.id);if(!x.length)return'';
    return `<div class=&quot;crit&quot;><h4>${esc(l.name)}</h4><ul>${x.map(critItems).join('')}</ul></div>`}).join('');
}
function critItems(c){
  return c.t.split(' · ').map(t=>{const [cd,tt]=split(t);return `<li class=&quot;${c.must?'must':''}&quot;><span>${esc(tt)}${c.tag?` <span class=&quot;chip m&quot; style=&quot;margin-left:4px&quot;>${esc(c.tag.toUpperCase())}</span>`:''}</span>${c.must?'<span class=&quot;chip c&quot;>MOET</span>':''}</li>`}).join('');
}
function openBlad(i,b){
  const p=P[i];const nm=p.crit.filter(c=>c.must).length;const ln=id=>(L.find(l=>l.id===id)||{}).name||id;const T=b.titles;
  const lt=c=>`<span class=&quot;lt ${c}&quot; aria-label=&quot;${c==='g'?'groen':c==='o'?'oranje':'rood'}&quot;></span>`;
  const sec=(n,t,r)=>`<div class=&quot;sec&quot;><span><span class=&quot;bl-n&quot;>${n}</span>${esc(t)}</span><span>${r||''}</span></div>`;
  const head=`<div class=&quot;eyebrow&quot;>Beslismoment ${esc(p.n)} · na ${esc(p.name.toLowerCase())}</div><h2 id=&quot;dt&quot;>Het blad voor de stuurgroep</h2>
   <div class=&quot;nav&quot;>${i>0?`<button class=&quot;btn&quot; data-g=&quot;${i-1}&quot;>← Beslismoment ${esc(P[i-1].n)}</button>`:''}${i<P.length-1?`<button class=&quot;btn&quot; data-g=&quot;${i+1}&quot;>Beslismoment ${esc(P[i+1].n)} →</button>`:''}<button class=&quot;btn&quot; data-k=&quot;${p.n}-GF&quot;>Hoe het dossier tot stand komt</button></div>`;
  let body=`<div class=&quot;q&quot;>${esc(p.q)}</div>
   <div class=&quot;out&quot;><div><b>Verder</b>We gaan door</div><div><b>Verder, mits</b>Met voorwaarden en een datum</div><div><b>Stop</b>Eerst herstellen</div></div>
   <div class=&quot;bl-note&quot;>${esc(b.note)}</div>
   <div class=&quot;bl-adv&quot;><b>Voorstel aan de stuurgroep</b><strong>${esc(b.advies[0])}</strong>: ${esc(b.advies[1])}</div>`;
  body+=sec(1,'Overzicht per domein','door de eigenaar')+b.domeinen.map(d=>`<details class=&quot;bl-dom&quot;><summary>${lt(d[1])}<span class=&quot;tt&quot;>${esc(ln(d[0]))}<span class=&quot;att&quot;>${esc(d[5])}</span></span><span class=&quot;ar&quot;>›</span></summary>
    <div class=&quot;dd&quot;><dl><dt>Waar staan we</dt><dd>${esc(d[2])}</dd><dt>Bezig met</dt><dd>${esc(d[3])}</dd><dt>Volgens plan</dt><dd>${esc(d[4])}</dd><dt>Vraagt aandacht</dt><dd>${esc(d[5])}</dd></dl></div></details>`).join('');
  body+=sec(2,'Breekpunten',b.breekpunten.length)+`<ul class=&quot;bl-list&quot;>${b.breekpunten.map(x=>`<li>${lt(x[1])}<span><b>${esc(T[x[0]]||x[0])}</b>${esc(x[2])}<span class=&quot;w&quot;>${esc(ln(x[0].slice(0,3)))}</span></span></li>`).join('')}</ul>`;
  body+=sec(3,'Vragen aan de stuurgroep',b.vragen.length)+`<ul class=&quot;bl-list&quot;>${b.vragen.map((x,j)=>`<li><span class=&quot;k&quot;>${j+1}</span><span><b>${esc(x[0])}</b>${esc(x[1])}<span class=&quot;w&quot;>Beslist door: ${esc(x[2])}</span></span></li>`).join('')}</ul>`;
  body+=sec(4,'Verschuivingen',b.verschuivingen.length)+`<ul class=&quot;bl-list&quot;>${b.verschuivingen.map(x=>`<li><span class=&quot;k&quot;>${esc(x[0].toUpperCase())}</span><span><b>${esc(x[1])}</b>Reden: ${esc(x[2])}</span></li>`).join('')}</ul>`;
  body+=sec(5,'Belangrijk voor de volgende fase')+`<ul class=&quot;bl-list&quot;>${b.volgende.map(x=>`<li><span class=&quot;k&quot;>→</span><span>${esc(x)}</span></li>`).join('')}</ul>`;
  body+=sec(6,'Escalaties')+`<div class=&quot;bl-esc&quot;>${lt('o')}<span><b>${esc(b.escalaties[0])}</b> · ${esc(b.escalaties[1])}</span></div>`;
  if(PUB)body+=CTA();else body+=`<details class=&quot;bl-dos&quot;><summary><span class=&quot;cd&quot;>◆</span><span class=&quot;tt&quot;>Het volledige dossier, per domein</span><span class=&quot;ar&quot;>›</span></summary><div class=&quot;dd&quot;><p>Afgetekend door de domeineigenaars vóór de vergadering. De stuurgroep kijkt hier alleen naar wat op het blad staat.</p>${critList(p.crit,true)}</div></details>`;
  show(head,body,{type:'gate',i});
}
function openGate(i){
  const p=P[i];if(D.blad&amp;&amp;D.blad[String(p.n)])return openBlad(i,D.blad[String(p.n)]);const nm=p.crit.filter(c=>c.must).length;
  const head=`<div class=&quot;eyebrow&quot;>Beslismoment ${esc(p.n)} · na ${esc(p.name.toLowerCase())}</div><h2 id=&quot;dt&quot;>Beslismoment ${esc(p.n)}</h2>
   <div class=&quot;nav&quot;>${i>0?`<button class=&quot;btn&quot; data-g=&quot;${i-1}&quot;>← Beslismoment ${esc(P[i-1].n)}</button>`:''}${i<P.length-1?`<button class=&quot;btn&quot; data-g=&quot;${i+1}&quot;>Beslismoment ${esc(P[i+1].n)} →</button>`:''}<button class=&quot;btn&quot; data-k=&quot;${p.n}-GF&quot;>Het dossier</button></div>`;
  const body=`<div class=&quot;q&quot;>${esc(p.q)}</div>
   <div class=&quot;out&quot;><div><b>Verder</b>We gaan door</div><div><b>Verder, mits</b>Met voorwaarden en een datum</div><div><b>Stop</b>Eerst herstellen</div></div>
   <p class=&quot;lead&quot;>De stuurgroep beslist op basis van vooraf gekende criteria. Wat als <b>moet</b> gemarkeerd staat, moet in orde zijn.</p>
   ${PUB?CTA():`<div class=&quot;sec&quot;><span>Criteria per domein</span><span>${p.crit.length} · ${nm} moet</span></div>${critList(p.crit,true)}`}`;
  show(head,body,{type:'gate',i});
}
function openPhase(i){
  const p=P[i];
  const head=`<div class=&quot;eyebrow&quot;>Fase ${esc(p.n)} van ${P.length-1}</div><h2 id=&quot;dt&quot;>${esc(p.name)}</h2><p class=&quot;lead&quot;>${esc(p.desc)}</p>
   <div class=&quot;nav&quot;>${i>0?`<button class=&quot;btn&quot; data-p=&quot;${i-1}&quot;>← ${esc(P[i-1].name)}</button>`:''}${i<P.length-1?`<button class=&quot;btn&quot; data-p=&quot;${i+1}&quot;>${esc(P[i+1].name)} →</button>`:''}</div>`;
  let body=`<div class=&quot;sec&quot;><span>Per domein</span></div>`+L.map(l=>{const c=C[p.n+'-'+l.id];if(!c)return'';const nt=c.stories.reduce((a,s)=>a+s.tasks.length,0);
    return `<button class=&quot;rowlink&quot; data-k=&quot;${p.n}-${l.id}&quot;><span><span class=&quot;n&quot;>${esc(l.name)}</span><small>${esc(c.stories.slice(0,2).map(s=>split(s.t)[1]).join(' · '))}</small></span><span class=&quot;s&quot;>${PUB?c.stories.length:c.stories.length+' · '+nt}</span></button>`}).join('');
  body+=`<div class=&quot;sec&quot;><span>Afgesloten met</span></div><button class=&quot;rowlink&quot; data-g=&quot;${i}&quot;><span><span class=&quot;n&quot;>◆ Beslismoment ${esc(p.n)}</span><small>${esc(p.q)}</small></span><span class=&quot;s&quot;>${PUB?'›':p.crit.length+' criteria'}</span></button>`;
  show(head,body,{type:'phase',i});
}
function openLane(j){
  const l=L[j];
  const head=`<div class=&quot;eyebrow&quot;>${l.id==='GF'?'Doorheen het hele project':'Domein '+l.id.slice(1)+' · doorheen het hele project'}</div><h2 id=&quot;dt&quot;>${esc(l.name)}</h2>
   <div class=&quot;nav&quot;>${j>0?`<button class=&quot;btn&quot; data-l=&quot;${j-1}&quot;>↑ ${esc(L[j-1].name)}</button>`:''}${j<L.length-1?`<button class=&quot;btn&quot; data-l=&quot;${j+1}&quot;>↓ ${esc(L[j+1].name)}</button>`:''}</div>`;
  let body=P.map(p=>{const c=C[p.n+'-'+l.id];if(!c)return'';
    return `<div class=&quot;sec&quot;><span>Fase ${esc(p.n)} · ${esc(p.name)}</span><span>${c.stories.length}</span></div><button class=&quot;rowlink&quot; data-k=&quot;${p.n}-${l.id}&quot;><span>${c.stories.map(s=>`<small style=&quot;color:var(--ink);font-size:13px;margin:2px 0&quot;>${esc(split(s.t)[1])}</small>`).join('')}</span><span class=&quot;s&quot;>›</span></button>`}).join('');
  show(head,body,{type:'lane',j});
}
function openAlways(){
  const head=`<div class=&quot;eyebrow&quot;>In elke fase</div><h2 id=&quot;dt&quot;>Wat doorlopend meeloopt</h2><p class=&quot;lead&quot;>Registers, rapportering en ritme: de documenten die van begin tot einde in gebruik blijven.</p>`;
  const body=`<p class=&quot;lead&quot;>Het projectplan, de beslissingen en de kennis blijven op één plek in uw organisatie. De concrete documenten werken we samen met u uit.</p>${CTA()}`;
  show(head,body,{type:'always'});
}

/* rondleiding */
const tbar=$('#tbar');
function cellBox(k){const el=world.querySelector(`[data-k=&quot;${k}&quot;]`);return{x:parseFloat(el.style.left),y:parseFloat(el.style.top),w:CW,h:parseFloat(el.style.height)}}
function area(){ // free screen area next to/above the drawer and tour bar
  if(mobile())return{l:LW,t:HH+tbar.offsetHeight+16,r:vw(),b:vh()*0.44};
  return{l:LW,t:HH,r:vw()-Math.min(460,vw()),b:vh()-tbar.offsetHeight-30};
}
function focusBox(b,ns){const a=area();ns=clampS(ns);
  go((a.l+a.r)/2-LW-(b.x+b.w/2)*ns,(a.t+a.b)/2-HH-(b.y+b.h/2)*ns,ns,550)}
function focusGate(i){const a=area();const ns=clampS(Math.min(.6,(a.b-a.t)/H*1.6));const gx=X(i)+CW+GAP/2;
  go((a.l+a.r)/2-LW-gx*ns,10,ns,550)}
const TOUR=[
 {t:'Het hele project op één blad',x:'Zeven fasen van links naar rechts, acht domeinen van boven naar onder. Elk vak is wat er in die fase, in dat domein, moet gebeuren. Eén plan voor het hele project.',
  go:()=>{close();setFilter('all');fitView(550)}},
 {t:'De mensenkant zit overal',x:'Het goud is de mensenkant: sleutelgebruikers, leidinggevenden, communicatie, training. Die zit in elke fase, in hetzelfde plan als het projectwerk. Niet ernaast, en niet pas op het einde.',
  go:()=>{close();setFilter('CM');fitView(550)}},
 {t:'Elk vak is concreet',x:'Neem Mensen &amp; Capaciteit in de voorbereiding. Elk resultaat heeft een eigenaar en een afspraak over wanneer het klaar is. Zo weet iedereen wat er verwacht wordt.',
  go:()=>{setFilter('all');openCell('1-L05',true);focusBox(cellBox('1-L05'),mobile()?.75:.95)}},
 {t:'Na elke fase: een beslismoment',x:'Na elke fase beslist de stuurgroep: verder, verder mits voorwaarden, of stop. Ze krijgt één blad: hoe elk domein ervoor staat, de breekpunten in kleur, en de vragen die zij moet beantwoorden. Al de rest zit in het dossier.',
  go:()=>{setFilter('all');openGate(1);focusGate(1)}},
 {t:'Het beslismoment is ook werk',x:'De criteria zijn vanaf dag één bekend, de gereedheid wordt gemeten en het dossier is volledig voor de vergadering. Zo komt er geen verrassing op tafel.',
  go:()=>{setFilter('all');openCell('1-GF',true);focusBox(cellBox('1-GF'),mobile()?.75:.95)}},
 {t:'Wat altijd meeloopt',x:'Registers, rapportering en een vast ritme lopen van begin tot einde mee. Elke maand weet de directie waar het project staat.',
  go:()=>{setFilter('all');openAlways();fitView(550)}},
 {t:'Een mensenproject',x:'Een ERP-project is een mensenproject, met wat software erin. Dit plan zorgt dat beide samen vooruitgaan, en dat er op elk beslismoment echt beslist wordt.',
  go:()=>{close();setFilter('all');fitView(550)}},
];
let ti=-1;
function tourGo(i){
  if(i>=TOUR.length){tourStop();return}
  ti=Math.max(0,i);const st=TOUR[ti];
  document.body.classList.add('touring');hideHint();
  tbar.innerHTML=`<div class=&quot;tk&quot;><span>Rondleiding · ${ti+1} van ${TOUR.length}</span><button class=&quot;tx&quot; id=&quot;tq&quot; aria-label=&quot;Rondleiding stoppen&quot;>×</button></div>
   <h3>${esc(st.t)}</h3><p>${esc(st.x)}</p>
   <div class=&quot;tc&quot;><div class=&quot;dots&quot;>${TOUR.map((_,j)=>`<button class=&quot;${j===ti?'on':''}&quot; data-t=&quot;${j}&quot; aria-label=&quot;Stap ${j+1}&quot;></button>`).join('')}</div>
   <div class=&quot;tn&quot;>${ti>0?'<button class=&quot;btn&quot; id=&quot;tp&quot;>← Vorige</button>':''}<button class=&quot;btn pri&quot; id=&quot;tnx&quot;>${ti===TOUR.length-1?'Afsluiten':'Volgende →'}</button></div></div>`;
  tbar.classList.add('on');
  $('#tq').onclick=tourStop;$('#tnx').onclick=()=>tourGo(ti+1);if($('#tp'))$('#tp').onclick=()=>tourGo(ti-1);
  tbar.querySelectorAll('[data-t]').forEach(b=>b.onclick=()=>tourGo(+b.dataset.t));
  requestAnimationFrame(()=>st.go());
}
function tourStop(){ti=-1;tbar.classList.remove('on');document.body.classList.remove('touring');close();setFilter('all')}
$('#tour').onclick=()=>ti>=0?tourStop():tourGo(0);
try{if(new URLSearchParams(location.search).has('rondleiding'))setTimeout(()=>tourGo(0),400)}catch(e){}

addEventListener('resize',()=>{LW=mobile()?118:200;HH=mobile()?78:104;apply()});
startView();
})();
</script>

</body>
</html>
"></iframe>

Publieke verkenning: concrete werkinstructies, interne sjablonen en projectdossiers zijn niet opgenomen.

## Waarom ERP-projecten vastlopen

Zelden door de software. Meestal door wat ernaast gebeurt.

### Uw beste mensen moeten twee jobs doen.

Ze werken mee aan het project, maar hun gewone werk wordt niet minder. Eerst vertraagt het project, daarna de mensen.

### De mensenkant komt te laat.

Communicatie en opleiding worden ingepland vlak voor de start. Dan is de weerstand er al.

### De directie ziet te veel, of te weinig.

Rapporten van dertig pagina's, of een groen bolletje tot het plots rood is.

### Niemand weet nog waar de documenten staan.

Na de overstap is de kennis vertrokken met de implementatiepartner.

Herkent u er een? Dan is uw project geen uitzondering. En dan is er een andere manier.

## Onze aanpak in vier ideeën

01

### Eén plan voor het systeem én de mensen

Acht domeinen, van strategie tot opleiding, in één planning. De mensenkant zit in elke fase, niet ernaast en niet pas op het einde. Elk domein heeft een eigenaar bij u in huis.

[Verken de filter Mensen op de kaart →](https://peoples.engineer/nl/onze-aanpak-v2#werkplankaart)

02

### Na elke fase: een beslismoment

Uw stuurgroep krijgt één blad. Hoe staat elk domein ervoor, in de woorden van de eigenaar. Welke punten zijn cruciaal voor het vervolg, in groen, oranje of rood. Welke vragen moet u beantwoorden. Al de rest zit in het dossier, vooraf afgetekend.

03

### Een ritme dat beslissingen laat vallen

Om de twee à drie weken een sprintoverleg met de domeineigenaars, elke maand een uur stuurgroep, en een beslismoment na elk van de zeven fasen. Elk niveau krijgt alleen wat het niveau eronder niet zelf kan beslissen. Escaleren is afgesproken, met termijnen, en geldt als goed bestuur.

04

### Alles op één plek, en die plek is van u

Elk document heeft een eigenaar, een status en een vaste plaats in uw eigen SharePoint. Ook de documenten van de implementatiepartner. Na het project blijft de kennis in uw organisatie.

## Het traject: zeven fasen, zeven beslismomenten

Elke fase eindigt met één vraag aan uw stuurgroep. Die vraag is vanaf dag één gekend.

0

**Vooronderzoek**

Beslissen of het project bestaansrecht heeft, en onder welke voorwaarden.

◆ Moeten we dit doen, en zijn we er klaar voor?

1

**Voorbereiding**

Het project opzetten: bestuur, team, plan en de eerste mensen die de verandering dragen.

◆ Kan de organisatie beginnen bouwen?

2

**Ontwerp**

Van visie naar blauwdruk, voor het systeem én voor de organisatie.

◆ Is het ontwerp solide en gedragen?

3

**Bouw**

Het systeem en de menselijke kant tegelijk opbouwen.

◆ Is alles klaar om te testen?

4

**Test**

Bewijzen dat het werkt, technisch en menselijk.

◆ Mogen we live gaan?

5

**Overschakeling**

De gecontroleerde overgang naar de nieuwe situatie.

◆ Is de organisatie gestabiliseerd?

6

**Nazorg en afsluiting**

De nieuwe werkwijze inbedden en het project netjes afsluiten.

◆ Is alles overgedragen en afgesloten?

Binnen elke fase werken we in sprints van twee à drie weken. De volgende twee sprints liggen in detail vast, de rest op hoofdlijnen. Zo blijft het plan juist zonder dat het elke week herschreven moet worden.

## Wat u ervan merkt

### Uw directie beslist, in plaats van te lezen.

Eén blad per beslismoment, met de vragen die zij moet beantwoorden.

### Problemen komen vroeg op tafel.

Dat de datamigratie maar niet van de grond komt, staat op het blad lang voor het een crisis is.

### Uw mensen weten waar ze aan toe zijn.

Ze horen het verhaal van hun eigen chef, en ze kunnen vragen stellen die beantwoord worden.

### Uw organisatie leert mee.

Een paar eigen mensen draaien mee in de projectleiding. De volgende verandering doet u voor een groot deel zelf.

## Naast uw implementatiepartner, niet in zijn plaats

Wij bouwen geen software en verkopen geen licenties. U kiest het systeem en de partner die het implementeert; wij helpen u kiezen als u dat wilt. Daarna zorgen we dat de mijlpalen van de partner gekoppeld zijn aan uw beslismomenten, en dat het project uw project blijft. Of het nu om SAP, Microsoft Dynamics of een ander pakket gaat.

## Hoe beginnen

### U staat voor een ERP-project.

We starten met een vooronderzoek van enkele weken. Uw directie meet haar eigen gereedheid, we brengen in kaart hoe uw organisatie vandaag werkt en hoeveel verandering ze nu kan dragen. Op het eerste beslismoment weet u of u eraan begint, en onder welke voorwaarden.

### Uw project loopt al, maar het loopt vast.

We kijken een tot twee weken mee, met een frisse blik: waar zit het echt, en wat is de eerste stap om het weer bestuurbaar te maken.

[Plan een gesprek van een halfuur](https://peoples.engineer/contact?hsLang=nl)

![Stephen Decoussemaker, oprichter van Peoples.Engineer](https://peoples.engineer/hs-fs/hubfs/Muiterij001.jpg?width=1365&height=2048&name=Muiterij001.jpg)

© 2026 Peoples.Engineer[Privacybeleid](https://peoples.engineer/privacybeleid?hsLang=nl) · [Algemene voorwaarden](https://peoples.engineer/algemene-voorwaarden?hsLang=nl)

[![](https://peoples.engineer/hs-fs/hubfs/woordmerk-1.png?width=1968&height=440&name=woordmerk-1.png)](https://peoples.engineer?hsLang=nl)

<https://www.linkedin.com><https://www.facebook.com><https://www.twitter.com><https://www.instagram.com><https://www.tiktok.com>

---

Privacybeleid · Juridische · © 2026 Peoples.Engineer. Alle rechten voorbehouden.