Siirry sisältöön
TimeRetain
Avaa sovellus

Kehittäjän ajanseuranta: pidä omaa kirjaa

Päivitetty 5 minuuttia Kirjoittanut David, TimeRetain

Pehmeä savimainen 3D-kuva kannettavasta, jonka ruudulla on abstrakteja koodilohkoja, sekä ajastimesta, haarautuvasta kaaviosta, mukista ja kasvista vaalealla pöydällä.

Kehittäjän ajanseuranta voi olla oma kirjanpitosi omista tunneistasi. Et tarvitse editorin lisäosaa tai kuvakaappauksia ottavaa ohjelmaa.

Loki voi näyttää, miksi pieni tehtävä söi koko viikon. Se voi myös nimetä työn paremmin kuin ”kaikenlaista” ja laskea kokouksiin menneen ajan.

Mihin kirjanpitoa käytetään

Oma aikakirjanpito voi vastata neljään käytännön kysymykseen:

  1. Mitä oikeasti tein tällä viikolla? Arviointikeskustelun aikaan sinulla on päivätty luettelo töistä, ei vain ”työstin alustaa”.
  2. Mitä tehtävä todella maksaa? Vertaa arvioita kirjattuihin tunteihin ja huomaa puuttuneet osat.
  3. Mihin viikko meni? Erota ominaisuudet, virheiden selvitys, katselmointi, kokoukset ja sivupolut lokissa. Kokoustunnit antavat konkreettisen pohjan keskustelulle kilpailevista tehtävistä. Sisällytä valmistelu, jos haluat nähdä kokousten koko ajantarpeen.
  4. Mitä laskutan? Jos laskutat suoraan asiakkaita, tarvitset tuntien rinnalle asiakkaan ymmärtämiä muistiinpanoja.

Pidä itsellesi selkeää lokia: mitä teit, kenelle ja kuinka kauan.

Käytä manuaalista ajanseurantaa muutamin kehittäjän työhön sopivin tarkennuksin.

Kehittäjän aikamerkinnän vähimmäistiedot

Pidä merkintä riittävän pienenä, jotta todella kirjoitat sen:

KenttäMiksi säilyttää
Projekti tai asiakasMihin tuotteeseen, koodipohjaan tai asiakkaaseen työ kuuluu
Alku ja loppuTodelliset rajat, ei muistista kirjoitettu kesto
MuistiinpanoTulos ja tiketin tai haaran nimi, jos sellainen on
LaskutettavuusVain jos laskutat; palkansaaja voi jättää sarakkeen pois

”PROJ-142: kassapolun kilpailutilanteen korjaus” kertoo edelleen jotakin arviointi- tai laskutusaikana. ”Ohjelmointi” ei kerro.

Kun merkintä voi päätyä asiakkaalle tai esihenkilölle, nimeä tulos heidän sanoillaan: mitä korjasit, julkaisit tai katselmoit. Taistelu webpackin kanssa kuuluu yksityiseen muistiinpanoon.

Et tarvitse tehtäväpuuta, joka jäljittelee tikettijärjestelmää.

Pidä projekti- tai asiakastyö yhdessä ja merkitse virheiden selvitys, katselmointi tai kokoukset, jotta voit verrata niiden tunteja eri projekteissa.

Tavallisena päivänä pelkkä muistiinpano riittää.

Päivä, joka on ymmärrettävä vielä ensi kuussa

Tässä on kuvitteellinen päivä:

PäiväAlkuLoppuProjektiMuistiinpanoLajiYhteensä
12.8.09:1010:40KassaPROJ-142: kassapolun kilpailutilanteen korjausVirheiden selvitys1 h 30 min
12.8.10:4011:20KassaMaksun uusintayrityksiä koskevan PR #418
katselmointi
Katselmointi40 min
12.8.11:3012:20AlustaSprintin suunnitteluKokoukset50 min
12.8.13:1514:10KassaMaksupolun dokumentaation lukeminen, arvioTutkiminen55 min

Viimeinen rivi on kehittäjän muistiinpanoihin ja kalenteriin perustuva arvio. Myöhempi commit auttaa tunnistamaan tehtävän, mutta ei todista jakson kestoa.

Seuraa työjaksoja, älä editorin käyttöä

Editorin käyttöloki jättää omaan kirjanpitoon kaksi huomioitavaa aukkoa.

