Voiko ketterää ohjelmistoprosessia parantaa systeemiajattelulla?


Vuosituhannen vaihteessa ohjelmistoalalla koettiin kummia, kun pienehkön, mutta aktiivisen IT-alan osaajaporukan toimesta julkaistiin Agile manifesto, josta tuli kuin uskonto. Se pistikin alan kirjat ja ohjeet uusiksi. Ketteryyden piti olla viitoittaja miten tulevaisuudessa koodia tulee tehdä. Agile on sen jälkeen kokenut kovan nosteen, mutta tappioitakin on syntynyt — kuten asiaan yleensä kuuluu. Lean – ajattelua tarjotaan nyt sairaaloihin ja minne tahansa missä ihmiset kohtaavat. Siinä toisenlainen hype!

Kuudessatoista vuodessa on paljon opittu. Ohjelmistojen teko ei tietenkään voi olla pelkästään agility-kiirehtimistä (koirakilpailun tapaan). Aikanaan kriitikot vaiennettiin kylmästi, mutta tilanne on nyt otollisempi miettiä uudenlaisia ratkaisuja. Eräs kolleegani pyysi minua kartoittamaan mitä systeemiajattelu antaisi tähän käsitysten sekamelskaan juuri nyt. Siitä tässä video (noin 1 tunti).

Ketterä systeemi

Mielestäni ohjelmistoprosessien käytäntö on ollut paradoksaalinen juuri siksi, koska kognitiivisia IT-alalle tyypillisiä sisältömalleja itse kehitettävälle tiedolle (an sich) ei ole esitetty, vaikka mallien kehittelyn luulisi olla IT-ammattialaisten parhaan osaamisen aluetta — toisin kuin vaikkapa Toyota-autotehtaan tuotannonohjauskuvioitten, joita kiireesti on lähdetty apinoimaan ohjelmistotyön tuotannonohjausperiaatteiksi (unohtaen sisällön täysin).

Olen ollut läheltä seuraamassa ketteryyden vaiheita, koska tunnen avainasemassa olleen prof. Pekka Abrahamssonin monista kahdenkeskisistä palavereistamme. Hän on arvostetuin suomalainen software engineering – tutkija kansainvälisesti (juuri) koskaan. Hän aikanaan kritisoi aihetta tiukasti ja kylmästi, ja joutui sitten itse kiukun kohteeksi. Siitäkin kerron tässä videossa.

Ketterä systeemikehitys ja systeeminen ketterä prosessi ovat yhdistelmiä kahdesta ajattelutavasta

Ketterä systeemi (agile system) olisi ketterä ohjelmistoprosessi, normaali systeemin malli, jolla on ketteryyden (Kahnemanin systeemi 1) lisäksi muitakin ominaisuuksia, erityisesti rationaalisuus ja visuaalinen viestintä ja ennenkaikkea yhdistävä kognitiivinen malli (Kahnemanin systeemi 2), millä tiimissä viestiä tietoa kaverilta toiselle ihan eri tavalla kuin paperilaput tai user storyt. Lähes kaikki agile – ajattelun 12 piirrettä saadaan näin hoidettua systeemin kautta.

Videon lopussa teoretisoin lisää, uudenlaista oppimista. Esitän systeesinomaisen uuden prosessin, mikä on hyvin looginen yhdistelmä, ja lopuksi viable system – periaatteeseen pohjautuvan näkemyksen millainen Suomen IT-alan tulisi olla, jos tämä maa meinaa tulevaisuudessa menestyä tietotekniikan osaamisella ja tuotteitten laadulla. Kerron myös, että yritin saada läpi Harkitun ketterän kehityksen osaamisyhteisöä vuonna 2010, mutta audienssi (alan ammattilaiset) eivät olleet tarpeeksi aktiivisia. Yritin myös Nokiaa saada ottamaan käyttöön systemaattista vianpaikannuksen metodologiaa, mutta testausosastollaan ei ollut intressiä alkaa mukaan sellaiseen mikä ei ollut heidän omasta ideastaan lähtöisin.

Video (58 min) on katsottavissa täältä.