Personal Software Process

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