Een bug inschatten zonder dat deze kan worden gereproduceerd
Hoe u een bug kunt inschatten die niet reproduceerbaar is: u kunt de omvang van de oplossing niet bepalen, alleen die van het zoekproces. Hoe u een tijdslimiet kunt stellen aan het onderzoek in plaats van te stemmen over een story die niemand kan inzien.
Als u het niet kunt reproduceren, kunt u het niet inschatten. U kunt het wel inschatten door ernaar op zoek te gaan.
Een bug die niet kan worden gereproduceerd, bestaat uit twee onbekende factoren die onder één ticket vallen. De eerste onbekende factor is de oorzaak: er is een symptoom in de productieomgeving, maar er is geen betrouwbare manier om dit lokaal te reproduceren, geen consistente stacktrace en geen regel in de logbestanden die er altijd aan voorafgaat. De tweede onbekende factor is de oplossing, die volledig afhankelijk is van de eerste. Het toekennen van een score aan de oplossing voordat de oorzaak bekend is, komt neer op het beoordelen van een story die het team in feite niet kan overzien.
De oplossing is niet altijd moeilijk als u de oorzaak eenmaal hebt gevonden; vaak volstaat een wijziging van één regel. Het kostbare deel is het opsporen ervan. Het inschatten van de zoektijd is realistisch; het inschatten van de oplossing is wishful thinking.
Wat er in de kamer wordt gezegd
Ingenieur A: “Ik denk dat het aan het ongeldig maken van de cache ligt.”
Ingenieur B: “Ik denk dat het een kwestie van inzet van de medewerker is.”
Inleiding: “Is er iemand die dit op verzoek heeft weten te realiseren?”
Vraag: „We hebben twintig dingen geprobeerd. Niets bleek betrouwbaar.”
Ondersteuning: „Het gaat om drie gebruikers per week, altijd op dinsdagmiddag.”
Vragen die het waard zijn om te stellen voordat u gaat stemmen
- Wat is het symptoom en hoe vaak treedt het op?
- Is er al logboekregistratie op de vermoedelijke paden, of moeten we die eerst toevoegen?
- Is er een klant met een account waarvan bekend is dat het niet in orde is, waarmee wij dit kunnen reproduceren?
- Wat zijn de kosten van deze fout voor de klant per week, en rechtvaardigt dit een grondige analyse?
- Wat is de tijdslimiet voor het onderzoek voordat wij er opnieuw op terugkomen?
Twee genoemde theorieën en geen reproduceerbare resultaten vormen geen basis om tot een besluit te komen; het is een onderzoek dat gefinancierd moet worden. Wijs er een budget aan toe en stel een mijlpaal vast, en maak vervolgens een nieuwe raming zodra de oorzaak een naam heeft gekregen.
Stel een budget voor het onderzoek vast. Wanneer de oorzaak een naam heeft, maak dan een afzonderlijke schatting van de kosten voor het verhelpen ervan.
Zie het inschatten van een onbetrouwbare test voor hetzelfde patroon, en veelvoorkomende fouten bij planning poker over het inschatten van bugs op functieniveau. Bekijk de andere uitgewerkte schattingsvoorbeelden, of start een gratis planning poker-sessie wanneer de oorzaak bekend is.