Product Line Engineering Lecture PLE Principles & Experiences (2)

Similar documents
Product Line Challenges and Organization Structuring Critical Success Factors

Integrating Product Line Engineering and Agile Methods: Flexible Design Up-front vs. Incremental Design

Introduction to Software Product Lines Patrick Donohoe Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213

Product Line Engineering Lecture PL Architectures I

Integrating Product Line Engineering and Agile Methods: Flexible Design Up-Front vs. Incremental Design

The Open Group Exam OG0-091 TOGAF 9 Part 1 Version: 7.0 [ Total Questions: 234 ]

SERVICE ORIENTED ARCHITECTURE (SOA)

Product Line Potential Analysis

Oracle Cloud Blueprint and Roadmap Service. 1 Copyright 2012, Oracle and/or its affiliates. All rights reserved.

SWE 211 Software Processes

TOGAF 9.1 Phases E-H & Requirements Management

Exam Questions OG0-091

Software Design Patterns (CPIT 252)

Software Product Line Engineering: Future Research Directions

Accelerating Your DevOps Journey

Software Product Lines. Dennis Wagelaar Viviane Jonckers Software Languages Lab

Model Driven Architecture as Approach to Manage Variability in Software Product Families

SOFTWARE PRODUCT LINES: A RESEARCH INFRASTRUCTURE. John D. McGregor Clemson University

Succeed with Agile at Scale

TOGAF 9.1. About Edureka

3. Comparison of Above Described SDLC Models

Quantifying Product Line Benefits

IBM BPM on zenterprise

The Systems and Software Product Line Engineering Lifecycle Framework

A FEDERATED ARCHITECTURE TO SUPPORT SUPPLY CHAINS

An Architecture Maturity Model of Software Product Line

IEEE and Agile Process- Create Architecture Description through Agile Architecture Framework

Assessing Merge Potential of Existing Engine Control Systems into a Product Line

An Iterative Model for Agile Product Line Engineering

How SOA Can Help EA. Enterprise Architecture Conference 2008

Architecture. By Glib Kutepov Fraunhofer IESE

MBA BADM559 Enterprise IT Governance 12/15/2008. Enterprise Architecture is a holistic view of an enterprise s processes, information and

Service oriented architecture solutions White paper. IBM SOA Foundation: providing what you need to get started with SOA.

Innovating at Internet Speed: How to balance speed and efficiency in the digital age

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Scaling Up & Scaling Down

Engineering Practices and Patterns for Rapid BIT Evolution

TOGAF 9 Training: Foundation

Data Warehousing provides easy access

Maturity Assessment Framework for Business Dimension of Software Product Family

The Issue of Performance Why Do you need a Maturity Level 5. Achieving the Organizational Business Objectives Through Optimized Operational Processes

SOA Success Methodology

IBM Rational Software

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

Establishing Architecture for Large Enterprise Solutions in Agile Environment

Agile Quality Management

Why Enterprise Architecture is must for One-Stop e-government?

Aligning IT with Business Goals Through SOA

IT Architect Regional Conference 2007

BUILDING THE ONE GSA ENTERPRISE ARCHITECTURE

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2

SOA Governance is For Life, Not Just a Strategy

ARCHITECTURE OF THE CARUSO ECOSYSTEM

Model-based Architectural Framework for Rapid Business Transformation of Global Operations

Software Product Line Engineering

<Insert Picture Here> Enterprise (-wide) SOA?! Thoughts beyond technology and XML

Iasa Engagements enhance Corporate Membership

Service Oriented Architecture

JOURNAL OF OBJECT TECHNOLOGY

guest editors introduction Successful Software Product Line Practices

Fueled with ALM Octane

Arcade Game Maker Pedagogical Product Line: Business Case

Sales & Marketing. Inspiring consumer goods sector by everis

Service-Oriented Architecture: Making the most of SOA What, Why and How

Software Product Line Engineering L5:Organisations and SPL

Actionable enterprise architecture management

Building a Platform for Innovation

A Proposed Community Roadmap for Advancing the Practice of Model-Based Systems Engineering in Government Programs and Enterprises

Powering the Edge to the Enterprise

CIS 8090 Intro. Setting the stage for the semester Arun Aryal & Tianjie Deng

