Hoppa till innehållet
TimeRetain
Öppna appen

Tidsregistrering för utvecklare: en egen logg

Uppdaterad 6 minuter Av David från TimeRetain

Mjuk scen i 3D-lera med en dator som visar en abstrakt kodredigerare med pastellblock, en kraftig timer, ett förgrenat gitliknande diagram, en mugg och en växt på ett gräddvitt skrivbord.

Tidsregistrering för utvecklare kan vara ett personligt underlag över dina egna timmar. Du behöver inget tillägg i kodredigeraren eller något program som tar skärmbilder för att föra en logg.

Loggen kan visa varför en kort uppgift tog hela veckan. Den kan också beskriva arbetet bättre än ”blandade grejer” och summera mötestiden.

Vad underlaget är till för

En personlig tidslogg kan besvara fyra praktiska frågor:

  1. Vad gjorde jag egentligen den här veckan? Vid nästa utvecklingssamtal är det en lista med daterat arbete, inte ”arbetade med plattformen”.
  2. Vad kostar en uppgift i tid? Jämför uppskattningar med registrerade timmar för att se vilka delar du missade.
  3. Vart tog veckan vägen? Håll funktioner, felsökning, granskning, möten och oväntade sidouppgifter åtskilda. En mötessumma ger något konkret att diskutera när prioriteringar konkurrerar. Ta med förberedelser om du vill se hela mötestiden.
  4. Vad ska jag fakturera? Om du fakturerar kunder direkt behöver underlaget timmar med anteckningar som kunden känner igen.

Behåll en enkel egen logg: vad du arbetade med, för vem och hur länge.

Använd manuell tidsregistrering med några anpassningar för utvecklare.

Den minsta användbara posten

Håll varje post så kort att du faktiskt skriver den:

FältVarför behålla det?
Projekt eller kundVilken produkt, kodbas eller kund arbetet hör till.
Start och stoppFaktiska gränser, inte en längd skriven ur minnet.
AnteckningResultatet, med ärende- eller grennamn när det finns.
DebiteringsstatusBara om du fakturerar. Anställda kan hoppa över kolumnen.

”PROJ-142: rättade kapplöpningsfel i kassan” går fortfarande att förstå vid granskning eller fakturering. ”Kodning” gör det inte.

Om posten kan hamna hos en kund eller chef beskriver du resultatet med deras ord: vad som rättades, levererades eller granskades. Kampen med webpack stannar i en privat anteckning.

Du behöver inget uppgiftsträd som speglar ärendehanteringen.

Håll projekt- eller kundarbetet samlat och märk felsökning, granskning eller möten så att du kan jämföra tiden mellan projekt.

En vanlig dag räcker en anteckning.

En dag som fortfarande är begriplig nästa månad

Här är en tänkt dag:

DatumStartSlutProjektAnteckningTypTotalt
12 aug09:1010:40KassaPROJ-142: rättade kapplöpningsfel i kassanFelsökning1 h 30 min
12 aug10:4011:20KassaGranskade PR #418 om nya betalningsförsökGranskning40 min
12 aug11:3012:20PlattformSprintplaneringMöten50 min
12 aug13:1514:10KassaLäste dokumentation om betalningsflödet, uppskattatEfterforskning55 min

Den sista raden är en uppskattning utifrån utvecklarens anteckningar och kalender. En senare commit hjälper till att identifiera uppgiften men fastställer inte passets längd.

Registrera arbetspass, inte aktivitet i redigeraren

En aktivitetslogg från utvecklingsmiljön lämnar två möjliga luckor i ditt personliga underlag.

För det första bevisar en öppen redigerare inte arbete, och en stängd bevisar inte vila. Att läsa biblioteksdokumentation, skissa en datamodell på papper och stirra i taket tills buggens orsak blir tydlig är delar av uppgiften. Ett verktyg begränsat till redigeraraktivitet kan missa det arbetet.

För det andra kan projektet eller syftet saknas. Ett arkivnamn eller en fönstertitel kan identifiera projektet. En gemensam dokumentationssida visar inte nödvändigtvis vilken kund som behövde efterforskningen.

När etiketter saknas måste du tolka aktivitetsloggen efteråt. Där behöver automatisk tidsregistrering din bedömning.

En bakgrundslogg kan vara ett säkerhetsnät som du klassificerar senare. Använd den för att fylla luckor i passloggen.

Använd arbetspasset som enhet. Starta timern när du sätter dig med en uppgift. Stoppa den när du byter uppgift, möte eller kund och pausa för raster. En kort anteckning bredvid gränserna ger sammanhang vid genomgången.

Loggen besvarar dina frågor. Du kan hålla den åtskild från eventuell övervakning som arbetsgivaren använder. Håll anteckningarna inom det som arbetsgivaren eller kunden tillåter dig att skriva ner utanför deras system.

Återskapa ett missat pass medan du minns det

En commit eller pull request kan påminna om vad du arbetade med. Kalendern och meddelanden kan fylla i resten.

Använd ledtrådarna för att uppskatta ett missat pass och märk det som uppskattat. Två commits med en timmes mellanrum bevisar inte en timmes arbete. Du kan ha tagit paus eller bytt uppgift mellan dem.

Efterforskning och felsökning kan helt sakna commits. Ta med arbetet när du minns det i stället för att behandla kodändringar som hela uppgiften.

