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 Milestones (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 Milestones 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 Milestones en dat elke iteratie een taak is.

Het projectnummer van Milestones

Het projectnummer van Milestones 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 Milestones 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 Milestones 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 Milestones 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 Milestones 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 Milestones 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 Milestones 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 Milestones 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 Milestones? Stuur dan een mail naar m.velthuijsen@qics.nl

Tags: ICT & Consultancy
Gratis proberen  De beste oplossing voor het plannen, schrijven en factureren van uren.

Blijf op de hoogte

Volg Milestones

Niet overtuigd of niet het juiste moment? Wij publiceren regelmatig inspirerende blogs over efficiënter plannen, uren registreren en factureren. Laat je e-mailadres achter en je krijgt twee keer per maand een mailtje van ons!

Bezoekers vonden ons via

Branche-keuze

Momenteel ziet u content voor de branche
Accountancy

Qics is nu Fortes

Hoewel onze naam is veranderd, blijft onze toewijding aan het leveren van hoogwaardige software en diensten voor accountancy-, consultancy- en SaaS-providers onverminderd sterk.

Ontdek meer Fortes-oplossingen, ontworpen om uw organisatie te versterken:

Kies de juiste projecten
  • Strategisch Portfolio Management
  • Project Portfolio Management (PPM)
  • Enterprise Agile planning (SAFe)
  • Planning resourcecapaciteit
  • Enterprise dashboards en rapportage
  • Integraties met Jira, Azure DevOps en de belangrijkste ERP en HRM oplossingen
Voer projecten juist uit
  • Portfolio overzicht en fase model
  • Projectplanning en uitvoering met Microsoft 365 en AI
  • Resource management
  • Flexibel gebruik van (eigen) project modellen
  • Dynamische statusrapportage en documentsjablonen
  • Tijdregistratie en budgettering
Maak je projecten winstgevend (PSA)
  • Tijdregistratie voor klantprojecten
  • Handmatig en elektronische facturatie van uren en abonnementen
  • Projectplanning en rapportage
  • Klantcontractmanagement
  • Integraties met belangrijkste accounting softwarepakketten en Power BI