Kontekstinhallinta2 min luettavaa

Poistin yli puolet projektin muistista, eikä mitään kadonnut

Projektin tärkein tiedosto kasvaa joka viikko, koska lisääminen tuntuu turvalliselta ja poistaminen ei. Näin lyhensin sen puoleen niin, ettei yhtään tietoa kadonnut.

Poistin yli puolet projektin muistista, eikä mitään kadonnut

Poistin projektin tärkeimmästä tiedostosta yli puolet. Riviluku putosi 354:stä 169:ään, eikä yhtään tietoa kadonnut mihinkään.

Tiedosto oli se, josta työ alkaa: Tilannekuva, ehdottomat säännöt, tehdyt päätökset, kaikki, mitä pitää tietää ennen ensimmäistä muutosta. Sellainen tiedosto kasvaa itsestään. Jokainen työsessio lisää siihen rivin, koska lisääminen tuntuu turvalliselta ja poistaminen ei. Puolen vuoden päästä alussa on kolmesataa riviä mennyttä ja vasta niiden jälkeen tieto siitä, mikä on juuri nyt totta.

Pitkä ohje opettaa selaamaan

Tässä on se kohta, joka maksaa. Kiireinen lukija ottaa pitkästä ohjeesta alun ja arvaa lopun. Kielimalli lukee kyllä koko tiedoston, mutta se painottaa mitä sattuu: Kolmesataa riviä päättynyttä historiaa vie tilaa niiltä kymmeneltä riviltä, jotka oikeasti sitovat. Sääntö hukkuu kertomukseen siitä, miten säännön kanssa on aiemmin pärjätty.

Ja ohje, jota vain selataan, on sama asia kuin ei ohjetta ollenkaan.

Mitään ei poisteta ennen kuin tietää, missä se jo asuu

Leikkaus meni yhdellä säännöllä: Poistin vain sellaista, mikä on jo tapahtunut ja päättynyt. Nykytilaan, sääntöihin ja ansoihin en koskenut lainkaan.

Ennen jokaista poistoa tarkistin, että sama tieto löytyy toisaalta. Ihan konkreettisesti hakemalla: Lokitiedosto kertoi, että kaksi poistettavaa aihetta mainitaan siellä 12 ja 69 kertaa. Neljän tuonnin yksityiskohdat olivat kymmenessä päivätyssä lokimerkinnässä. Lähteet olivat omassa tiedostossaan, päätökset omassaan. Vasta kun kappaleelle löytyi osoite, se sai lähteä.

Siinä on koko temppu. Poistaminen tuntuu vaaralliselta, koska yleensä poistetaan muistista. Tässä ei poistettu muistista mitään, vaan lopetettiin saman asian kertominen kahteen kertaan. Projektin muisti ei ole arkisto: Arkisto on erikseen, ja se on juuri se paikka, josta tarkistat ennen leikkausta.

Jäljelle jäävä järjestetään ensimmäisen lukukerran mukaan

Pelkkä lyhentäminen ei riitä, koska väärässä järjestyksessä olennainen hukkuu myös 169 riviin. Rakensin loput siihen järjestykseen, jossa uusi lukija ne tarvitsee:

  • Tilanne lukuina. Yksi taulukko, joka vastaa kysymykseen missä mennään. Ei proosaa.
  • Ehdottomat säännöt. Nämä säilyivät sanasta sanaan. Ne ovat tiedoston lyhin ja kallein osa.
  • Ansat. Ne kohdat, joihin on jo kerran astuttu. Ilman tätä osiota sama virhe tehdään toisen kerran.

Testi on yksinkertainen. Anna tiedosto uudelle ihmiselle tai uudelle mallille. Jos ensimmäinen kysymys kuuluu "missä mennään", järjestys on väärä.

Mitä voit tehdä tällä viikolla

Ota se tiedosto, josta oma projektisi alkaa. Se voi olla brief, README, jaettu muistio tai se yksi dokumentti, johon on vuoden ajan kirjoitettu kaikki. Käy se läpi kappale kerrallaan ja merkitse jokainen yhdellä kahdesta sanasta: Totta nyt tai historiaa.

Historia ei mene roskiin. Sille etsitään osoite: Loki, päätöslista, vanha muistio, mikä tahansa paikka, jossa se jo on tai jonne sen voi siirtää. Kun osoite löytyy, kappale poistetaan. Sitten järjestät jäljelle jäävät niin, että ensimmäisenä on tilanne lukuina.

Puolet pois ei ole tavoite, vaan yleensä vain lopputulos. Tavoite on, että tiedosto luetaan taas loppuun asti.