Standards Initiatives for Software Product Line Engineering and Management within the International Organization for Standardization



Similar documents
Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation

Family Evaluation Framework overview & introduction

A Variability Viewpoint for Enterprise Software Systems

Repository-Centric Enterprise Architecture

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture

Development Process Automation Experiences in Japan

Capability Maturity Model Integration (CMMI SM ) Fundamentals

MODELING VIRTUAL ORGANIZATION ARCHITECTURE WITH THE VIRTUAL ORGANIZATION BREEDING METHODOLOGY

A Framework for Software Product Line Engineering

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Enterprise Architecture Assessment Guide

ARCHITECTURE SERVICES. G-CLOUD SERVICE DEFINITION.

Web Service Implementation Methodology

HKITPC Competency Definition

How To Understand The Role Of Enterprise Architecture In The Context Of Organizational Strategy

System Development Life Cycle Guide

Business Analysis Standardization & Maturity

TOGAF TOGAF & Major IT Frameworks, Architecting the Family

Software Architecture

Enterprise Security Architecture for Cyber Security. M.M.Veeraragaloo 5 th September 2013

TOGAF. TOGAF & Major IT Frameworks, Architecting the Family. by Danny Greefhorst, MSc., Director of ArchiXL. IT Governance and Strategy

Project Team Roles Adapted for PAAMCO

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

CMMI: Specific Goals and Practices

An Overview of IEEE Software Engineering Standards and Knowledge Products

Software Quality Standards and. from Ontological Point of View SMEF. Konstantina Georgieva

Reaching CMM Levels 2 and 3 with the Rational Unified Process

MKS Integrity & CMMI. July, 2007

Lecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction

A Business Analysis Perspective on Business Process Management

WHITE PAPER December, 2008

Developing Business Architecture with TOGAF

Requirements engineering

Department of Administration Portfolio Management System 1.3 June 30, 2010

The Development of Systems Engineering International Standards and Support Tools for Very Small Enterprises

ArchiMate and TOGAF. What is the added value?

A new approach to automotive electric/electronic engineering life-cycle management

Benefits to the Quality Management System in implementing an IT Service Management Standard ISO/IEC

End-to-End Innovation Solutions. for Telehealth and Remote Patient Monitoring

OMG SOA Workshop - Burlingame Oct 16-19, 2006 Integrating BPM and SOA Using MDA A Case Study

Open Group SOA Governance. San Diego 2009

Mastering increasing product complexity with Collaborative Systems Engineering and PLM

Meta-Model specification V2 D

Software Engineering Reference Framework

Advanced Topics for TOGAF Integrated Management Framework

Guide to Enterprise Life Cycle Processes, Artifacts, and Reviews

3SL. Requirements Definition and Management Using Cradle

HP Systinet. Software Version: Windows and Linux Operating Systems. Concepts Guide

Quality management systems Fundamentals and vocabulary

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

INTERNATIONAL STANDARD

Application of software product quality international standards through software development life cycle

ISO/IEC 90003:2004 covers all aspects

Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance

Surveying and evaluating tools for managing processes for software intensive systems

EHR Standards Landscape

Managing Change Using Enterprise Architecture

The Capability Road Map a framework for managing quality and improving process capability

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

JOURNAL OF OBJECT TECHNOLOGY

To introduce software process models To describe three generic process models and when they may be used

ISSA Guidelines on Master Data Management in Social Security

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Systems-driven Product Development. Overview

An Introduction to the ECSS Software Standards

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

Leveraging CMMI framework for Engineering Services

DEPARTMENT OF INFORMATICS. Scenario-based Analysis of Collaborative Enterprise Architecture Management Tools

Enterprise Performance Life Cycle Management. Guideline

How To Write An Slcm Project Plan

Best Practices Statement Project Management. Best Practices for Managing State Information Technology Projects

The Role of Business Capabilities in Strategic Planning. Sneaking up on Quality Using Business Architecture in a learning corporation

SPICE International Standard for Software Process Assessment

What is ISO/IEC 15288? (A Concise Introduction)

Software Product Quality Practices Quality Measurement and Evaluation using TL9000 and ISO/IEC 9126

Chap 1. Introduction to Software Architecture

Module F13 The TOGAF Certification for People Program

Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational

