ohjelmistokonfiguraation hallinnan määritteleminen tuotekehitykselle

21
Soc Classification level Presentation / Henri Elemo / 20.05.2008 1 © Nokia Siemens Networks Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle Valvoja: Timo O. Korhonen Ohjaaja: Jarkko Jussila Henri Elemo [email protected]

Upload: topper

Post on 19-Jan-2016

30 views

Category:

Documents


0 download

DESCRIPTION

Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle. Henri Elemo [email protected]. Valvoja: Timo O. Korhonen Ohjaaja: Jarkko Jussila. Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle. Diplomityö suoritettiin Nokia Siemens Networks:llä (NSN) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 1 © Nokia Siemens Networks

Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Valvoja: Timo O. Korhonen

Ohjaaja: Jarkko Jussila

Henri Elemo

[email protected]

Page 2: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 2 © Nokia Siemens Networks

Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

• Diplomityö suoritettiin Nokia Siemens Networks:llä (NSN)

• Global SCM Service -yksikössä

Page 3: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 3 © Nokia Siemens Networks

Sisällys

• Tutkimuksen taustat

• SCM (Software Configuration Management)

• Tutkimusmenetelmät ja -konteksti

• Tutkimuksessa saadut tulokset

• Loppupäätelmät

Page 4: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 4 © Nokia Siemens Networks

Tutkimuksen taustat

Yleisesti jokaiseen ohjelmistokehitysprojektiin joudutaan valitsemaan SCM käyttömalli uniikilla tutkimuksella

• Tarkkaa

• Vaatii aikaa ja resursseja

Tarve on helpottaa tätä prosessia kehittämällä tapoja, joiden avulla SCM käyttömallin valitseminen on sekä nopeampaa että kannattavampaa

Page 5: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 5 © Nokia Siemens Networks

SCMSCM yleisesti

SCM (Ohjelmistokonfiguraation hallinta)

• Palvelu, jonka tarkoitus on hallita ohjelmistotuotteen evoluutiota

• Sen tehtävä on tarjota rajapinta ohjelmistokehitykselle, jolla pystytään hallitsemaan ohjelmistotuotteessa tapahtuvia muutoksia

Page 6: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 6 © Nokia Siemens Networks

SCM SCM NSN:n sisällä

SCM -palvelu nähdään kokonaisuutena, jonka tavoitteena on tarjota rajapinta implementoinnin ja ohjelmistotestauksen (I&V) välille

DisciplinesSW Developers

Building process

SW Components

Promote SW Builds

I&V

SCM

Page 7: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 7 © Nokia Siemens Networks

SCMSCM NSN:n sisällä

SCM-palvelu koostuu kuudesta eri asiakokonaisuudesta:

• Ohjelmistopaketointi

• SCM kehitystyö

• SCM neuvonta

• SCM infrastruktuurin ylläpitäminen

• SCM projektin johtaminen

• Yhteistyökumppaneiden ohjaaminen

Page 8: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 8 © Nokia Siemens Networks

SCMSCM käyttömallit

• Toteutusmalli SCM prosessille

• Sama usealle SCM prosessille jotka käyttävät samaa versionhallintatyökalua ja samankaltaisia prosesseja

• Jokaisella ohjelmistotuotteella ja –projektilla on omia vaatimuksia ja ominaisuuksia, joita käyttömalli ei huomioi

• Edut:– Kustannustehokkuus

– Osaamisen kasvattaminen

– Uusien projektien pystyttäminen

– Ohjelmistokoodin yhteiskäyttö

Page 9: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 9 © Nokia Siemens Networks

Tutkimusmenetelmät ja -konteksti

• Ohjelmistokehityksen vaatimukset SCM:lle– Kirjallisuudesta

– NSN:n sisällä SCM ammattilaisten kanssa käytyjen keskustelujen perusteella

• Versionhallintajärjestelmät & löydetyt vaatimukset – Kysymyslista

– Yleisesti käytetyt versionhallintajärjestelmät tutkimuksen kohteeksi Versionhallintajärjestelmiä tutkittiin ohjelmistokehitysprosessien sisällä

• Kysymyslistat ohjelmistokehitysympäristön vaatimusten tutkimiselle

Page 10: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 10 © Nokia Siemens Networks

Tutkimuksessa saadut tuloksetVaatimukset

