| Project | Klant | Type | Status | OHW | Uren | Budget (€) | Besteed (€) | Open budget (€) | Resultaat (€) | % Besteed |
|---|
"% tijd verstreken" en "% uren besteed" horen ongeveer gelijk op te lopen. Loopt het urenpercentage duidelijk vóór op het tijdpercentage, dan wordt er sneller uren gemaakt dan de looptijd rechtvaardigt — een vroeg signaal om bij te sturen vóórdat het budget overschreden is.
"Uren/maand (gem.)" en "Maandelijks tempo" kijken vooruit: bij het HUIDIGE gemiddelde uren/maand doorgetrokken over de resterende looptijd, komen we dan Goed (≤90% van budget), Dichtbij (90–110%) of Erover (>110%) uit? Zo kun je per maand bijsturen, in plaats van pas achteraf te zien dat het totale budget al overschreden is.
| Project | Klant | Looptijd | Tijd vs. uren | Begroot (uur) | Werkelijk (uur) | % besteed | Signaal | Uren (filter) | Uren/maand (gem.) | Maandelijks tempo |
|---|
Klik op een project voor de maandelijkse Tijd vs. Uren-grafiek.
| Datum | Medewerker | Rol | Project | Omschrijving | Klant | Allocatie type | Uren | Verkoopprijs (€) | Resultaat (€) |
|---|
| Medewerker | Verdeling | Totaal (uur) | % Billable | % Non-billable | % Overtime |
|---|
Gebruikt de centrale "Medewerker"-filter hierboven, samen met de andere filters (jaar, maand, klant, project, status, allocatietype).
Weekdagen waarop een medewerker historisch nooit uren registreert (bv. een vaste vrije dag bij een parttime rooster) worden automatisch als "geen werkdag" behandeld, niet als "ontbreekt".
Gebaseerd op de "Overtime"-vlag op losse urenregistraties (niet op Allocatietype "Overtime", dat in de praktijk niet wordt gebruikt). Donkerder = meer overuren die maand.
Een amber naam heeft deze sprint goedgekeurd verlof, afwezig-met-toestemming of een vaste remote-dag — hover over de balk voor details.
Voeg eerst je team voor deze sprint toe — alleen toegevoegde teamleden verschijnen hieronder, niet automatisch iedereen met een toegewezen item.
| Medewerker | Resterend (uur) | Capaciteit (uur) | Status | Bijzonderheden |
|---|
Laden...
| E-mailadres | Naam | Rol | Instellingen | Hours-gebruiker | |
|---|---|---|---|---|---|
| Laden... | |||||
Bepaalt alleen hoe dit dashboard "verwacht per werkdag" berekent (Uren invoeren > Deze maand, en het urenvolledigheid-overzicht in HR) — de uren die daadwerkelijk naar Hours worden geschreven blijven ongewijzigd, Hours houdt zelf al rekening met de pauze.
Netto uren per volledige werkdag: —
Iedereen ziet in Mijn taken de actuele tijd op deze plekken. Kies een tijdzone uit de lijst, bv. Europe/Amsterdam, America/New_York (Miami) of America/Paramaribo. De landcode (NL, US, SR) bepaalt welke nationale feestdagen in Mijn taken verschijnen.
Aanvullen of corrigeren wat de automatische lijst toont in Mijn taken. Een regel met dezelfde datum als de automatische feestdag vervangt de naam; met Verberg aangevinkt verdwijnt die feestdag (bv. een niet-officiële dag). Landcode bv. SR of NL.
Eigen SMTP-server/relay om systeemmails te versturen (op dit moment alleen "Wachtwoord vergeten" op het inlogscherm). Zonder configuratie krijgt een gebruiker daar een duidelijke melding.
Sprintboards, backlog, release planning en work items.
Supportmeldingen (Jira meldingen, Ticket pipeline, Mijn taken).
Voedt het managersscherm "Azure kosten" (Management). Nodig: een app-registratie in Entra ID met een client secret, en de rol Cost Management Reader voor die app op de subscription(s) of het billing-account hieronder.
Voedt het managersscherm "Klantomgevingen". Geen PAT nodig: de app gebruikt een app-registratie (Entra ID) met de rol Monitoring Reader op de resourcegroep hieronder.
Plak deze URL in een Action Group in Azure (actie Webhook, met Common Alert Schema aan) en koppel die Action Group aan je alert rules. De sleutel in de URL is geheim; deel 'm niet.
Laat bij Klantomgevingen de grootste tabellen en de zwaarste queries (Query Store) per database zien. De API meldt zich daarvoor aan bij de databases met een eigen app-registratie (Entra ID) die alleen lezen mag: VIEW DATABASE STATE en VIEW DEFINITION, geen leesrechten op data. Een beheerder moet die toegang eerst in Azure regelen (zie het document Azure-database-toegang); gebruik daarna Toegang controleren.
Standaard uit: een query kan persoonsgegevens bevatten (de waarden in de query). De tekst wordt dan op 400 tekens afgekapt. Zonder tekst zie je het query-id, de hash en de cijfers.
Servers melden zelf hun services (en fouten uit Event Viewer) via een klein PowerShell-script (map scripts/windows-services-monitor). Hier maakt u een server aan en krijgt u de sleutel voor dat script; de app bewaart alleen een hash en toont de sleutel maar één keer. Meldingen komen onder Mijn taken > Azure issues.
Gebruikt voor AI-gestuurde taken in de app, zoals release notes automatisch naar het Engels vertalen. Iedere aanroep valt onder de veiligheidsklep hieronder, zodat een verzoek nooit lang blijft lopen of onnodig tokens verbruikt.
Wie deed wat en wanneer: (mislukte) logins, wachtwoordresets, beheeracties op gebruikers en rollen, gewijzigde koppelingen/instellingen en schrijfacties naar Hours. Nieuwste bovenaan.
| Tijdstip | Wie | Actie | Doel | Details | IP-adres |
|---|---|---|---|---|---|
| Laden... | |||||
Kies eerst een jaar om urenregistraties te tonen.
| Datum | Medewerker | Project | Klant | Allocatie type | Beschrijving | Uren | |
|---|---|---|---|---|---|---|---|
| Kies eerst jaar, klant en project status, en klik op "Tonen". | |||||||
Legenda: wat betekent elke kolom?
Databases (DTU-gebruik)
- Naam
- Een elastic pool (gedeelde capaciteit) of een losse database. Onder de naam staan de SQL-server en het aantal databases. Klik op een pool om die databases te zien.
- Type
- Pool of database, met daaronder de laag en de grootte (eDTU of vCores).
- DTU nu
- Belasting van de laatste meting (elke 5 minuten). Dicht bij 100% betekent dat queries moeten wachten.
- Gem. 1 uur
- Gemiddelde van de laatste uur aan metingen.
- Piek 24 uur
- Hoogste meting van de afgelopen 24 uur. Laat zien of er pieken waren, ook als het nu rustig is.
- Verloop 24 uur
- Eén balk per uur: de hoogste meting in dat uur. Rood = boven de rode grens.
- Opslag
- Hoe vol de toegewezen opslag is (laatste meting). Oranje vanaf 85%, rood vanaf 95%. Bij een pool deelt de hele pool één opslag, dus die getallen gelden voor alle databases erin.
- Status
- In orde: alles onder de grenzen. Waarschuwing: DTU gemiddeld ≥ % of opslag oranje. Kritiek: DTU onafgebroken ≥ % gedurende minuten, of opslag rood. De reden staat eronder de status.
Applicaties
- Beschikbaarheid
- Percentage van de bereikbaarheidstests van het laatste uur. Oranje onder %, rood onder %.
- Responstijd
- Gemiddelde tijd van de server om een aanvraag te beantwoorden (laatste uur). Onder de regel: 24 uur. Oranje boven ms, rood boven ms.
- Mislukt
- Percentage van de aanvragen dat een fout gaf: zowel fouten van de aanvrager (4xx) als serverfouten (5xx). Veel 4xx zijn bots of verlopen sessies; open de kaart voor de uitsplitsing. Oranje boven %, rood boven %.
- Exceptions
- Aantal fouten binnen de applicatie zelf (laatste uur).
- Status
- Groen, oranje of rood op basis van de drempels hierboven, of een actief Azure-alarm. Klik op de kaart voor het detail.
Gezondheid per klantgroep (pilot)
- Norm
- De eigen mediaan van de afgelopen 14 dagen, per applicatie. Een applicatie die altijd traag is, alarmeert dus niet; een plotselinge afwijking wel.
- Afwijkend
- Het laatste volledige blok van 15 minuten is 3× de norm of meer, bij minstens 20 aanvragen. Daarnaast gelden vloeren tegen ruis: p95 pas boven 500 ms (IAM-database boven 100 ms) en fouten pas boven 5%.
- Status
- In orde: geen afwijking. Waarschuwing: trage responstijd, meer 401's dan normaal, geen verkeer terwijl dat normaal wel is, een trage IAM-database, een nieuw exception-type sinds gisteren, of een nieuwe versie met veel meer fouten. Kritiek: foutpercentage vanaf 10% (zonder 401's) of fouten op de IAM-database. Onbekend: de resource is niet gevonden of de gegevens zijn niet op te halen.
- IAM (bovenste regel)
- Het inlogsysteem dat de applicaties delen. Groen: geen afwijking. Oranje: één applicatie ziet afwijkingen op de IAM. Rood: twee of meer tegelijk, dus de oorzaak is waarschijnlijk de IAM zelf. Daarbij staan de opslag, de groei per dag (30 dagen) en de schatting wanneer de database vol is.
- Aanvragen 24u
- Aantal aanvragen aan de applicatie in de afgelopen 24 uur.
- Fouten (zonder 401)
- Aandeel mislukte aanvragen over 24 uur. Eronder: nu (laatste volledige 15 minuten) tegenover de norm. 401's tellen hier niet mee.
- 401's
- Aanvragen die zijn afgewezen omdat er niet is ingelogd of de sleutel ongeldig is. Een stabiele stroom is meestal een bot of een vaste client; een piek (3× de norm of meer) geeft een waarschuwing.
- Responstijd p95
- 95% van de aanvragen was sneller dan deze tijd. Eronder de norm.
- IAM-database
- p95 van de aanroepen naar de IAM-database, de norm, en het aantal aanroepen per 24 uur. "Gebruikt deze IAM niet" = geen aanroepen naar die database gezien.
- Versie (24u)
- De nieuwste versie van de applicatie met het aantal aanvragen en het foutpercentage, en de vorige versie. Waarschuwing als de nieuwste veel meer fouten geeft dan de vorige.
- Meldingen
- Een melding opent na twee opeenvolgende kritieke controles (~10 minuten) en sluit na twee controles in orde. Wijkt de IAM bij meerdere applicaties tegelijk af, dan komt er één melding voor de IAM.
Windows Services
- Server
- Een Windows-server die zelf elke minuut zijn services meldt (PowerShell-script). Geen melding = de server, het script of de verbinding ligt plat (meer dan 10 minuten niets gehoord).
- Status
- Kritiek: de service draait niet of bestaat niet. Waarschuwing: de service start niet automatisch of er staan fouten in Event Viewer.
- Starttype
- Hoe Windows de service start. Verwacht: Automatic.
- Fouten in Event Viewer
- Fouten en kritieke meldingen in de logboeken Application en System van de afgelopen 30 minuten die bij de service horen (de bron of de tekst noemt de servicenaam).
- Geplande taken
- Optioneel per server: taken uit de Taakplanner. Waarschuwing: de taak staat uit, is niet gevonden, het laatste resultaat is een fout, of de taak staat langer op "Running" dan het ingestelde maximum (de tijd telt vanaf het moment dat de app hem voor het eerst zag lopen). "Nieuwe start geweigerd" betekent dat een nieuwe start is overgeslagen omdat de vorige nog liep; dat is alleen een probleem als de taak te lang blijft lopen.
- Onderhoud
- Een manager zet een server, service of taak tijdelijk op onderhoud (knop Onderhoud… bij de server, maximaal 3 dagen). Dan komen er daarvoor geen nieuwe meldingen; wat al open staat blijft staan. De status toont "Onderhoud".
- Meldingen
- Een melding opent na twee opeenvolgende controles met een afwijking en sluit na twee controles in orde. Ze staan onder Mijn taken > Azure issues en in het belletje van de managers (alleen in de app). Een manager kan een melding handmatig sluiten; speelt het probleem dan nog, dan komt er pas weer een melding als het eerst in orde is geweest.
Applicatiedetail: tabblad Ontwikkelaar en trace
- p50 / p95 / p99
- De mediaan (de helft was sneller), en de tijd waarbinnen 95% resp. 99% van de aanvragen klaar was. Een hoge p95 bij een lage p50 betekent: meestal prima, maar een deel is veel trager.
- Tijden
- Onder 1 seconde in milliseconden, daarboven in seconden (1,6 s) of minuten (2 min 27 s). Rood = p95 boven 1 seconde.
- Afhankelijkheden
- Wat de applicatie zelf aanroept (SQL, opslag, HTTP): aantal, mislukt, gemiddelde en p95.
- Traagste voorbeeld
- De duur van de traagste aanvraag van die operatie, met het operation-id. trace opent de tijdlijn van die ene aanvraag; kopieer zet het id op het klembord.
- Herkomst
- De clients met de meeste mislukte aanvragen (IP, aantal, browser of type). Een IP-adres van 0.0.0.0 betekent dat Application Insights het adres volledig maskeert.
- Trace
- Alle onderdelen van één aanvraag op tijdsvolgorde. Start = tijd sinds het begin van de aanvraag. Inspringen = hoort onder het onderdeel erboven. Rood = mislukt of een exception. De samenvatting boven de tabel laat zien hoeveel tijd in afhankelijkheden zit en hoeveel niet.
- ⏸ Pauze (oranje regel)
- Twee seconden of meer waarin geen enkel onderdeel bezig was. De applicatie rekende of wachtte op iets buiten Application Insights. Zo'n pauze aan het einde betekent dat het request na het laatste onderdeel nog doorliep.
- Resultaatcodes
- Zie de legenda onder Resultaatcodes in het tabblad Overzicht (2xx gelukt, 4xx fout van de aanvrager, 5xx fout in de applicatie).
Kies de periode en klik op Laden: de gebruikte opslag per dag uit Azure Monitor (tot 90 dagen terug), met groei en verwachting.
Laden...
Indeling Meetings en Quality of service
Vink aan welke allocatie-types uit Hours meetellen. Het percentage is het aandeel in de productieve uren. Deze indeling geldt voor alle managers.
Kies een periode en klik op Toon.
Uitleg en legenda
Bronnen en periode
- Hours: alle urenregistraties met een datum in de gekozen periode (zelfde gegevens als Financial).
- Azure DevOps: user stories, bugs en tasks die in de periode naar Resolved of Closed gingen.
- Jira: supportmeldingen uit de gevolgde projecten; kijkt maximaal 60 dagen terug.
- Werkdagen: maandag t/m vrijdag in de periode, tot en met vandaag. Uren/dag = netto werkdag uit Beheer (werktijden min pauze).
- Medewerkers worden tussen Hours, DevOps en Jira gekoppeld op voor- + achternaam.
Tegels bovenaan
| Productieve uren | Geboekte uren van iedereen in de periode, zónder de niet-gewerkte uren, en hoeveel medewerkers uren boekten. |
| Niet gewerkt | Uren met allocatie-type (of project) Verlof/vakantie, Feestdag of Geen werkuren, en hun aandeel in alle geboekte uren. |
| Billable | Deel van de uren dat extern (factureerbaar, Fact. type Extern) is geboekt. |
| Opgeleverd (DevOps) | Aantal items dat in de periode naar Resolved/Closed ging. |
| Test NOK | Aantal keer dat een item na test is afgekeurd (knop Test NOK in de app) en terugging naar de ontwikkelaar. |
| Jira opgelost | Meldingen die in de periode zijn opgelost. |
Kolommen per medewerker
| Uren | Productieve uren in Hours (zonder Vakantie, Feestdag en Geen werkuren). |
| Niet gewerkt | Uren met allocatie-type (of project) Verlof/vakantie, Feestdag of Geen werkuren. Ga met de muis op het getal staan voor de verdeling. |
| Billable | % van de eigen uren dat extern/factureerbaar is. |
| Meetings | % van de productieve uren op de allocatie-types die je bij Indeling Meetings en Quality of service aanvinkt (zonder keuze: alles met "meeting"/"overleg" in activiteit of projectnaam). Ga met de muis op het percentage staan voor de uren. |
| QoS | Idem voor Quality of service (zonder keuze: "Quality of Service"/"QoS" in activiteit of projectnaam). |
| Release/deploy | % van de productieve uren op het project 2401-0047 Thinkwise release/creation/deployment/upgrade (instelbaar). Stuurinformatie: dit moet zo laag mogelijk blijven. Boven de norm (standaard max 10%) kleurt het rood, eronder groen. |
| Overuren | Uren die in Hours als overwerk zijn gemarkeerd. |
| Beschikbaar | Werkdagen × uren per dag. Bij Niet-gewerkte uren: tellen als niet-productief (standaard) blijft dit staan, zodat vakantie, feestdagen en geen werkuren de bezetting omlaag halen. Bij buiten beschouwing gaan de niet-gewerkte uren (of het goedgekeurde verlof uit Planning, als dat meer is) eraf. |
| Bezetting | Productieve uren ÷ beschikbaar. Zie de kleuren hieronder. |
| User stories / Bugs / Tasks | Aantal items dat deze medewerker opleverde (naar Resolved/Closed). Telt bij wie het item opleverde; werk dat via de Management App of een pipeline werd afgesloten telt bij de behandelaar. |
| Gem. doorlooptijd (d) | Gemiddeld aantal dagen van Active (begonnen) tot Resolved/Closed, voor user stories en bugs (tasks niet meegeteld). Geen Active-datum: vanaf aanmaken. |
| Test NOK | Aantal items van deze ontwikkelaar dat na test werd afgekeurd. Telt vanaf de invoering van de Test NOK-knop; afkeuringen direct in DevOps tellen niet mee. |
| Jira opgelost | Meldingen op naam van deze behandelaar die in de periode zijn opgelost. |
| Jira open | Meldingen die nu nog open op deze behandelaar staan (werkvoorraad, los van de periode). |
| SLA gehaald | % van de opgeloste meldingen dat binnen de SLA-termijn Time to resolution is opgelost. |
Kleuren bij Bezetting
Fases van een DevOps-item
New→Active→Resolved→Test (UAT)→Closed
- New: aangemaakt, nog niet opgepakt (backlog of sprint).
- Active: de ontwikkelaar is ermee bezig — start van de doorlooptijd.
- Resolved: opgeleverd door de ontwikkelaar, klaar voor test — telt als opgeleverd.
- Test OK → Closed (tag TEST OK); Test NOK → terug naar Active (tag TEST NOK) en telt als Test NOK.
Jira-statussen en SLA
- Open: alles wat nog niet in de categorie Done staat (bv. New, In progress, Waiting for customer).
- Opgelost: de melding kreeg een oplosdatum (categorie Done).
- SLA gehaald: opgelost vóór de deadline van Time to resolution; niet gehaald: te laat opgelost of verlopen.
Lees de cijfers met context
- Een lage bezetting kan komen door overleg, ondersteuning of werk zonder urenregel; een lange doorlooptijd door wachten op de klant of op test.
- De cijfers zijn een hulpmiddel voor het gesprek, geen oordeel op zichzelf.
Laden...
Thuiswerken op een andere dag, of verlof — één knop, kies het type in het venster dat opent.
| Type | Datum | Status | |
|---|---|---|---|
| Laden... | |||
| Naam | Functie | Type | KPI's | Taakomschrijving | HR-cyclus | |
|---|---|---|---|---|---|---|
| Laden... | ||||||