120 likes | 259 Views
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, 22.-23.10.1998. Sisältö*. Yleisiä piirteitä Nokian ohjelmistokehityksestä ja -prosesseista ohjelmistot Nokian tuotteissa
E N D
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, 22.-23.10.1998
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ä
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 • 30 000 000 lines (30000 KLOC)
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
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
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)
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 • 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 Dand some of S done by NRC NMP, NTC, NCP, NVO R&D R&D R&D R & D NRC R International R&D co-operation Universities, research institutes
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
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 1993-1995 • 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, 7.9.1998.
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, 1.-4.12.1997. (There will be an update in SPI98.)
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, 9.-11.1996. (Updates at later COCOMO F's.)
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