Asiat jotka vaikuttavat SCM:ään1. SCM mallin olemassa olo2. Ohjelmistotuoteen ja –projektin koko3. Ohjelmistopaketoinnin keskeiset asiat4. Ohjelmointikielet5. Hajautettu kehitys ja tietokantareplikointi6. Käyttöjärjestelmät ja työtilat versionhallintajärjestelmissä7. Tarvittavat ja vaaditut resurssit8. Yhteistyöyritykset9. Osaaminen10.Ohjelmiston elinkaari11.Vastuut ja niiden jako12.Kolmannen osapuolen ohjelmistot13.Vapaan lähdekoodin käyttö14.Konfiguroinnin tunnistamisen periaatteet15.Tehokkuus16.Luotettavuus17.Auditointi ja informaation jakaminen18.Muut asiat

Page 11: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 11 © Nokia Siemens Networks

Tutkimusmenetelmät ja –kontekstiVersionhallintajärjestelmät

IBM Rational

Clearcase

CVS Subversion Serena

Dimensions

NSN Käyttömalli

1

Perustuu Clearcasen päälle

toteutettuihin aktiviteettiscripteihin

IBM Rational

UCMSCM työkalu ja

käyttömalli, mikä tarjoaa

ominaisuuksia Clearcasen päälle

Vain tuotekohtaisia omainaisuuksia

tutkittiin

NSN Käyttömalli

2

Yksinkertainen malli, mikä

määrittelee SCM ja ohjelmistopaketointi

periaatteet Linux järjestelmissä.

NSN Käyttömalli

3

Pyrkii tarjoamaan rajapinnan jota

vasten kehittäjät voivat käyttää omia käyttömallejaan. Ei paljoa automatisoi-

tuja toimintoja.

Page 12: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 12 © Nokia Siemens Networks

Tutkimuksessa saadut tulokset Versionhallintajärjestelmät

CVS

Edut

• Yksinkertainen

• Open Source

• Asennettavissa moniin käyttöjärjestelmin

Rajoitteet

• Huono tulevaisuuden tuki

Page 13: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 13 © Nokia Siemens Networks

Tutkimuksessa saadut tulokset Versionhallintajärjestelmät

Subversion

Edut

• Yksinkertainen

• Open Source

• Asennettavissa moniin käyttöjärjestelmin

• Erittäin hyvät tulevaisuudennäkymät

• Hyvä tuki CI (Continuous Integration) -kehitykselle

• Erillisiä integroituvia sovelluksia (monipuolisuus)

Rajoitteet

• Erillisiä integroituvia sovelluksia (vaatii implementointia)

Page 14: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 14 © Nokia Siemens Networks

Tutkimuksessa saadut tulokset Versionhallintajärjestelmät

IBM Rational Clearcase

Edut

• Tarjoaa monipuoliset versionhallintaominaisuudet

• Tuki IBM:ltä

Rajoitteet

• Vaatii paljon kompetenssia

• Vaatii paljon ylläpitoa

• Lisenssimaksu

Page 15: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 15 © Nokia Siemens Networks

Tutkimuksessa saadut tulokset Versionhallintajärjestelmät

IBM Rational UCM

Edut

• Erittäin monipuolinen

• Tarjoaa valmiin SCM käyttömallin tuotekehitysprojektille

• Tuki IBM:ltä

• Hyvä käyttöliittymä

Rajoitteet

• Vaatii paljon kompetenssia

• Vaatii paljon ylläpitoa

• Lisenssimaksu

Page 16: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 16 © Nokia Siemens Networks

Tutkimuksessa saadut tulokset Versionhallintajärjestelmät

Serena Dimensions

Edut

• Erittäin monipuolinen

• Tarjoaa valmiin käyttömallin koko tuotekehitysprojektille

• Hyvä käyttöliittymä

Rajoitteet

• Erittäin monimutkainen käyttöliittymä

• Vaatii paljon kompetenssia

• Vaatii paljon ylläpitoa

• Lisenssimaksu

Page 17: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 17 © Nokia Siemens Networks

Tutkimuksessa saadut tuloksetKysymyslista suunniteltaessa SCM prosessia uuteen tuotteeseen

Question for project organization

1 Starting base Are there plans to import existing code from some program?

2 Software basics Technical data of the product: What kind of product it is? (Application/platform, component based, SCM architecture hierarchy, multiple customer versions,..)

3 Quantitative information How big the software project is? (How many and how big software components if any components exists yet, how many developers inside and outside NSN)

4 Programming language What will be the programming languages in development project?

5 Multisite and Replication Is there need for multisite development and how it should be arranged?

