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.
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.