VSH-Tech
Management App
Financial
Laatst bijgewerkt:
Uren, omzet & resultaat per maand Sum(# Uren) / Verkoopprijs / Resultaat
Uren per allocatietype Billable / Non-billable / Overtime / Intern
Top projecten op resultaat Verkoopprijs − Kostprijs
Project overzicht Budget vs. besteed, per project
ProjectKlantTypeStatusOHW UrenBudget (€)Besteed (€) Open budget (€)Resultaat (€)% Besteed
Project voortgang Looptijd vs. begrote uren — signaleert projecten die harder lopen dan gepland

"% 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.

ProjectKlantLooptijd Tijd vs. uren Begroot (uur)Werkelijk (uur) % besteedSignaal Uren (filter) Uren/maand (gem.)Maandelijks tempo

Klik op een project voor de maandelijkse Tijd vs. Uren-grafiek.

Recente urenregistraties —
DatumMedewerkerRolProjectOmschrijvingKlant Allocatie typeUrenVerkoopprijs (€)Resultaat (€)
Uren verdeling per rol By → Rol
Billable / Non-billable per medewerker % van de uren per medewerker — volgt alle actieve filters
Medewerker Verdeling Totaal (uur) % Billable % Non-billable % Overtime
Productiviteit per medewerker Uren per project, uitgesplitst naar allocatietype

Gebruikt de centrale "Medewerker"-filter hierboven, samen met de andere filters (jaar, maand, klant, project, status, allocatietype).

Kies een medewerker bij de filter "Medewerker" hierboven om de productiviteit te bekijken.
Urenvolledigheid per medewerker Overzicht van alle medewerkers, of zoom in op één naam

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".

Klik op een medewerker in het overzicht, of typ een naam bij "Medewerker" hierboven, voor de dagelijkse kalenderdetails.

Overuren (OT) per medewerker per maand —

Gebaseerd op de "Overtime"-vlag op losse urenregistraties (niet op Allocatietype "Overtime", dat in de praktijk niet wordt gebruikt). Donkerder = meer overuren die maand.

Werklast per medewerker Resterend werk (uur) vs. capaciteit

Een amber naam heeft deze sprint goedgekeurd verlof, afwezig-met-toestemming of een vaste remote-dag — hover over de balk voor details.

Capaciteit instellen Handmatig, per medewerker voor deze sprint

Voeg eerst je team voor deze sprint toe — alleen toegevoegde teamleden verschijnen hieronder, niet automatisch iedereen met een toegewezen item.

MedewerkerResterend (uur)Capaciteit (uur)StatusBijzonderheden
Nog geen Azure DevOps koppeling ingesteld. Een beheerder stelt dit in bij Beheer → DevOps & Jira.
Nieuwe release plannen Wordt een tag op work items, project-breed te gebruiken over sprints heen
Nog geen releases gepland.
Backlog

Laden...

Uren invoeren
Beheer
Nieuwe gebruiker
Bestaande gebruikers
E-mailadresNaamRolInstellingenHours-gebruiker
Laden...
Werkdag-instellingen

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: —

Klantlocaties (lokale tijd)

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.

Extra feestdagen

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.

E-mailservice

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.

Azure DevOps

Sprintboards, backlog, release planning en work items.

Jira

Supportmeldingen (Jira meldingen, Ticket pipeline, Mijn taken).

Azure kosten

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.

Verbinding
Indeling
Azure monitoring (Klantomgevingen)

Voedt het managersscherm "Klantomgevingen". Geen PAT nodig: de app gebruikt een app-registratie (Entra ID) met de rol Monitoring Reader op de resourcegroep hieronder.

Verbinding
Drempels (laatste uur)
Webhook voor Azure-alarmen

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.

Database-inzicht (grootste tabellen en queries)

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.

Verbinding
Privacy

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.

Windows Services Monitoring

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.

Server toevoegen
AI-instellingen (Claude)

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.

Verbinding
Veiligheidsklep
Taken
Audit-log

Wie deed wat en wanneer: (mislukte) logins, wachtwoordresets, beheeracties op gebruikers en rollen, gewijzigde koppelingen/instellingen en schrijfacties naar Hours. Nieuwste bovenaan.

TijdstipWieActieDoelDetailsIP-adres
Laden...
Uren beheren

Kies eerst een jaar om urenregistraties te tonen.

Urenregistraties
DatumMedewerkerProjectKlant Allocatie typeBeschrijvingUren
Kies eerst jaar, klant en project status, en klik op "Tonen".
Klantomgevingen
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).
DTU-verloop
Databases (DTU-gebruik)
Opslaggroei

Kies de periode en klik op Laden: de gebruikte opslag per dag uit Azure Monitor (tot 90 dagen terug), met groei en verwachting.

Gezondheid: CAG prod (pilot)

Laden...

Applicaties
Alarmen
Azure kosten
Productiviteit
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.

Meetings
Quality of service
Release/deploy (zo laag mogelijk)
Thinkwise release/creation/deployment/upgrade. Boven de norm kleurt het rood.
Per medewerker

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 urenGeboekte uren van iedereen in de periode, zónder de niet-gewerkte uren, en hoeveel medewerkers uren boekten.
Niet gewerktUren met allocatie-type (of project) Verlof/vakantie, Feestdag of Geen werkuren, en hun aandeel in alle geboekte uren.
BillableDeel van de uren dat extern (factureerbaar, Fact. type Extern) is geboekt.
Opgeleverd (DevOps)Aantal items dat in de periode naar Resolved/Closed ging.
Test NOKAantal keer dat een item na test is afgekeurd (knop Test NOK in de app) en terugging naar de ontwikkelaar.
Jira opgelostMeldingen die in de periode zijn opgelost.

Kolommen per medewerker

UrenProductieve uren in Hours (zonder Vakantie, Feestdag en Geen werkuren).
Niet gewerktUren 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.
QoSIdem 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.
OverurenUren die in Hours als overwerk zijn gemarkeerd.
BeschikbaarWerkdagen × 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.
BezettingProductieve uren ÷ beschikbaar. Zie de kleuren hieronder.
User stories / Bugs / TasksAantal 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 NOKAantal 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 opgelostMeldingen op naam van deze behandelaar die in de periode zijn opgelost.
Jira openMeldingen 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

onder 80% — weinig uren geboekt t.o.v. beschikbaar 80–110% — normaal boven 110% — meer geboekt dan beschikbaar (overwerk?)

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.
Management Notes
Meetings

Laden...

Mijn taken
Opkomende releases
Klaar voor test (UAT)
Mijn Jira-meldingen
Mijn Azure DevOps-items
Jira meldingen
Ticket pipeline
AfgerondHuidige faseSprint verstreken, nog niet opgeleverdNog te gaan
Planning
Mijn planning

Thuiswerken op een andere dag, of verlof — één knop, kies het type in het venster dat opent.

Mijn aanvragen
TypeDatumStatus
Laden...
Beschikbaarheid
—
Vaste remote-dag Incidenteel remote Verlof Met toestemming afwezig Weekend Outsourcing-dag (minimaal storen) //Gearceerd = aanvraag in afwachting (remote / verlof / afwezig) Rode kop = meer aanwezig dan bureaus beschikbaar
HR Performance
Mijn medewerkers
NaamFunctieTypeKPI'sTaakomschrijvingHR-cyclus
Laden...