6 Operating system On what operation system does development computers, SCM tools and target system run?

7 Version control tool Is there any existing SCM infrastructure yet?

8 Tools existing and tools needed What is the development projects state now in tool point of view? What are the tools that will be used in SCM and implementation?

9 Development process What will be the development process?

10 Partners Is development project done in-house or with partners? Who the partners are?

11 SCM in project organization Will SCM belong to its own project or will it be subproject for someone else?

12 Competences What kind of experience does development projects organization have? Are some version control system or development methods familiar already?

13 Product lifecycle What is the lifecycle for the product?

14 Development lifecycle What are the development and maintenance policies for the product? Is there need for merge operation?

15 Change management What will be the Change and Fault management policy and process?

16 Permissions Should every implementer has permissions to every software component or who should grant permissions to software components?

17 Third-party software Will there be any third-party software in development project?

18 Open source Will open source be involved?

19 Identification scheme Is there existing versioning or naming model for software components and for releases?

20 Audits How content of software build needs to be supervised and what kind of reports are needed for development projects management and for rest of the development organization.

21 Response times How quickly do SCM needs to react request from development organization and how quickly development organization needs to react to customer request?

22 Authority/ Responsibility What is the information that is needed when implementation checks change in to the software? Is Change Note needed?

23 Managing high-level interfaces How SCM needs to communicate with rest development project organization?

Key term

Page 18: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 18 © Nokia Siemens Networks

Tutkimuksessa saadut tuloksetKysymyslista suunniteltaessa SCM prosessia jo olemassa olevaan tuotteeseen

Question for project organization

1 Products existence On which milestone are you now?

2 Starting base Are there plans to import existing code from some program?

3 Software basics Technical data of the product: What kind of product it is? (Application/platform, component based, SCM architecture hierarchy, multiple customer versions...)

4 Quantitative information How big the software project is? (How many and how big software components (if any exists yet), how many developers inside and outside NSN)

5 Programming language What will be the programming languages in development project?

6 Multisite and Replication Is there need for multisite development and how it should be arranged?

7 Operating system On what operation system does development computers, SCM tools and target system run?

8 Version control tool Is there any existing SCM infrastructure yet?

9 Tools existing and tools needed What is the development projects state now in tool point of view? What are the tools that will be used in SCM and implementation?

10 Development process What will be the development process?

11 Partners Is development project done in-house or with partners? Who the partners are?

12 SCM in project organization Will SCM belong to its own project or will it be subproject for someone else?

13 Competences What kind of experience does development projects organization have? Are some version control system or development methods familiar already?

14 Product lifecycle What is the lifecycle for the product?

15 Development lifecycle What are the development and maintenance policies for the product? Is there need for merge operation?

16 Change management What will be the Change ja Fault management policy and process?

17 Permissions Should every implementer has permissions to every software component or who should grant permissions to software components?

18 Third-party software Will there be any third-party software in development project?

19 Open source Will open source be involved?

20 Identification scheme Is there existing versioning or naming model for software components and for releases?

21 Audits How content of software build needs to be supervised and what kind of reports are needed for development projects management and for rest of the development organization.

22 Response times How quickly do SCM needs to react request from development organization and how quickly development organization needs to react to customer request?

23 Authority/ Responsibility What is the information that is needed when implementation checks change in to the software? Is Change Note needed?

24 Managing high-level interfaces How SCM needs to communicate with rest development project organization?

Key term

Page 19: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 19 © Nokia Siemens Networks

Loppupäätelmät

CVS

• Subversion on korvannut CVS:n

Subversion

• Erittäin kustannustehokas kun valmis käyttömalli on saatavilla

• Paras CI:tä varten

• Open Source

Clearcase

• Monipuolinen

• UCM pitää sisällään suuremman valikoiman yhteensopivia ominaisuuksia

• Kaupallinen

Page 20: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 20 © Nokia Siemens Networks

Loppupäätelmät

UCM

• Valmis ja pitkälle suunniteltu käyttömalli SCM:lle

• Kaupallinen

Dimensions

• Valmiiksi suunniteltu käyttömalli tuotekehitykselle

• Monimutkainen käyttää ja ylläpitää

• Kaupallinen

Page 21: Ohjelmistokonfiguraation Hallinnan Määritteleminen Tuotekehitykselle

Soc Classification level Presentation / Henri Elemo / 20.05.2008 21 © Nokia Siemens Networks

Kysymyksiä