Tool: Allokerings overblik

En af mine opgaver som ansvarlig for Nodes’ QA-afdeling, var at sikre, at der var allokeret den korrekte mængde QA-ressourcer på udviklingsprojekterne. Derfor var det vigtigt for mig, hurtigt at kunne trække nødvendige tal ud af systemerne, for lettere at kunne danne mig et overblik.
Allokering i Nodes sker i Forecast og tidsregistrering via Harvest, således var opgaven at finde ud at sammenkøre data fra de to systemer. Harvest har et ældre, og kun delvis dokummenteret, API men det var forholdsvis let at få de relevante tal ud, problemet var at få data ud af Forecast. Via Chrome Developer Tools kunne man se, at Forecasts website henter al information via et API, dermed var opgaven at finde ud af, hvordan jeg lettest kunne hente en store mængde data for alle aktive projekter og ansatte, ud fra et uofficielt og udokumenteret API, uden det blev for langsomt og dermed ubrugeligt. Løsning her blev et cronjob der henter data om projekter og ansatte og gemmer dem i en database. Selvom hastigheden blev forbedret ved at hente dele af dataen derfra, oplevede jeg stadigvæk dårlig performance når resultatet og udregninger for 60-90 aktive projekter skulle vises. For at gøre toolet brugbart og reducere load time fra 2-5 minutters lavede jeg site der viste listen over aktive projekter og via jQuery hentede data for hvert af projekterne asynkront.