Improved SOA Portfolio Management with Enterprise Architecture and webmethods

Enterprise Architecture for Communication Service Providers: Aligning Business Goals to IT

What an Architect Needs to Know

CMMI KEY PROCESS AREAS

Business Process Modeling Information Systems in Industry ( )

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

System Software Product Line

Application Life-Cycle Management Solution Documentation

Which statement about Emergency Change Advisory Board (ECAB) is CORRECT?

Global Headquarters: 5 Speen Street Framingham, MA USA P F

Enterprise Portfolio Management

Business Architecture Scenarios

Sound Transit Internal Audit Report - No

Transcription:

Standards Initiatives for Software Product Line Engineering and within the International Organization for Standardization Timo Käkölä University of Jyväskylä Finland FiSMA 1

What is software product line engineering? Software product line engineering is a methodology for developing software-intensive systems and services faster, at lower costs, and with better quality and higher end-user satisfaction than is possible through the engineering of single systems It needs two distinct development processes: domain engineering and application engineering Domain engineering defines and realizes the commonality and variability of the software product line and introduces variability in all software product line assets (e.g., domain requirements and domain test cases), thus establishing the common software platform for rapidly mass-customizing high-quality applications to the needs of different customers and markets Application engineering derives specific applications by strategically reusing the platform and by exploiting the variability built into the platform IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 2

Challenges involved: The need for high levels of abstraction The platforms require substantial investments, have long life cycles, and have to provide product line architectures and features generally applicable to a wide range of products, services, and markets Industrially validated modeling methods and commercially available modeling tools are critical to deal with the abstractions In addition to traditional system modeling, variability modeling is required to document explicitly how the applications within the product line can vary IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 3

Challenges involved: The need to cope with high levels of complexity Coordinated changes are needed in development methodologies, processes, tools, product architectures, organizational designs, business models, and capability levels of the stakeholders involved Domain engineering typically requires development methodologies far different from application engineering => It may be impossible to choose a development methodology for organization-wide use Domain engineering and application engineering are often carried out in separate organizational units due to their different concerns The two engineering life cycles and enabling knowledge management systems need to be holistically designed because the cycles are knowledge intensive and require the management of complex dependencies between many types of artifacts The business models need to be appropriate and clear from both external and internal viewpoints Internally, the business model must facilitate the appropriate financing and resourcing of domain engineering IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 4

Challenges involved: The fragmented software product line body of knowledge An internationally accepted academic educational curriculum and readily available teaching materials are missing Few methods and tools presented in scientific papers are so widely used in the industry that they could be considered as defacto standards for software product line engineering Industrial validation of most methods and tools is in early phases International standards do not cover product line engineering Individual academic papers cannot have both the holistic scope and the details required to help businesses take coordinated product line adoption actions There is only one book about software product line engineering for students in undergraduate and graduate level university courses => it is challenging for educators to teach and for students and practitioners to understand and apply software product line concepts IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 5

Challenges involved: The lack of tools Interoperable information systems are critical to support knowledge management throughout the domain and application engineering lifecycles and during variability modeling and resolution Commercially available and industrially validated software tools to implement the systems are scarcely available partly because the markets do not know what to expect from such tools There is no internationally standardized variability metamodel to capture variation points, that is, the items that vary; variants defining how the variable items can vary; and constraints between variants, between variants and variation points, and between variation points Tool vendors have circumvented the problem by focusing on features that support the engineering of single systems well enabling extension mechanisms that let organizations tailor their own methods and tools for purposes such as variability modeling Organization-specific extensions are inadequate when organizations work in global ecosystems and need to share models, methods, and tools IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 6

How to deal with the challenges? The field must focus on consolidating its body of knowledge The next level of development requires coordinated actions beyond the research community Markets have a key role in consolidation efforts by determining which research deliverables and other stocks of knowledge produce most value in practice International standardization efforts are needed to determine those parts of the body of knowledge that are stable and coherent enough for standardization purposes can serve as the baseline on which new breakthroughs can be built IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 7