ADM The Architecture Development Method

Oracle Enterprise Data Management Cloud

PLANNING AGILE MODERNIZATION FOR SUCCESS

Maturity Assessment Framework for Business Dimension of Software Product Family

How Product Line Engineering (PLE) Creates a Competitive Advantage: Removing Time, Cost, and Complexity from the Systems Lifecycle

B.Sc.(I.T.) Sem VI Software Project Management Solution Set, April 2017

Integration and infrastructure software Executive brief May The business value of deploying WebSphere Portal software in an SOA environment.

The Course Modules for TOGAF Online Certification Training: 1. Introduction. TOGAF Structure. 2. Core Concepts

Bridging Strategy to Execution through a Stakeholder Lens

Architecture-Driven Modernization (ADM) Task Force: Overview, Scenarios & Roadmap. OMG Architecture-Driven Modernization Task Force

An Overview of Software Process

Business Case for the Arcade Game Maker Product Line

An Approach for Assessing SOA Maturity in the Enterprise

Tuesday, October 25. Announcements

Chapter 15. Supporting Practices Service Profiles 15.2 Vocabularies 15.3 Organizational Roles. SOA Principles of Service Design

Software Reuse and Reference Architecture Processes Study Study Introduction SEEDs Community Workshop #1 February 5-7, 2002

Requirements Engineering and Software Architecture Project Description

QUALITY ASSURANCE PLAN OKLAHOMA DEPARTMENT OF HUMAN SERVICES ENTERPRISE SYSTEM (MOSAIC PROJECT)

IBM Global Technology Services. Weaving the solution Dharanibalan Gurunathan 1 st August, Mumbai

IBM Software Services for Lotus To support your business objectives. Maximize your portal solution through a rapid, low-risk deployment.

IBM Rational Software

Software Development Methodologies

Towards a Model-driven and Tool-integration Framework for Co- Simulation Environments. Jinzhi Lu, Martin Törngren

A GUIDE TO FRICTIONLESS DELIVERY

Dynamic Enterprise Performance Management

The innovation engine for the digitized world The New Style of IT

the state of the practice Product Line Engineering: The State of the Practice

Business Process Management for Innovation and Optimisation. David Bate SOA Software Sales Executive IBM Asia Pacific

TOGAF Foundation. Part I: Basic Concepts 1 /

Collaborative Planning Methodology (CPM) Overview

Transcription:

Product Line Engineering Lecture PLE Principles & Experiences (2) Dr. Martin Becker martin.becker@iese.fraunhofer.de 2 Copyright 2011

Product Line Scoping --- Recap --- Introduction

Reuse Approaches Typical Engineering Challenges: Increasing # variants, complexity, customization, quality Decreasing time to market, production costs 2

Reuse approaches: Ad-hoc Product Requirements Application Engineering Product Product Requirements Application Engineering Product Reuse Repository (Archive) Reuse Repository (Archive) Product Requirements Application Engineering Product Reuse Repository (Archive) 3

Problems with Ad-hoc reuse Experiences Applied widely: Clone and Own Does not scale within an organization and across time due to Lacking means for organizing and managing reusable artifacts Search efforts Evaluation efforts Adaptation efforts (80:20 rule holds here) Integration efforts In most cases a no go! 4

Reuse Approaches: Domain Engineering Domain Engineering Domain Domain Artifact Base Feedback Product Requirements Application Engineering Product Idea: Proactively develop for reuse 5

Problems of Domain Engineering Domain Engineering: Development for reuse Understand domain concepts, entities, and relationships Set up, maintain, evolve reuse infrastructure Application Engineering: Development with reuse Product development based on large-scale reuse Reuse is driven by domain concepts No searching for reusable artifacts required Emphasis is on Domain Engineering No clear termination criteria => It takes forever Unclear domain boundaries Reusable artifacts become more general or generic then required And thus much harder to reuse and maintain Application engineering assumed as requiring no effort (ideal vision) 6

--- PLE Principles & Experiences --- 7

Optimizing Reuse Product Line Engineering Product 1 Product 2 Product 3 2 Considering the different products an organization or organizational sector delivers as Product Family or Product Line Taking advantage of commonality Clear understanding about variability Strategic planning of software reuse Efficient production Proactively plan the reuse: Just the right variability support 8

