Work-items in Visual Studio en urenregistratie: een administratieve last?

Hoe developers tijd schrijven

Als softwareontwikkelaar ben je in de regel gewend om met een systeem te werken waarin je kunt bijhouden welke functionaliteit nog gebouwd moet worden en welke issues er eventueel zijn. Deze systemen worden ook ‘work-item trackers’ of ‘ application lifecycle management’ (ALM) systemen genoemd. Bekende systemen zijn Team Foundation Server (van Microsoft) en Jira (van Atlassian). Als je gewend bent om elk aspect van een project in detail te registreren, voelt het moeten verantwoorden van tijd in een ander administratief systeem al snel als dubbel werk.

In dit artikel geven we aan hoe je een koppeling tussen Team Foundation Server (TFS) en QicsMilestones (online software voor projectmanagement, urenregistratie en facturatie) zou kunnen realiseren en je jouw ontwikkelaars een hoop tijd en frustratie kunt besparen. Hoewel dit artikel verder specifiek op TFS ingaat, zijn dezelfde aandachtspunten en conclusies in het algemeen ook toe te passen op andere systemen, zoals het eerdergenoemde Jira, maar ook GitHub Issues, BaseCamp of Redmine.

Aandachtpunten

Bij het inventariseren van een dergelijke koppeling kom je er al snel achter dat er geen eenvoudige één-op-één oplossing is. De systemen zijn met een heel ander doel gebouwd en verschillen op een aantal belangrijke punten flink van elkaar.

De mate van detail

De eerste hobbel die je moet nemen is het bepalen van de mate van detail die je wenst te behouden bij het schrijven van uren. Afhankelijk van de gebruikte templates kent TFS een aantal begrippen binnen een project, zoals ‘release’, ‘iteratie’, ‘backlog item’ en ‘sprint item’. Zo kan het zijn dat elke release overeenkomt met een project in QicsMilestones en dat de backlogitems met de taken overeenkomen. Maar het kan net zo goed zijn dat een project in TFS gelijkloopt met het project in QicsMilestones en dat elke iteratie een taak is.

Het projectnummer van QicsMilestones

Het projectnummer van QicsMilestones zal op het beoogde projectniveau moeten worden vastgelegd, of er moet voor gezorgd worden dat de omschrijving van het project exact hetzelfde is. Bij het automatisch boeken van uren moet de koppeling immers weten op welk project er tijd verantwoord moet worden. Hetzelfde geldt voor het taakniveau.

Een manier om dit vast te leggen is om de projecten eerst in QicsMilestones aan te maken en deze vervolgens automatisch (met de juiste verwijzingen) in TFS te laten genereren. Daarna kunnen er aangepaste velden voor de verwijzingen worden aangemaakt.

Het koppelen van medewerkers

Ook het stambestand ‘medewerkers’ zal gekoppeld moeten worden. Het is vaak het eenvoudigst om dit op basis van de (Windows) gebruikersnaam of het e-mailadres te koppelen.

Verwijzing naar artikel meegeven

Wanneer geen gebruik van taken wordt gemaakt, moet er een verwijzing naar een artikel worden meegegeven. Dit kan door alle boekingen vanuit development op een vast artikel te boeken. Als er variatie aangebracht moet worden, kan dit door een aangepast veld op een TFS work-item aan te maken.

TFS kent geen velden om tijd te registreren

Het volgende probleem waar je tegenaan loopt is dat TFS standaard géén velden kent om de bestede tijd in te registreren. Elke bug, taak of issue kent een status en de historie van deze statussen wordt bijgehouden, maar dit zegt nog niets over de tijd die er daadwerkelijk aan is besteed. Deze informatie zal hoe dan ook moeten worden ingegeven door degene die het work-item in behandeling heeft. Zo kan er een veld worden toegevoegd dat verplicht wordt zodra de taak wordt afgehandeld. Op deze manier kan de taak in QicsMilestones geboekt worden.

Diverse oplossingen mogelijk

Voor meer geavanceerde scenario’s zijn er diverse oplossingen die het registreren van tijd op work-items mogelijk maken. Als de oplossing een eigen API heeft, wordt het koppelen van de geschreven tijd met QicsMilestones mogelijk. Ook bieden dergelijke oplossingen de mogelijkheid om direct de in TFS geschreven uren via diverse invalshoeken in te zien.

Wanneer moet de informatie worden geboekt?

Tot slot moet overwogen worden wanneer de informatie in QicsMilestones moet worden geboekt. Eén mogelijkheid is om gebruik te maken van Service Hooks. Hierdoor kun je bijvoorbeeld een bericht krijgen zodra een work-item wordt afgehandeld. Dat is dan meteen het moment waarop je de bestede tijd op dat item in QicsMilestones kunt boeken. Een andere methode is om regelmatig (bijvoorbeeld elke nacht) de actuele stand van zaken op te halen.

Conclusie

Het koppelen van je development omgeving aan een tijdschrijfsysteem als QicsMilestones kan zeker voordelen bieden. Bereid je wel voor op een koppeling die complexer is dan je op het eerste gezicht misschien zou verwachten. Door het open karakter van de meeste systemen en met behulp van de API van QicsMilestones is het echter goed mogelijk om een oplossing te maken die aansluit bij de werkwijze in de organisatie en die de medewerkers in staat stelt om snel uren te schrijven in hun favoriete omgeving. Heb je hulp nodig bij het koppelen van jouw work-item software aan QicsMilestones? Stuur dan een mail naar m.velthuijsen@qics.nl

Plaats een reactie

 *
 *
 *
 *

Probeer het nu zelf

× Registratie gelukt! U ontvangt zo snel mogelijk een e-mail met daarin de benodigde gegevens.
× Registratie mislukt

Blijf op de hoogte

Blijf op de hoogte

Schrijf u nu in voor de nieuwsbrief en krijg informatie over de nieuwste ontwikkelingen

× Aanmelding gelukt! U ontvangt binnenkort onze nieuwsbrief
× Aanmelding mislukt

Bezoekers vonden ons via