Ohjelmistotekniikka Tuotteenhallinta Kevät 2002 Päivi Ovaska LTKK/Tite.
Sisältö Johdanto: tuotteenhallinnan osa-alueet Johdanto: tuotteenhallinnan osa-alueet Komponentit, konfiguraatiot Komponentit, konfiguraatiot Versioituminen Versioituminen Vaihetaso Vaihetaso Muutosten hallinta Muutosten hallinta Työkalut Työkalut
Johdanto: tuotteenhallinnan osa-alueet
Tuotekehitysnäkökulma vs. asiakasnäkökulma Tuotekehitysprosessin kannalta keskeisin tavoite on antaa tuotekehitystiimille stabiili ja kontrolloitavissa oleva ympäristö => versionhallinta, pelisäännöt, työskentely- ympäristö, testiversioiden rakentaminen. Asiakasprosessin (toimitusten) kannalta keskeisin tavoite on asiakastoimitusten konfiguraatioiden hallinta: mitä tarkkaanottaen asiakkaalle toimitetaan / on toimitettu, miten toimitettava kokonaisuus kootaan ja paketoidaan. •Joku on muuttanut moduulia X siten, että se ei enää toimi (kuka, milloin). •Korjattu virhe ilmaantuu uudelleen. •Kehitetty ja testattu piirre katoaa. •Versioräjähdys (useita korjauksia samaan moduuliin samanaikaisesti).
Tuotteenhallinnan ongelmia Ongelma asiakkaalla X, tuote Y, versio a.b.c On pystyttävä rakentamaan versio a.b.c (konfiguraation versio, komponenttien versiot). Kun korjaus on suunniteltu ja tehty syntyy muutettujen komponenttiversioiden uudet versiot ja tuotteen uusi versio. On vielä aikamoinen urakka selvittää: Missä muissa korjattujen komponentien versioissa esiintyy sama virhe. Johtaako virheen korjaus muutoksiin virheellistä komponenttia hyödyntäneissä komponenteissa.
Tuotteenhallinnan ongelmia (jatkuu) Ja lopulta, kun kaikki muutettavat komponentit on löydetty: mihin muille asiakkaille toimitettuihin tuotteen versioihin korjaukset vaikuttavat. Seuraavia ongelmatilanteita ei siis pitäisi syntyä: Tuotteen versiota X on päivitetty, versio Y lakkaa toimimasta. Asiakkaan raportoima virhe on korjattu, mutta asiakas ei pysty ottamaan järjestelmän korjattua versiota käyttöön, koska hänellä on liian vanha versiolaitteistosta/ käyttöjärjestelmästä/ tietokantajärjestelmästä jne... Moduulin X versiosta Y on löytynyt vakava virhe. Mille asiakkaille pitää toimittaa korjattu versio?
Komponentit, konfiguraatiot
Hallinta-alkio
9 Versioituminen
10 Vaihetaso
Muutosten hallinta
Työkalut Versioituminen – SCCS, RCS, PVCS... Konfiguraatioiden hallinta – Komentotiedostot (Shellscript), Make... Tuotteenhallintatyökalut – ClearCase... Toimintatavat – Komentotiedostot, sähköposti, asianhallintajärjestelmät (work flow management)
Tuotteenhallinta Mistä hallinta-alkioiden versioista tietty tuotteen versio koostuu Mitä toimenpiteitä tekemällä ko. versio saadaan tuotettua
Tuotehallintasuunnitelma Organisaatio – Henkilöt – Vastuut – Mahdollisen tuotteenhallintaryhmän (CCB, configuration control board) kokoonpano – Mahdollisen FCBn (Fault Control Board) olemassaolo – Liitynnät muihin toimintoihin Menetelmät – Mitä vaihetasoja syntyy – Miten ne nimetään – Miten vaihetasojen tilasta pidetään kirjaa – Mitä työkaluja käytetään – Miten auditointeja järjestetään
Tuotteenhallintasuunnitelma (jatkuu) Toimintatavat – Miten vaihetasot hyväksytään – Miten tiedottaminen hoidetaan – Miten virheistä raportoidaan – Miten muutospyyntöjä tehdään – Miten muutokset dokumentoidaan,jne Muita mahdollisia kohtia – Resurssointi – Muualta hankittujen komponenttien hallinta – Laitteistokomponenttien hallinta