Product Line :== a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of assets in a prescribed way. [L.M. Northrop, P.C. Clements: A Framework for Software Product Line Practice, Version 5.0, Software Engineering Institute, 2007] 9

Product Line :== a family of products designed to take advantage of their common aspects and predicted variabilities [D.M. Weiss, C.T.R. Lai: Software Product-Line Engineering. A Family-Based Software Development Process. Addison-Wesley, 1999] 10

Organizational Life Cycle Application Engineering Specification Design Implementation Specification Design Implementation Specification Design Implementation System Test Specification Design Implementation System Test System Test System Test? Family Engineering Big cultural change in many environments! 11

Product Line Life Cycle Product Requirements Product Application Engineering Quality Evaluation Identification Adaptation Integration Productivity Product Requirements A Requirements B Requirements C Domain Domain Classification Family Engineering Product Line Infrastructure Product Line Artifact Base Documentation Coordination Evolution Feedback 12

Product Line Engineering General domains are large and have fuzzy boundaries Scoping defines sharp domain boundaries based on concrete product requirements Existing products Competitor products Future or envisioned products Family engineering is thus More focused and closer to production (than DE), as well as More efficient Emphasis is on Application Engineering! Effectively exploit the reuse potential 13

Size of Code to be maintained # LoC (to be maintained) size of code base (w/o reuse) size of code base (with 85% reuse) # delivered systems (to be maintained) 14

Developers versus Maintainers (85% Reuse) 100 80 Resources (%) 60 40 20 developers maintainers 0 # delivered systems (to be maintained) 15

Product Line Process Models General process models can be applied to Application engineering Family engineering Define clear interfaces and protocols between main activities Family engineering Delivery to application engineering Products are reusable artifacts and infrastructure technologies Application Engineering As in single system context Reuse, however, is built in! 16

Family Engineering (RUP) Business Modeling Scoping Planning Requirements Product Line Infrastructure Analysis & Design Implementation FEEDBACK (technical viewpoint) FEEDBACK (business viewpoint) Test Application Engineering 17

Definition: Product Line Engineering PL engineering optimizes: quality and productivity Product Quality Engineering Processes Productivity Management Processes Improvement Processes 18

Definition: Product Line Approach A product line engineering approach consists of engineering processes addressing product line issues consistently throughout all development activities, management processes continuously aligning engineered product lines with business goals and needs, and improvement processes establishing and optimizing the implemented product line approach continuously and incrementally [Fraunhofer IESE] Only a comprehensive approach works! 19

20

Fraunhofer PuLSE Applied research since 1997 (= 4 innovation cycles) Deployment Phases PuLSE Initialization Product Line Infrastructure Construction Product Line Infrastructure Usage Product Line Infrastructure Evolution Technical Components (Product Line Practices) Customizing Scoping Modeling Architecting Designing Coding Testing and Inspection Evolving and Managing Instantiating Industry Partners (selection) Project Entry Points Organizational Issues Maturity Scale Support Components 21

Product Line Engineering with PuLSE Scoping instead of domain modeling Incremental and Iterative Introduction of Product Line Engineering in more than one lifecycle (no Big- Bang) Lightweight Explicit analysis of the starting situation and reuse of existing Software Engineering capabilities for PL Architecture centric Product line reference Architecture as the central artifact Explicit variability modeling with decisions 22

Possible Goals with the introduction of Product Lines Reduction in the time to market required for individual products Reduction in the overall development cost Reduction in required development effort per product Reduction in the overall maintenance cost Higher quality standards consistently across all products Common look and feel, as well as high interoperability, among products Trade-offs require prioritization 23

Example: Mobile Games Market Different cell phone brands Different supported APIs, different screen sizes, memory, etc. Source: GTTSE 2009, Software Product Lines Refactoring Tutorial 24

Product Line Approach Reusable assets Related products Source: GTTSE 2009, Software Product Lines Refactoring Tutorial 25

Success Story: Cummins, Inc. (1/2) World s largest manufacturer of large diesel engines. Product family includes 9 basic engine types 4-18 cylinders 3.9-164 liters 12 kinds of electronic control modules 5 kinds of processors 10 kinds of fuel systems diesel fuel or natural gas [Clements/Northrop] 26

