Agile SPL-SCM: Agile Software Product Line Configuration and Release Management



Similar documents
Agile SPL SCM Agile Software Product Line Configuration and Release Management

Developing Software in a Private workspace PM PMS

Software Configuration Management

Software Architecture

Software Configuration Management Best Practices for Continuous Integration

Driving Your Business Forward with Application Life-cycle Management (ALM)

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Integrate Testing into Continuous Delivery

Software Configuration Management Patterns

Kevin Lee Technical Consultant As part of a normal software build and release process

An Agile Approach to Release Management

Software Configuration Management

Meister Going Beyond Maven

Continuous Delivery. Alejandro Ruiz

Surround SCM Best Practices

Software Configuration Management for Embedded Systems Developers

Copyrighted , Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

Key Benefits of Microsoft Visual Studio Team System

What Is Software Configuration Management?

Software configuration management

Computer programs (both source and executable) Documentation (both technical and user) Data (contained within the program or external to it)

Chapter 13 Configuration Management

SOE. managing change in system development projects: configuration management

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

High-Level Software Version Management Best Practices Abstract

The 7 Attributes of a Good Software Configuration Management System

What an Architect Needs to Know

Software Configuration Management (SCM)

Open Group SOA Governance. San Diego 2009

Successfully managing geographically distributed development

Configuration Management Patterns

Testhouse Training Portfolio

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

Continuous Integration & Automated Testing in a multisite.net/cloud Project

Managing and Maintaining Windows Server 2008 Servers (6430) Course length: 5 days

Continuous Integration Processes and SCM To Support Test Automation

Coverity Services. World-class professional services, technical support and training from the Coverity development testing experts

Software Configuration Management Best Practices

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline

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

Continuous Integration (CI)

Patterns to Introduce Continuous Integration to Organizations

IT Home 2015 DevOps 研 討 會

Agile Delivery Framework Automation & Deployment With Puppet

Modern practices TIE-21100/

Implementing Continuous Integration Testing Prepared by:

A Configuration Management Model for Software Product Line

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

STAR JPSS Algorithms Integration Team Configuration Management Plan Version 1.2

Configuration Management - The Big Picture

Software Configuration Management. Context. Learning Objectives

L Impatto della SOA sulle competenze e l organizzazione ICT di Fornitori e Clienti

Chapter 13 Configuration Management

Master data deployment and management in a global ERP implementation

Karunya University Dept. of Information Technology

High-level Best Practices in Software Configuration Management

Continuous Delivery Benefits, Best Practices and Practical Advice

SOFTWARE DEVELOPMENT BASICS SED

Theme 1 Software Processes. Software Configuration Management

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig

MathWorks Automotive Conference 2015 Simon Fürst, 2015/09/24. MODEL-BASED SOFTWARE DEVELOPMENT: AN OEM S PERSPECTIVE.

White Paper. Software Development Best Practices: Enterprise Code Portal

Continuous Integration Just another buzz word?

An Introduction to Continuous Delivery

Continuous Delivery Software-Deployments ohne graue Haare. 3. April 2012 Corsin Decurtins

CHAPTER 7 Software Configuration Management

Continuous integration End of the big bang integration era

Accelerating Time to Market:

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More

One solution for all your Source Configuration Management Needs

Software Configuration Management.

Atomate Development Process. Quick Guide

Configuration Management in a Software Product Line

Using Workflow Technology to Manage Flexible e-learning Services

Improving Cognos Upgrades Methodology to Lower Costs & Improve Upgrade Management

How To Develop Software

Software Engineering talk

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

Release Notes for Patch Release #2614

UPDATE MANAGEMENT SERVICE The advantage of a smooth Software distribution

Transcription:

Agile SPL-SCM: Agile Software Product Line Configuration and Release Management APLE 2006 Workshop SPLC 2006, Baltimore, MD Reto.Kurmann@phonak.com Phonak Hearing Systems Presentation Roadmap 1. Introduction Phonak Hearing Systems 2. Phonak s SPL Adoption 3. SCM in Software Product Lines (background) 4. SCM reflects static SPL architecture 5. Main Path Centric Development 6. Release strategies 8. Automate SPL Production Process 9. Lean and Agile SCM Processes 9.6 Requirements Process (not so lean) Questions & Answers 2 1

1. Introduction Phonak Phonak is specialized in the design, development, manufacture and global distribution of hearing systems. Our technologically advanced hearing systems significantly improve quality of life of many people worldwide. 555 Million Euros 3500 employees Sales in 70 countries 3 R&D Locations 3 1. Introduction Hearing Aid 4 2

2. Why SPLs in the Hearing Instrument Industry? Fitting Application Software Product family Hearing Instruments Product family 5 2. Phonak s Software Product Line Evolution Development time for new Hearing Instrument families cut in half Continuous improvement in software quality Reuse of core assets in 5 Fitting Applications and 55 HIs 6 3

3. Software Product Lines Principles http://www.sei.cmu.edu/productlines/ Next generation of reuse Products or services which share a common set of features These features are managed, to satisfy a specific need, mission or market segment The products are developed from a common set of core assets in a prescribed way Some SPL Principles Domain & Application Engineering Identify Commonality & Variability Define SW Product Line Scope Create SW Product Line Architecture Create Core Assets and Production Integrate Products and Services 7 3. Software Configuration Management Patterns Mainline (1) by Stephen Berczuk Active Development Line (2) Private Workspace (3) Integration Build (5) Private System Build (4) Repository (6) Private Versions (13) Release Line (14) Release-Prep Codeline (15) Task Branch (16) Third Party Codeline (7) Task Level Commit (8) Smoke Test (9) Unit Test (10) Regression Test (11) Codeline Policy (12) Intangible Product, but tangible release schedule Each product is 100% reproducible for Release version of OTS-components, libraries and tools Baseline of core asset components Baseline of production mechanism and environments Version of product-specific components and variations 8 4

4. SCM reflects static SPL architecture Product Line architecture is reflected in folder structure Platform (Core assets) is shared among products as Released version Specific development path based on checkpoint The main path head 9 5. Main Path Centric Development Main path consists of source code of all products and core assets New feature development on main path Release paths only for verification, validation and bug-fixing Bug fixes immediately merged back to main path Daily build and smoke tests enforce good quality 10 5

6. Release strategies Align platform and product releases (release together) Platform validation impossible or too expensive Remove unnecessary time-to-market delay Cluster product release to benefit from verification First release of new feature with single product Core asset changes during validation in product May invalidate validation or through off schedule Disadvantage: Feature delayed for other products Releasing source code rather than binaries No need to release binaries -> automated production Allows pre-compile, compile and build variation points 11 8. Automate SPL Production Process Provide tools to configure variation points (8000 for HI) of components (216 boolean features == 10 65 combinations = #atoms in universe) Fully-automated production Build-Server Nightly builds and smoke tests with morning reports Separate fully-automated Test-Server for unit, component, integration, regression, etc. tests 12 6

8. SPL-Production Build Server 13 9. Lean and Agile SCM Processes Check-in e-mails Check-in policy A) Synchronize local sandbox B) Make private system build and smoke test C) Check-in D) Send check-in e-mail E) Kick production server (build & smoke test) F) Have change reviewed Stabilization of main path is highest priority of team Daily user deployment test Installation and 30 exploratory testing Requirements engineering and change management NO lean processes, but allow controlled late changes 14 7

9.6 Requirements Process (not so lean) Define overall system as a set of features Features are reviewed and approved by all Product Managers (PM) and released by steering board Feature requests describe commonality as well as variation points 15 Comments, Questions & Answers Don t choose just one method Know all of them Taylor to your needs based on Project (Budget, Size, Time) Organization (Teams, People) Process maturity Taylor Disciplines Do proper RE and architecture: Specify variation points in RE Implement only needed variation Automation is AGILE??? 16 8