Toyota on tunnetusti tehokkain organisaatio planeetalla ihmiskehon ulkopuolella ja yksi heidän filosofioistaan ​​on välttää dokumentaatiota. Sen sijaan, että valmistettaisiin "prosessi", kun joku asennussarjalla tarvitsee enemmän pultteja, heillä on vain 5 säiliöruuvia hyllyltä ja kun toinen on tyhjä, he siirtävät sen hyllyltä ja joku tulee joka tunti ja täyttää kaikki hyllyt takaa. Ei tarvitse dokumentoida mitään, prosessi tekee sen puolestasi.

Siellä oli viime artikkeli kvartsista joka puhui Applen huomion tarkistuslistoista.

Näyttää siltä, ​​että avain Applen luovuudelle, nopeudelle ja sopeutumiskyvylle on sen pinnalla täysin päinvastainen sellaisen vapaana pyörittävän luovuuden, jota voisi odottaa. Se on tarkistuslista ... todella pitkä.

Mikä sai minut ajattelemaan, mitä minun filosofia tarkistuslistoista on. Tarkistelistoja on paljon väärin. He ovat vanhentuneita. Ne voivat olla pitkiä ja tylsiä ja toistuvia. Kuten kaikki mitat, he voivat keskittyä vääriin asioihin. Mutta kaikki nämä asiat ovat totta myös ohita tarkistuslistat, eikö? Tarkoitan kolmannen kerran, kun olet tehnyt saman virheen, on todennäköisesti aika myöntää, että tarkistuslistauksen jälkeen saattoi säästää aikaa.

Mutta tarkistuslistat ovat vain hyviä, jos niitä sovelletaan, ja ne päivitetään usein, ja olet yhä ihmisen haju, joka, kohtaamme sen, ei ole rakennettu täydelliseksi koko ajan.

Todellinen maailma ongelma

Meillä on standardi Drupal asennus alkaa useimmille Drupalin asiakkaille. Tämä sisältää moduulit, asetukset, oletuskäyttäjät ja oletustulosten tiedot. Se oli tarkistuslista, mutta se oli aina vanhentunut. Sitten joku meni sisään ja teki niin täsmälliseksi, että kukaan , jolla oli vain vähän tietoa Drupalista, pystyi tekemään sen, joten kaikki liikkuvat Drupal-ihmiset vihasivat sitä, joten otimme sen pois ja emme voineet kouluttaa uutta sen päälle ja vain vanhempi Drupal-kehittäjä voisi seurata sitä, joten aloitimme sen koodaamisen Drush.

Drush tarkoittaa, että kenelläkään Drupalin kokemuksella voisi olla pari riviä koodia ja kaikki "tapahtuu" maagisesti. Ei enää "inhimillistä virhettä", se on tarkistuslista, mutta sen sijaan, että sotkuinen ihminen yrittää seurata tarkistuslistaa, tietokone seurasi sitä.

Ongelmana siinä oli, että jopa yksinkertaisin muutos tarvitsi kehittäjää ja jokainen muutos oli testattava ja se hajosi melko nopeasti.

Lopulta törmäsimme ilmeiseen ratkaisuun, joka on jotain vaikeasti koodattua Drushissa, mikä teki siitä hieman vaikeaa muuttaa.

Nyt meillä on vain sivusto, jota kutsutaan "kloonaksi" tai jotain sellaista ja kun meillä on uusi asiakas, vain kopioimme sen. Muuttelemalla siihen osallistui ohjelmoija ja paljon muuta työtä, nyt joku, jolla on salasana tiimillämme, voi mennä ja muuttaa jotain. Jos suunnittelija haluaa erilaisia ​​testitietoja, he muuttavat sen ja se tulee automaattisesti seuraaviin projekteihimme. Jos pääministeri päättää tarvitsemme toisen oletuskäyttäjän koulutustarkoituksiin, he luovat yhden ja se tulee olemaan seuraavassa projektissamme.

"Ensimmäistä kertaa, kun teet jotain, tee se. Toinen kerta, tee se ja ota muistiinpanoja. Kolmas kerta, pysähdy ja katso onko se todella sama. Jos se tekee prosessin siitä, koska siellä todennäköisesti on neljäs ja viides, ja niin edelleen. "- Gavin Andresen, CTO Bitcoin

Meillä oli onni saada Gavin täällä Gravity Switch: ssä muutama vuosi. Hän osallistui melko vähän kulttuuriimme ja koodimme, mutta hänen viisautensa siitä, milloin "hakata" asioita ja milloin menettelyllistää niitä, on todella muuttunut, miten lähestyn dokumentaatiota.

Gavin opetti meille, että hyvä koodi on itse dokumentoiva.

Käskyt 10 käskyä

  1. Sinun ei pidä ylipapereita - Jos dokumenttien pitäminen kauemmaksi kuin tehdä, olet liian dokumentoitava.
  2. Sinun täytyy automatisoida ennen asiakirjaa - Ota inhimilliset tekijät aina kun se on mahdollista.
  3. Sinun ei pidä sekoittaa samaa asiaa kolme kertaa - Jos olet sekaisin tai joutunut hahmottamaan saman asian kahdesti, on aika menettelyllistää.
  4. Jos se epäonnistuu, tee se epäonnistumaan - Kaikkein vaikeimmat asiat ovat sellaiset asiat, jotka menetät ensimmäisen (ja jopa kymmenennen) ajan, kun tarkistat niitä. Jos sinulla on mahdollisuus valita sellainen prosessi, joka lopettaa kokoonpanolinjan tai kaatuu sivustosi, jos se epäonnistuu tai joka aiheuttaa vähäisen virheen, valitse aina "ota alas sivusto", koska ainakin huomaat ongelman ensimmäisen kerran .
  5. Sinun on laitettava prosessi, jossa täytyy mennä sen yli - koska se on löydettävä.
  6. Omista se - Kun noudatat prosessia, muista, että työnne on tuottaa paras tulos. Se ei ole seurausta prosessista. Aina lähestyä sitä epäilevästi ja tarkastella kriittisesti tuloksia.
  7. Myönnä, kun se ei toimi - Joskus asiat saattavat näyttää samalta, mutta eivät. Maailmassamme tarvitsemme aina normaalit testitiedot, mutta WordPressin luominen on täysin erilainen kuin luominen Drupalissa, joten tarvitsemme täysin erilaisia ​​prosesseja.
  8. Korjaa se nopeasti - Jos prosessi on vanhentunut, älä vain ota huomioon asiaa ja siipeä, tai valitse ja valitse osat, joita haluat noudattaa. Korjaa se kun mennä. Useimmissa tapauksissa se vie vain muutaman minuutin, ja ne minuutit muuttuvat tunteiksi seuraavan kerran, kun sinä tai joku muu käyttää prosessia.
  9. Valitse taistelut - Steve Krug (käyttökelpoisuuden päällikkö) sanoo, että sinun pitäisi testata usein. Etsi suurin ongelma. Tee VÄHIMMÄSTÄ työtä, jonka voit tehdä niin, että se ei ole enää suurin ongelma ja toista. Et yritä saada minkäänlaista kynää ulos järjestelmästä, yrität saada koko järjestelmän toimimaan paremmin.
  10. Uudelleen - Jos olet käyttänyt prosessia kymmenkunta kertaa, mutta et ole muuttanut sitä, sinun pitäisi miettiä, miten voit tehdä sen tehokkaammaksi tai jos sinun pitäisi vain automatisoida se.