Om du inte kan göra en användbar uppskattning lämnar du längden okänd. Registrera tiden medan du arbetar under nästa pass.

Granska dina uppskattningar med timmarna

Om du registrerar uppgiftens hela tid visar loggen hur den förhåller sig till uppskattningen.

Skriv uppskattningen i ärendet, registrera uppgiften och jämför. Leta efter två saker i jämförbara uppgifter:

  • Utrymme för missat arbete. Om liknande rättningar gång på gång kräver granskning och testning utöver uppskattningen tar du med tid för de stegen nästa gång. Lämna större osäkerhetsmarginal för obekant arbete.
  • Var överskridandet finns. Jämför tid för kodning, felsökning, integration, miljöinställning och granskning. När loggen visar ett mönster uppskattar du delarna separat.

Det fungerar också för fast pris. När uppdraget är klart delar du ersättningen på alla timmar för att se intäkten per timme före kostnader. Använd timmarna för att planera liknande arbete. Du kan kontrollera nästa pris mot dina kostnader och ditt inkomstmål i stället för att upprepa den timnivån.

Registrera felsökning och omarbete för kunder

Hoppa över avsnittet om du inte arbetar för kunder. Felsökning och omarbete kan försvinna i en vag utvecklingspost.

Felsökning. Registrera passet och beskriv resultatet: ”Spårade och rättade bugg med dubbla webhooks i betalningsflödet” är en rad som kunden kan förstå.

Håll testning, felsökning och omarbete i separata poster när det hjälper genomgången. Loggen kan innehålla tid som du inte fakturerar.

Märk omarbetet tydligt så att du kan granska timmarna det tog. Uppdelningen i debiterbar och icke debiterbar tid kan hjälpa dig att ordna underlaget.

Återvändsgränder. En beroendekonflikt kan ta fyra timmar trots en kort uppgiftsbeskrivning. Registrera den verkliga längden och beskriv hindret.

Om fakturan använder en mindre siffra behåller du de fyra timmarna i din egen logg. Att ändra källunderlaget till ”kanske två” förlorar information.

Behåll också arbete utan kund synligt. Offerter, fakturering och lärande av ett ramverk som ingen kund bad om tar tid från samma vecka som du fakturerar. Utan dem underskattar du hur stor del av veckan företaget behöver.

Så passar TimeRetain in

En utvecklares tidslogg innehåller systemen du arbetar med, sena kvällar, den faktiska mötestiden och, om du fakturerar, kundnamn och priser. Du behöver inte ladda upp underlaget för att behålla det.

TimeRetain är en manuell timer för att behålla underlaget på din enhet. Du ser hur mycket tid som gick till granskning, möten eller felsökning och vad varje pass gav. Ingenting bevakar utvecklingsmiljön.

Om du fakturerar använder du anteckningarna för att förklara levererat arbete. Behåll obetalt omarbete i din egen logg så att du ser vad projektet faktiskt tog.

Den primära tidsloggen ligger på din enhet. Om du aktiverar synkronisering lagrar TimeRetain en krypterad kopia på sina servrar.

TimeRetain

Behåll en vecka som du kan förklara. Registrera nästa pass i TimeRetain.

Börja med en vecka

Bygg inget system. Under en vecka registrerar du bara verkliga arbetspass: projekt eller kund, start, stopp och en kort anteckning med ärendet. Använd git och anteckningar för att uppskatta missade pass medan du minns dagen. Lämna luckor som du inte kan styrka.

Läs sedan igenom. Jämför mötestiden med hur veckan kändes. Jämför en eller två uppgifter med dina uppskattningar. Om underlaget hjälper dig att granska arbetet eller förbereda en faktura och insatsen känns rimlig kan du fortsätta.

Frågor och svar

Hur registrerar utvecklare sin tid?

Ett sätt är att starta en timer när arbetspasset börjar, stoppa när du byter uppgift och beskriva resultatet i en kort anteckning. En anteckningsbok eller ett kalkylblad kan innehålla samma underlag. Att läsa dokumentation och fundera på en bugg räknas också som arbete.

Hur återskapar jag timmar som jag glömde att registrera?

Använd git-commits, pull requests, CI-körningar och kalenderhändelser som ledtrådar, inte bevis på passens gränser. Återskapade timmar kan bli för många eller för få eftersom luckor kan innehålla pauser, annat arbete eller efterforskning utan någon commit. Märk dem som uppskattningar och lämna längden okänd när underlaget är för tunt.

Behöver en utvecklare automatisk tidsregistrering?

En logg begränsad till utvecklingsmiljön kan missa arbete utanför editorn, och den kan sakna kund- eller projektetiketter. Automatisk registrering kan hjälpa dig att hitta missade pass. Välj metoden som du kan förklara och rätta med minst arbete.

Hur registrerar frilansutvecklare felsökning?

Registrera hela felsökningspasset och beskriv resultatet, även om du senare fakturerar en mindre summa. Behåll omarbete i din privata logg så att du kan granska tiden det tog.

Förbättrar tidsregistrering utvecklares uppskattningar?

En jämförelse mellan registrerade timmar och ursprungliga uppskattningar kan visa var de missade. Använd mönster från liknande uppgifter för att justera framtida uppskattningar, med utrymme för obekant arbete och variation.