Avoin editori ei todista työntekoa, eikä suljettu editori todista lepoa. Kirjaston ohjeiden lukeminen, tietomallin hahmottelu paperille ja kattoon tuijottaminen, kunnes virheen syy selviää, kuuluvat tehtävään. Pelkkään editoriin rajattu seuranta voi jättää ne pois.

Myös projekti tai tarkoitus voi puuttua. Repositorion nimi tai ikkunan otsikko voi tunnistaa projektin. Yhteinen dokumentaatiosivu ei välttämättä kerro, minkä asiakkaan takia tutkimusta tarvittiin.

Kun nimet puuttuvat, käyttöloki pitää tulkita jälkikäteen. Silloin automaattinen ajanseuranta tarvitsee harkintaasi.

Taustalla tallennettu käyttöloki voi olla myöhemmin luokiteltava turvaverkko. Käytä sitä täydentämään työjaksojen aukkoja.

Käytä yksikkönä työjaksoa. Käynnistä ajastin istuessasi tehtävän pariin. Pysäytä se vaihtaessasi tehtävää, kokousta tai asiakasta ja keskeytä se tauoilla. Lyhyt muistiinpano rajojen vieressä antaa asiayhteyden myöhempään tarkasteluun.

Lokisi vastaa omiin kysymyksiisi. Voit pitää sen erillään työnantajasi käyttämästä seurannasta. Kirjoita muistiinpanoihin vain sitä, mitä työnantajasi tai asiakkaasi sallii kirjata heidän järjestelmiensä ulkopuolelle.

Palauta unohtunut jakso tuoreeltaan

Commit tai pull request voi muistuttaa tekemästäsi työstä. Kalenteri ja viestit voivat täydentää muuta.

Arvioi unohtunut jakso näiden vihjeiden avulla ja nimeä se arvioksi. Kaksi tunnin välein tehtyä committia ei todista tunnin työtä. Välissä on voinut olla tauko tai toinen tehtävä.

Tutkiminen ja virheiden selvitys eivät aina jätä committia lainkaan. Sisällytä tämä työ muistaessasi sen sen sijaan, että pitäisit koodimuutoksia koko työnä.

Jos et pysty tekemään hyödyllistä arviota, jätä kesto tuntemattomaksi. Kirjaa seuraavan jakson aika työn aikana.

Tarkastele arvioita kirjattujen tuntien avulla

Jos kirjaat tehtävän koko ajan, loki näyttää, miten se vertautuu arvioon.

Kirjoita arvio tikettiin, seuraa tehtävää ja vertaa. Etsi vertailukelpoisista tehtävistä kahta asiaa:

  • Tilaa ohitetulle työlle. Jos samankaltaiset korjaukset tarvitsevat toistuvasti arvioitua enemmän katselmointia ja testausta, sisällytä ne ensi kerralla. Jätä enemmän epävarmuusvaraa vieraalle työlle.
  • Ylityksen paikka. Vertaa ohjelmointiin, virheisiin, integraatioon, ympäristön valmisteluun ja katselmointiin käytettyä aikaa. Kun loki näyttää toistuvuuden, arvioi osat erikseen.

Tämä toimii myös kiinteähintaisessa työssä. Jaa valmistuneen työn palkkio kaikilla sen tunneilla saadaksesi tuntikohtaisen tuoton ennen kuluja. Käytä tunteja samanlaisen työn suunnitteluun. Voit tarkistaa seuraavan palkkion kulujesi ja tulotavoitteesi perusteella sen sijaan, että toistaisit hinnan.

Kirjaa asiakkaan virheiden selvitys ja uudelleen tehty työ

Ohita tämä osa, jos et työskentele asiakkaille. Virheiden selvittäminen ja uudelleen tehty työ voivat kadota epämääräiseen kehitysmerkintään.

Virheiden selvitys. Kirjaa jakso ja nimeä tulos: ”Maksupolun päällekkäisen webhook-virheen paikannus ja korjaus” on asiakkaan ymmärtämä rivi.

Pidä testaus, virheiden selvitys ja uudelleen tehty työ erillisinä merkintöinä, jos se auttaa tarkastelussa. Kirjanpito voi sisältää aikaa, jota et laskuta.

Nimeä uudelleen tehty työ selvästi, jotta voit tarkastella sen tunteja. Laskutettavan ja laskuttamattoman ajan erottelu voi auttaa järjestämään merkinnät.

Sivupolut. Riippuvuusristiriita voi viedä neljä tuntia lyhyestä tehtäväkuvauksesta huolimatta. Kirjaa todellinen kesto ja kuvaa este.

