Personal Software Process (PSP, ) on keskeisessä osassa Watts Humphreyn kehittämässä koulutusohjelmassa, joka tähtää ohjelmistokehittäjien ammattitaidon parantamiseen. PSP voi viitata yleisterminä työtapoihin, joita kukin ohjelmistokehittäjä käyttää omassa työssään, vaikka ne eivät olisikaan millään lailla suunniteltuja tai dokumentoituja. Usein PSP kuitenkin viittaa tiettyyn Humphreyn kehittämään työtapojen kokonaisuuteen, jonka opettelun ja harjoituksiin soveltamisen on tarkoitus auttaa ohjelmistokehittäjää ymmärtämään, miksi hänen tulisi järjestelmällisesti seurata ja kehittää omia työtapojaan.

Tausta PSP syntyi Humphreyn ideasta soveltaa ohjelmistotalojen käyttöön suunnitellun CMM-kypsyysmallin periaatteita myös yksilötasolla. Hän lähtee oletuksesta, jonka mukaan ohjelmistojen laadun parantaminen edellyttää yrityksen tasolla toimivien prosessien kehittämisen lisäksi, että ohjelmistokehittäjät päämäärätietoisesti kehittävät kukin omaa ammattitaitoaan myös heidän itsekseen tekemiensä työtehtävien tasolla. CMM-mallia mukaillen hän myös olettaa, että tämä ei onnistu, elleivät ohjelmistokehittäjät jotenkin pysty seuraamaan omaa kehittymistään.

PSP-koulutusohjelmassa ohjelmistokehittäjät aluksi mittaavat suoriutumisensa suunnittelu- ja ohjelmointitehtävässä nykyisillä työtavoillaan. Tämän jälkeen he ottavat asteittain käyttöönsä Humphreyn kehittämät järjestelmälliset työtavat ja mittarit ja harjoittelevat niitä pienimuotoisissa ohjelmistokehitysharjoituksissa. Lopuksi he vertaavat suoriutumistaan alkuperäisillä työtavoillaan ja uusilla järjestelmällisillä työtavoilla. Opetellut järjestelmälliset työtavat toimivat pohjana, kun ohjelmistokehittäjät tämän jälkeen lähtevät kehittämään heille itselleen parhaiten sopivia työtapoja. Koulutusohjelma on mahdollista suorittaa itseopiskeluna, yliopistokurssina tai, mikäli henkilö haluaa sertifikaatin, kaupallisella kurssilla.

Hyödyt Humphreyn mukaan järjestelmällisiä työtapoja käyttävä ohjelmistokehittäjä tai ohjelmistokehitystiimi: Pystyy laatimaan tarkempia suunnitelmia ja sitoutumaan niihin Tuottaa virheettömämpiä ohjelmistoja Suoriutuu tehtävistään nopeammin

Microsoft on soveltanut PSP:tä ja sen päälle rakentuvaa Team Software Processia (TSP) Intian ohjelmistokehitysyksikössään. Kuuden kuukauden kuluessa PSP:n ja TSP:n käyttöönotosta yli kaksi kolmasosaa projekteista toimitettiin virheettöminä ja 94 % projekteista valmistui ajallaan.Mukesh Jain. Delivering Successful Projects with TSP and Six Sigma: A Practical Guide to Implementing Team Software Process. Auerbach Publications, November 2008.

Malliprosessi PSP-koulutusohjelma etenee tasoittain, siten että jokainen taso lisää järjestelmällisyyttä ja mittareita:

PSP0 Ohjelmistokehittäjän ennen koulutuksen alkua käyttämä, mahdollisesti täysin intuitioon perustuva ja määrittelemätön prosessi, täydennettynä tehtävään kuluvan ajan ja sen kuluessa havaittujen virheiden kirjaamisella. PSP0.1 Kuten PSP0, mutta täydennettynä tyylioppaan (koodausstandardin) käyttöönotolla, tuotetun ohjelman koon mittaamisella ja henkilökohtaisen kehittymissuunnitelman laatimisella. PSP1 Lisää ohjelman koon arvioimisen ennen sen kirjoittamista ja testausraportin laatimisen. PSP1.1 Lisää järjestelmälliset ja edellisissä vaiheissa mitattuja tunnuslukuja hyödyntävät menetelmät tehtävien ja aikataulun suunnitteluun. PSP2 Lisää suunnitelman ja ohjelmakoodin katselmoinnit. PSP2.1 Lisää menetelmiä suunnitelman dokumentointiin ja analysointiin. TSP TSP eli Team Software Process tarjoaa mallin, miten PSP:n hallitsevat ohjelmistokehittäjät voivat toimia tehokkaasti tiiminä.

Katso myös Ketterät menetelmät Six Sigma Capability Maturity Model

Lähteet

Viitteet

Aiheesta muualla Team Software Process

Luokka:Ohjelmistotuotanto