Koodaaminen on ajattelemista

Kirjoitettu

Tuotteistaja Jari Parantainen kertoi jo reilut kymmenen vuotta sitten blogissaan, että kirjoittaminen ei sitä, että naputellaan näppäimistöä tai heilutellaan kynää. Kirjoittaminen on ajattelemista. Ja kun ajatus on kirkastunut, siirtyy teksti päästä paperille yhdessä hujauksessa.

Parantainen puhui ihmisille kirjoitetun tekstin tuottamisesta, mutta sama periaate pätee myös koodaamiseen. Aivan samaan tapaa siinäkin koodin sisältö ja rakenne ovat arvokkaassa asemassa.

Edellisessä postauksessani harmittelin, kuinka ohjelmistoala glorifioi kiireen tuntua ja nopeaa tuherrusta ja kuinka monet ohjelmistoprojektien ongelmat ovatkin suorasti tai epäsuorasti siitä lähtöisin.

Asiakkaalle on luvattu ensimmäinen prototyyppi jo viikon päästä aloituspalaverista. Editori on laitettava savuamaan, jottei tarvitse esitellä eioota. Ja sitten onkin jo kiire tehdä uusia ominaisuuksia ja viedä softaprojektia eteenpäin.

Mutta entä jos ensimmäisen prototyypin arkkitehtuuri osoittautuukin kehnoksi? Jos kiire painaa päälle, ei auta muu kuin laittaa purkkaa purkan päälle ja sitoa vyyhti yhteen paukkulangalla.

Toki osa projekteista selviää tästä huolimatta. Mutta on selvää, että kiirementaliteetti lisää epäonnistumisen riskiä.

Koodaajien pitäisikin opetella ajattelemaan enemmän. Sen sijaan että rynnätään oikopäätä IDEn ääreen, pitäisi pysyä hetki kaukana tietokoneesta ja miettiä toteutettavaa projektia ja sen eri osa-alueita.

Sitten kun asiaa on pyöritelty ja pohdittu jonkin aikaa, alkaa päässä muodostuva kuva siitä, mitä ja miten asiaa oikeataan kannattaa lähtestyä. Hyvä käytäntö on vaikkapa se, että yhtäkään koodiriviä ei kirjoiteta, ennen kuin aloituspalaverin jälkeen on nukuttu vähintään yksi yö.