© NOKIABlanko98.ppt / / KKä page: 1 Ohjelmistoprosessien kehittäminen ja tutkimus Nokia-yhtymässä Kari Känsälä Senior R&D Manager Nokia Research Center Blanko '98 -päivät, Oulu,
© NOKIABlanko98.ppt / / KKä page: 2 Sisältö* Yleisiä piirteitä Nokian ohjelmistokehityksestä ja -prosesseista ohjelmistot Nokian tuotteissa Nokian ohjelmistokehitys numeroina tyypillinen nokialainen ohjelmistokehitysprosessi ohjelmistoprosessien haasteita Nokian piirissä Ohjelmistokehityksen ja -prosessien sekä niiden tutkimuksen (R), kehittämisen (D) ja tuen (S) organisointi liiketoimintayksiköt (Business Units, BUs) vs. Nokia Research Center (NRC) NRC:n nykyinen ohjelmistoprosessien tutkimus/kehittäminen kohdealueineen kolme Casea (prosessien arviointi, prosessien mallinnus, projektien estimointi) Yhteenveto *seuraavat kalvot ovat englanninkielisiä
© NOKIABlanko98.ppt / / KKä page: 3 Software in Nokia’s products All main products include software (SW) Fixed networks Cellular (mobile) networks Telephone switches (DX200) Professional mobile radios Intelligent network products Wireless data products Mobile phones Multimedia terminals, satellite receivers Car terminals Amount of SW in a product ranges from 1000 lines of SW source code (1 KLOC) to lines (30000 KLOC)
© NOKIABlanko98.ppt / / KKä page: 4 Software development effort in numbers Number of SW developers (developing SW for Nokia's products) has grown rapidly from about 1000 (1990) to about 7000 (1998) represents now more than 50% of all R&D effort more than 15% of Nokia’s all employees Location of software development 70-80% yet in Finland foreign sites growing rapidly in Europe, USA, Asia and Australia
© NOKIABlanko98.ppt / / KKä page: 5 Typical product development process Products are typically delivered to customers in subsequent releases Release cycle may range from 6 months to 2 years For each product release we gather customer requirements from all over the world analyze and prioritize customer requirements create product specification create product design (allocated to hardware (HW) and SW) create SW in SW projects (in parallel with HW projects) create SW specification create SW design implement SW design ("coding & module/unit testing") test SW ("integration testing" or "functional testing") test product ("product testing" or "system testing") deliver product to customers
© NOKIABlanko98.ppt / / KKä page: 6 Challenges for software development Most BUs have an ISO 9000 certified quality system covering product development Nokia Software Process Initiative (NSPI) aims at improving productivity, quality, and predictability of SW development, and at enhancing the capability of SW development processes in Nokia's Business Units (BU) SW development process capability is assessed using the SW Capability and Maturity Model (SW-CMM) of the SEI/CMU: level 1: basic SW development capabilities level 2: excellent SW project management level 3: excellent SW process level 4: quantitative SW management (based on excellent SW metrics) level 5: optimizing SW management (based on excellent SW management)
© NOKIABlanko98.ppt / / KKä page: 7 SW R&D in Nokia SW development for Nokia's products primarily in R&D units of BUs major part of new SW technologies R&D&S in NRC's laboratories International R&D co-operation NRC NMP, NTC, NCP, NVO R&D R&D R&D R & D R Universities, research institutes SW process/engineering R&D&S valid SW process D&S exists in all R&D units most of SW process R, large part of D and some of S done by NRC
© NOKIABlanko98.ppt / / KKä page: 8 NRC's current SW process research Focus areas in NRC's SW engineering R&D&S SW architectures and reuse user interfaces and usability embedded SW methods (especially Octopus) SW engineering environments (especially Telecom Design Environment, TDE) SW process improvement, including SW process assessments and metrics SW process modeling and definition SW project effort estimation and metrics requirements management SW testing and test management
© NOKIABlanko98.ppt / / KKä page: 9 Case 1: SW process assessments Background most BUs were ISO 9001 certified in the beginning of 90ies some BUs started to use SW-CMM in Status in 1998 SW-CMM is now the de-facto std of SW process assessments in Nokia there are 3 Nokia-std CMM assessment methods: CBSA, CBPA and CBA-IPI a large pool of Nokia-internal CMM assessors exist CMM briefings or basic training has been given to hundreds of Nokians NRC's role since 1996 method selection and fine-tuning (CBSA, CBPA) using SEI's CMM material training (CBSA, CBPA) and training facilitation (CBPA, CBA-IPI) leading of or participating in assessment teams (all 3 methods) reference: Kari Känsälä, "Utilization of the CMM within Nokia." SYTYKE seminar, Helsinki,
© NOKIABlanko98.ppt / / KKä page: 10 Case 2: SW process modeling & definition Background ISO 9001 was the basis for "quality systems" of BUs in the beginning of 90ies R&D units of BUs created a set instructions for SW development, in many cases as an integral part of the quality system Status in 1998 most R&D units have a "SW process manual", accessible on Nokia Intranet, and (loosely or tightly) linked to the quality system of BU NRC's role since 1995 some major BUs (e.g. Nokia Mobile Phones) has been supported in establishing a tightly integrated SW Engineering Process (SWEP) Manual based on the ISO/SPICE v2.0 process reference model based on SEI's SW process modeling & definition recommendations using Intranet as the UI and Lotus Notes as the development platform reference: Kari Känsälä & Atte Kinnula, "Restructuring a Software Process." SPI97, Barcelona, (There will be an update in SPI98.)
© NOKIABlanko98.ppt / / KKä page: 11 Case 3: SW project effort estimation Background effort/duration estimation used to be based on expert knowledge and task-level bottom-up estimation techniques a BU started to develop a "home made" effort estimation method based on regression analysis of existing SW project data Status in 1998 most BUs have defined an explicit procedure for effort/duration estimation many BUs use Function Points Analysis (FPA) related effort estimation methods NRC's role since 1994 a Nokia-specific FPA related effort estimation model was created by combining the "home made" method of the above-mentioned BU and the FPA theory several related models were created for other BUs and/or for specific purposes now an integrated method is created to cover existing methods and original FPA reference: Petri Vesterinen and Kari Känsälä, "Customization of FPA at Nokia." COCOMO Forum, Los Angeles, (Updates at later COCOMO F's.)
© NOKIABlanko98.ppt / / KKä page: 12 Summary SW is very important for Nokia, and will be even more important in the future -> Nokia's SW development processes must be faster and more productive -> SW process/engineering improvement must be organized efficiently Nokia's Business Units (BUs) take care of SW development for their products, and own SW process/engineering development and support Nokia Research Center (NRC) supports BUs in new SW technology R&D and support, and SW process/engineering research and development NRC takes care of identifying new SW process/engineering innovations, and modifying them to applicable solutions for BUs in selected key areas in cooperation with corresponding Finnish and foreign organizations