Success Story: Cummins, Inc. (2/2) Cost Management estimates product line ROI of 10:1 Time to Market Product cycle time: a year to a few days Productivity 20 product groups 1000 separate applications 75% of all software comes from core assets Productivity improvement of 360% Enter new Markets Capability let Cummins enter and dominate industrial diesel engine market Quality Software quality is at an all-time high 15 of 15 projects are on track (was 3 of 10) Customer satisfaction is high. Large company, revolutionary approach, detailled results wrt. many goals [Clements/Northrop] 27

Concrete Reported Benefits Nokia is able to produce 25 to 30 different phone models per year (up from 4 per year) because of the product line approach. Cummins, Inc., was able to reduce the time it takes to produce the software for a diesel engine from about a year to about a week. Motorola observed a 400% productivity improvement in a family of oneway pagers. Hewlett-Packard reported a time to market reduced by a factor of seven and a productivity increase by a factor of six, in a family of printer systems. Really exploit the reuse potential 28

Not only business benefits Organizational benefits Efficient management of human resources People can be easily transferred across products Expertise is applicable across products Training effort is kept small Resources spent on training developers to use processes, tools, and system components are expended only once. Increased predictability Well-established roles and responsibilities 29

Product Line Success Story: medium Enterprise, Measurement Systems One of the leading suppliers of portable electronic measurement instruments for temperature, pressure, humidity, flow rate, and gas concentration Two product departments each responsible for a different, but similar set of products (same business domain) Introduce product line development to integrate product departments, reduce costs and be able to develop more complex products Reuse level increased from 17% (2002, start of PL) to 34% (first PL generation) to more than 50% (2009, 3rd generation) More than 15 products derived from the product line Product line architecture is a central asset in the development Maintainability increased significantly (e.g. architectural divergences decreased from 17% to 1%) Mid-size company, evolutionary approach, detailled results wrt. many goals 30

Product Line Success Story: Large Enterprise, Automotive Driving Comfort Electronics International company developing automotive driving comfort electronics (distributed door, roof and seating functions) Goals: Refactoring existing systems into a product line Introduce reference architecture without resource penalties Provide light-weight product line refactoring strategies Validation by goal-oriented measurement 0% resource overhead -56% module dependencies 65-88% code reuse Large company, evolutionary approach, specific results wrt. many goals 31

Product Line Success Story: Large Enterprise, Automotive Engine Control Systems International enterprise developing automotive engine control systems (e.g. control units, injector, fuel pumps etc.) Goal: Optimize model-based generation for product lines Introduce integrated variability management (Matlab) Enable automated product configuration Empirical validation initial investment is necessary faster derivation of new products reduced product line maintenance effort [Yoshimura, Kentaro ; Forster, Thomas ; Muthig, Dirk ; Pech, Daniel: Model-based Design of Product Line Components in the Automotive Domain Proceedings of 12 th Software Product Lines Conference, 2008] 32 Large company, evolutionary approach, general results wrt. many goals

Product Line Success Story: Small Enterprise, Remote Monitoring and Control Systems German company specialized in data collection, transmission and control for various meters (water, gas etc.) Goal: Manage existing system variations, accelerate configuration of new products Introduce variability management on top of existing mechanisms (e.g. conditional compilation) Step-wise transition (initialization, analysis, product derivation, evolution) Achieved benefits faster product derivation reduced expert work load reduced maintenance effort (especially in terms of changing product configurations) [Pech, Daniel ; Knodel, Jens ; Carbon, Ralf ; Schitter, Clemens ; Hein, Dirk: Variability Management in Small Development Organizations Experiences and Lessons Learned from a Case Study, Proceedings of 13 th Software Product Lines Conference, 2009] 33 Mid-size company, evolutionary approach, general results wrt. many goals

More PL Case Studies Can be found at: 34 [http://splc.net/fame.html]

Summary High potential wrt. various business goals of strategic (large-scale, planned) reuse programmes You probably have a high reuse potential as well Product Line Approaches are very promising, but must be comprehensive: engineering, management, improvement and customized to the respective context Leaving you alone with some books and technical reports does not work PuLSE approach is available and has proven to work in practice We can and want to help you with achiving your reuse goals 35