Background of software product line standardization efforts ISO/JTC1/SC7 decided to initiate requirements engineering standardization activities in its plenary meeting in Helsinki in May 2005 I was involved with the largest European software engineering research project series (ESAPS, CAFÉ, and FAMILIES) ever conducted, focusing on software product line research with a budget of more than 100 million euros The project series had substantially advanced the tools and methods related to software product line requirements engineering Existing standards focused on requirements engineering of single systems Dan Lee and I proposed to SC7 that a standardization project for software product line requirements engineering should be initiated The ISO/IEC 29118 project was started in 2006 to deal with the issue During the next two years, Dan Lee and I created several drafts of 29118, describing a generic reference model and detailing software product line requirements engineering methods and tools IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 8

The status of software product line standardization efforts SC 7 has decided to create a set of interrelated software product line engineering standards The contents of the 29118 project have been divided into two new projects: ISO/IEC 26520 will establish a reference model for software product line engineering, covering phases of the domain and application engineering life-cycles on a high level of abstraction ISO/IEC 26521 will detail the domain and application requirements engineering processes During the next decade, three new projects will create three standards for the other life-cycle phases: Product line architecting Product line realization, and Product line testing There will also be two new standards for technical management (ISO 26525) and organizational management practices IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 9

The preliminary reference model of the ISO/IEC 26520 for software product line engineering and management Organizational Domain Engineering Product Line Scoping Technical Business Case Domain Requirements Engineering Domain Design Domain Realization Domain Testing Process Transition Core Asset Variability Operation Application Requirements Engineering Application Design Application Realization Application Testing Support Application Engineering Legend: Phase Information flow IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 10

The preliminary reference model of the ISO/IEC 26521 for software product line requirements engineering and management Product Line Scoping Product Portfolio Scoping Domain Scoping Asset Scoping Domain Requirements Engineering Domain Requirements Elicitation (Initial set of common and variable stakeholder needs) Application Requirements Engineering Domain Requirements Analysis (A set of common and variable requirements) Domain Requirements Specification (Documented set of common and variable requirements) Domain Requirements (Traceable and managed baseline) Core Asset Repository Core Asset Identification Implementation Core Asset Validation Core Asset in Requirements Domain Requirements Verification and Validation (Clear, complete, and correct requirements) Core Asset Configuration and Core Asset Annotation Structure Definition Core Asset Evolution Variability in Requirements Variability Modeling Traceability between a Variability Model and Domain Artifacts Variability Annotation Application Requirements Elicitation (Initial set of stakeholder needs for an application) Application Requirements Analysis (A list of differences between domain and application requirements) Application Requirements Specification (Documented set of application requirements) Application Requirements (Traceable and managed baseline) Application Requirements Verification and Validation (Clear, complete, and correct application requirements) Variability Validation Variability Evolution IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 11

The preliminary reference model of the ISO/IEC 26525 for the technical management of software product line engineering Process Process-Enabling Domain Process Definition Application Process Definition Process Monitoring and Control Process Improvement Variability Variability Modeling Variability Documentation Variability Binding Variability Traceability Variability Control & Evolution Support Technical Planning Make/Buy/Mine/Commission Analysis Measurement & Control Quality Assurance Configuration Technical Risk Tool Support IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 12

The plan for the next three years All three standards are new and none of them have been balloted They will be further developed by the small editorial teams Timo Käkölä is an editor in all the projects Development will be facilitated by national teams at least in Finland, India, Japan, South Korea, and the USA National teams are especially needed to collect data about the applicability, validity, and usefulness of the proposed life-cycles, phases, practices, methods, and tools 26520 and 26521 should be ready for first balloting in 2011 and 26525 in 2012 The new organizational management standard will be planned but most resources will be used to develop and ballot the three standards IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 13

Benefits from applying the software product line standards The standards will detail the domain and application engineering lifecycles, all phases of the life-cycles, and the core asset management, organizational management, and technical management practices Users of the standards can specify, verify, and validate engineering and management practices for both existing and envisioned product lines based on the good product line practices described in the standards holistically understand, adopt, and enact the domain and application engineering life-cycles evaluate and select relevant methods and tools for product line practices based on business and user-related criteria In addition, tool vendors can use the standards to develop interoperable tool suites and features supporting domain and application engineering life-cycles and their phases communicate about their tools to the markets IT-standardit liiketoiminnan jatkuvuuden takeena miniseminaari, joulukuu 2009 14