Jos laskussa käytät pienempää lukua, jätä neljä tuntia omaan lokiisi. Alkuperäisen merkinnän muuttaminen muotoon ”ehkä kaksi” hävittää tietoa.

Pidä myös muu kuin asiakastyö näkyvissä. Tarjoukset, laskutus ja sellaisen ohjelmistokehyksen opettelu, jota asiakas ei pyytänyt, tulevat samasta viikosta kuin laskutettavat tunnit. Niiden pois jättäminen aliarvioi yrityksen tarvitseman osuuden viikostasi.

Mihin TimeRetain sopii

Kehittäjän aikakirjanpito sisältää käyttämäsi järjestelmät, myöhäiset illat, todellisen kokousmäärän sekä laskuttaessasi asiakkaiden nimet ja hinnat. Sitä ei tarvitse ladata palveluun pitääkseen kirjaa.

TimeRetain on manuaalinen ajastin, jolla säilytät kirjanpidon laitteellasi. Näet katselmoinnin, kokousten ja virheiden selvityksen ajan sekä kunkin jakson tuloksen. Mikään ei tarkkaile editoriasi.

Jos laskutat, selitä toimitettu työ muistiinpanojen avulla. Pidä laskuttamaton uudelleen tehty työ omissa merkinnöissäsi, jotta näet projektin todellisen ajantarpeen.

Ensisijainen kirjanpito pysyy laitteellasi. Jos otat synkronoinnin käyttöön, TimeRetain tallentaa salatun kopion palvelimilleen.

TimeRetain

Pidä kirjaa viikosta, jonka osaat selittää. Kirjaa seuraava työjakso TimeRetainiin.

Aloita yhdestä viikosta

Älä rakenna järjestelmää. Kirjaa viikon ajan vain todelliset työjaksot: projekti tai asiakas, alku, loppu ja yhden rivin muistiinpano tiketteineen. Käytä gitiä ja muistiinpanoja unohtuneiden jaksojen arviointiin päivän ollessa tuoreessa muistissa. Jätä aukot, joita et pysty perustelemaan.

Lue sitten merkinnät. Vertaa kokoustunteja siihen, miltä viikko tuntui. Vertaa yhtä tai kahta tehtävää niiden arvioihin. Jos kirjanpito auttaa tarkastelemaan työtä tai valmistelemaan laskun ja hyöty tuntuu vaivan arvoiselta, jatka seurantaa.

Kysymyksiä ja vastauksia

Miten kehittäjä seuraa työaikaansa?

Yksi tapa on käynnistää ajastin työjakson alussa, pysäyttää se vaihtaessa ja nimetä tulos lyhyessä muistiinpanossa. Saman kirjanpidon voi pitää muistikirjassa tai taulukossa. Dokumentaation lukeminen ja virheen pohtiminen ovat edelleen työtä.

Miten arvioin kehittäjänä kirjaamatta jääneet tunnit?

Käytä git-committeja, pull requesteja, CI-ajoja ja kalenteritapahtumia vihjeinä, älä todisteina jakson rajoista. Arvio voi olla liian suuri tai pieni, koska väliin voi kuulua taukoja, muuta työtä tai tutkimista ilman committeja. Merkitse tunnit arvioiksi ja jätä kesto tuntemattomaksi, jos todiste ei riitä.

Kannattaako kehittäjän käyttää automaattista ajanseurantaa?

Pelkkään editoriin perustuva loki voi ohittaa editorin ulkopuolisen työn, ja siitä voivat puuttua asiakas- tai projektinimet. Automaattinen tallennus voi auttaa palauttamaan unohtuneita jaksoja. Valitse tapa, jonka selittäminen ja korjaaminen vaatii vähiten työtä.

Miten freelancer-kehittäjä kirjaa virheiden selvittämisen?

Kirjaa koko selvitysjakso ja nimeä tulos, vaikka laskuttaisit myöhemmin pienemmän määrän. Pidä uudelleen tehty työ omassa kirjanpidossasi, jotta voit tarkastella siihen mennyttä aikaa.

Parantaako ajanseuranta kehittäjän aika-arvioita?

Kirjattujen tuntien vertailu alkuperäisiin arvioihin voi näyttää niiden puutteet. Käytä samankaltaisista tehtävistä löytyviä toistuvuuksia tulevien arvioiden muokkaamiseen ja jätä tilaa vieraalle työlle ja vaihtelulle.