Ohjelmistokonfiguraation hallinnan m ritteleminen tuotekehitykselle

Download Report

Transcript Ohjelmistokonfiguraation hallinnan m ritteleminen tuotekehitykselle

Ohjelmistokonfiguraation Hallinnan
Määritteleminen Tuotekehitykselle
Henri Elemo
[email protected]
Valvoja: Timo O. Korhonen
Ohjaaja: Jarkko Jussila
Soc Classification level
1
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
Ohjelmistokonfiguraation Hallinnan
Määritteleminen Tuotekehitykselle
• Diplomityö suoritettiin Nokia Siemens Networks:llä (NSN)
• Global SCM Service -yksikössä
Soc Classification level
2
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
Sisällys
•
•
•
•
•
Tutkimuksen taustat
SCM (Software Configuration Management)
Tutkimusmenetelmät ja -konteksti
Tutkimuksessa saadut tulokset
Loppupäätelmät
Soc Classification level
3
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
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
Soc Classification level
4
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
SCM
SCM 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
Soc Classification level
5
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
SCM
SCM NSN:n sisällä
SCM -palvelu nähdään kokonaisuutena, jonka tavoitteena on
tarjota rajapinta implementoinnin ja ohjelmistotestauksen (I&V)
välille
SCM
SW Developers
SW
Components
Soc Classification level
6
© Nokia Siemens Networks
I&V
Disciplines
Building
process
Presentation / Henri Elemo / 20.05.2008
Promote SW
Builds
SCM
SCM 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
Soc Classification level
7
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
SCM
SCM 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ö
Soc Classification level
8
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
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
Soc Classification level
9
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tulokset
Vaatimukset
Asiat jotka vaikuttavat SCM:ään
1. SCM mallin olemassa olo
2. Ohjelmistotuoteen ja –projektin koko
3. Ohjelmistopaketoinnin keskeiset asiat
4. Ohjelmointikielet
5. Hajautettu kehitys ja tietokantareplikointi
6. Käyttöjärjestelmät ja työtilat versionhallintajärjestelmissä
7. Tarvittavat ja vaaditut resurssit
8. Yhteistyöyritykset
9. Osaaminen
10.Ohjelmiston elinkaari
11.Vastuut ja niiden jako
12.Kolmannen osapuolen ohjelmistot
13.Vapaan lähdekoodin käyttö
14.Konfiguroinnin tunnistamisen periaatteet
15.Tehokkuus
16.Luotettavuus
17.Auditointi ja informaation jakaminen
18.Muut asiat
Soc Classification level
10
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
Tutkimusmenetelmät ja –konteksti
Versionhallintajärjestelmät
IBM Rational
Clearcase
CVS
Subversion
Serena
Dimensions
NSN Käyttömalli
1
Vain tuotekohtaisia
omainaisuuksia
tutkittiin
NSN Käyttömalli
2
NSN Käyttömalli
3
Yksinkertainen
malli, mikä
määrittelee SCM ja
ohjelmistopaketointi
periaatteet Linux
järjestelmissä.
Pyrkii tarjoamaan
rajapinnan jota
vasten kehittäjät
voivat käyttää omia
käyttömallejaan. Ei
paljoa automatisoituja toimintoja.
Perustuu
Clearcasen päälle
toteutettuihin
aktiviteettiscripteihin
IBM Rational
UCM
SCM työkalu ja
käyttömalli, mikä
tarjoaa
ominaisuuksia
Clearcasen päälle
Soc Classification level
11
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tulokset
Versionhallintajärjestelmät
CVS
Edut
• Yksinkertainen
• Open Source
• Asennettavissa moniin käyttöjärjestelmin
Rajoitteet
• Huono tulevaisuuden tuki
Soc Classification level
12
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
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)
Soc Classification level
13
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
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
Soc Classification level
14
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
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
Soc Classification level
15
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
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
Soc Classification level
16
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tulokset
Kysymyslista suunniteltaessa SCM prosessia uuteen tuotteeseen
Key term
Question for project organization
1
Starting base
Are there plans to import existing code from some program?
2
Software basics
3
Quantitative information
4
Programming language
Technical data of the product: What kind of product it is? (Application/platform, component based, SCM architecture hierarchy, multiple
customer versions,..)
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)
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
13
Product lifecycle
What kind of experience does development projects organization have? Are some version control system or development methods
familiar already?
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
21
Response times
22
Authority/ Responsibility
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.
How quickly do SCM needs to react request from development organization and how quickly development organization needs to react to
customer request?
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?
Soc Classification level
17
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
Tutkimuksessa saadut tulokset
Kysymyslista suunniteltaessa SCM prosessia jo olemassa olevaan tuotteeseen
Key term
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
4
Quantitative information
5
Programming language
Technical data of the product: What kind of product it is? (Application/platform, component based, SCM architecture hierarchy, multiple
customer versions...)
How big the software project is? (How many and how big software components (if any exists yet), how many developers inside and
outside NSN)
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
14
Product lifecycle
What kind of experience does development projects organization have? Are some version control system or development methods
familiar already?
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
22
Response times
23
Authority/ Responsibility
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.
How quickly do SCM needs to react request from development organization and how quickly development organization needs to react to
customer request?
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?
Soc Classification level
18
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
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
Soc Classification level
19
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
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
Soc Classification level
20
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008
Kysymyksiä
Soc Classification level
21
© Nokia Siemens Networks
Presentation / Henri Elemo / 20.05.2008