Metodologioiden huumassa unohtuu välillä korkeamman tason ajattelu ohjelmistokehityksestä. Ohjelmiston kirjoittamisen kustannusten (suorien ja epäsuorien) vähentämisen ylivoimaisesti tehokkain tapa on välttää ohjelmiston kirjoittaminen kokonaan.
Otetaan esimerkki: aikanaan Codentossa huomattiin joidenkin työntekijöiden tekevän jatkuvasti ylitöitä. Tätä haluttiin kontrolloida jollakin tavalla, jos ei vähentämällä päivittäisiä tunteja, laittamalla työntekijät kertymän sitä edellyttäessä pitämään vapaapäiviä.
Ohjelmistoyrityksenä [...]
Me Codentossa olemme kaikki* ohjelmistoarkkitehtejä, eli piirrämme kaavioita, joissa on monen värisiä laatikoita. Tämä erottaa meidät oikeista arkkitehdeistä, jotka tekevät julkisivuja, joissa on monen värisiä laatikoita.
Tämä ei kuitenkaan ole ainoa ohjelmistotyö jota teemme. Ohjelmistoalan moniosaajina toimimme tarvittaessa myös seuraavissa ammateissa:
Ohjelmistoarkeologi. Tämä Codenton lisäksi myös Vernor Vingen tuotannosta tuttu ohjelmistoammattilainen tutkii historiallisia jäänteitä ajalta ennen (tänä [...]
Viime aikoihin asti ohjelmistokehitystä on tehty lähinnä vesiputousmallilla, jossa projekti ensin määritellään, sitten suunnitellaan, sitten toteutetaan, testataan ja luovutetaan asiakkaalle. Malli on raskas ja epäkäytännöllinen. Koska asiakas on mukana vain alussa ja lopussa, hänellä ei ole kontrollia projektiin, ja alun määrittelyssä tehtyjä virheitä ei voida enää korjata.
Kuulostaako tutulta? Kaikkihan haukkuvat nykyään vesiputousmallia, ja scrum on [...]
Ohjelmoijien kansanperinteeseen kuuluu erottelu kertakäyttökoodiin ja tuotantokoodiin. Tuotantokoodin erilaisia laatutasojakin nähdään yleensä olevan ainakin muutamia. Haluan kuitenkin tarkastella kertakäyttökoodin käsitettä.
Koska koodi kuitenkin jää olemaan, ja on riski sen uudelleenkäytöstä, pitäisi tunnustaa tosiasiat, eikä elää valheessa. Kaikki koodi pitäisi kirjoittaa vähintään minimaalisella tuotantokoodin tasolla: kehittäjän itsensä pitää ymmärtää se myös puolen vuoden päästä.
Ohjelmoijan tapa käyttää tietokonetta [...]
Kukapa ei haluaisi ohjelmistoprojektiinsa hyvää tiimiä. Mutta mistä sellaisen saa? Ja mikä erottaa hyvän tiimin keskinkertaisesta? katsotaanpa kahta selitystä, konventionaalista ja vähän yllättävämpää.
Selitys yksi: Hyvä tiimi koostuu hyvistä tyypeistä.
Kooderien tuottavuuserot ovat valtavia. Hyvä kooderi käyttää tehtävään viidesosan siitä ajasta joka keskiverrolta kuluu, ja lopputulos on silti monin tavoin parempi. Sama pätee moniin muihinkin ohjelmistotuotannon osiin: [...]
Kun ohjelmistotaloon tilataan ohjelmistokonsultti, tällä voi olla kolme erilaista roolia: työntekijä, expertti tai yhteistyökumppani.