Ytimekästä tietoa; tekoälyn ohjelmistojen kehittämisen prosessit

Ohjelmistoalalla on vuosikausia kinasteltu menetelmistä

Hidas vesiputousmenetelmä (Waterfall) joutui uhatuksi 2000-luvun vaihteessa kun syntyi Agile manifesto omine ytimekkäine arvoineen. Se ei kuitenkaan ole pitkälle riittänyt, joten alkoi ilmaantua mitä erilaisempia versioita, joissa oli uudenlaisia tapoja projektoida ohjelmistotyö ja asiakkaan ideat.

Mitään ihan puhdasta periaatetta ei vieläkään tunneta. Ohjelmiston teossa sovelletaan kehittäjien omia taipumuksia ja kykyjä, vaikkakin isot organisaatiot pitävät kykyjään aisoissa omilla säännöillään.

Tässä 13 minuutin videossa on lyhyt johdatus systeemiajattelun merkitykseen tukemassa ohjelmistotyötä. Kaikki ohjelmistojen ja laitteistojen rakenteet ovat lopulta systeemejä. Ne voivat olla loistavan hyviä, tai spagetti-koodia eli tulvillaan väärin suunniteltuja riippuvuuksia aiheuttamassa kaaosta. Parhaiten kaaoksen välttää käyttämällä korkeatasoisimpia kieliä (esim. Prolog). Skriptikielet ovat vastaavasti kaikkein epämodulaarisimpia, mutta silti niitä käytetään erittäin paljon. Niihin on hankala käyttää kehittynyttä metodiikkaa.

Esitys on orientoiva, aiheeseen johdatteleva, mutta siinäkin mielessä tärkeä, että kehitystyössä tilaajat ja määrittelijät ja käyttäjät ja kehittäjät joutuvat olemaan synkronissa keskenään. Heidän on osattava toimia yhteen, ja ymmärrettävä toistensa ajatuksia ainakin rajapintatasolla hyvin. Systeemi olisi se viestintäväylä kuvaamassa mitä tahansa modulia tai komponenttia tai tietokonetta sekä kokonaista verkkoa holarkian tavoin.

Sidosryhmien väliseen viestintään lopulta kehitys kaatuu tai perustuu.