
Ohjelmoinnissa varsinainen tuottavuuden kasvu alkaa usein oivalluksesta.
Kun olin aivan nuori ja tein joka ikinen päivä läpi viikon koodia omaksi huviksi, en oikeastaan koskaan suunnitellut mitään. Silti ohjelmat onnistuivat ja tulivat tehdyksi.
Tiedä sitten mistä johtuu, mutta huomasin että ammattimaisessa ohjelmoinnissa suunnittelulla on todellakin iso merkitys.
Olin tähän mennessä tehnyt itse asiassa jo Javalla, Pascalilla, C:llä ja assemblerilla koodia.
Rakastuin alunperin tekniseen oppimiseen; haasteisiin, joita itse uuden kielen (“ekosysteemin”) oppiminen toi tullessaan. Oli merkittävää ja antoisaa oppia tekemään uudella kielellä asioita. Usein myös kieli toi mukanaan jotain, mitä ei yksinkertaisesti pystynyt tekemään muilla menetelmillä. Esimerkiksi PC:ssä assemblerilla koodaaminen mahdollisti sekä todella nopeasti suoriutuvan että BIOS-/ laiteläheisen ohjelmoimisen.
Kenties pysähdyt hetkeksi. Tee se.
Mieti tunnetta, kun aloitat uuden softaprojektin. Idea on valmiina. Tiedät siis sen, mitä haluat tehdä. Pysähdy juuri tässä. Mitä teet seuraavaksi?
Mitkä ovat ensimmäiset asiat tai ajatukset idean muodostumisen jälkeen?
- estääkö jokin tuntematon asia ohjelmiston koodaamista?
- jäätkö miettimään ratkaisun yksityiskohtia?
- mietitkö kaupallista aspektia, “kannattavuutta”?
- haluatko tietää ensin ohjelmiston arkkitehtuurin?
- mietitkö, mistä aloittaisit?
- mietitkö, mitä valmiita kirjastoja tai palasia voisit käyttää?
Etukäteen suunniteltu on puoliksi tehty.
Koodaaminen on mentaalisena aktiviteettina aina sellaista, että siihen sisältyy abstraktin asian mielessä pitämistä ja hahmottamista. Koodaamisessa käytetään olennaisesti lähimuistia. Keskittynyt koodaaja käyttää lähimuistiansa erittäin tehokkaasti, joka näkyy tuottavana tekemisenä.
Suunnittelu puolestaan antaa raamit edellä mainitulle tekemiselle. Se ohjaa oikeaan suuntaan. Muutoin vaarana on kaasuttelu vauhdin hurmassa.
Suunnitelma ajoittain käskyttää koodaajaa tempautumaan irti yhdestä asiasta ja tekemään toista. Pala palalta ohjelma valmistuu. Tekeminen ei ole aina homogeenista ja jatkuvaa. Suunnitelman koko ydin on olla ikäänkuin resepti ja motivaattori.
Suunnitelma on hieman kuin rajoitettu rahamäärä karkkikaupassa: voit ottaa “vain niin paljon”, ja sitten jatketaan matkaa. Eri suuntaan. Ja se on hyvä juttu!
Suunnittelu ei itsessään yleensä varsinaisesti ‘ratkaise’ asioita, vaan nimenomaan ohjaa ja jaksottaa tulevaa tekemistä. Ongelmia voi edelleen jäädä matkan varrelle.
Leave a Reply