Systems and Software Product Line Engineering Charles W. Krueger, PhD CEO, BigLever Software www.biglever.com ckrueger@biglever.com INCOSE Chicagoland Chapter Oct 21, 2010
Agenda Systems and Software Product Lines (SPL) BigLever Software Gears SPL Framework and Methodology Gears Demo
BigLever at a Glance Industry leader in Systems and Software Product Line engineering tools and services 9 years of commercial practice with GearsTM technology and methods Strategic partner of IBM Rational Proven success BigLever customer case studies illustrate successful transitions SPL Hall of Fame: Salion (2004), LSI Logic (2006), HomeAway (2009) Large-scale deployments: Lockheed Martin, General Dynamics, GM, ... Best ROI metrics in the industry
Systems and Software Product Lines The key to business success depends on the infusion of new ideas about how products and systems are brought to market To achieve this goal, today's product development organizations must deliver a product line A portfolio of similar products or systems with variations in features and functions Not just an individual product or system
Product Lines and Profitability Companies need economy of scale in their product lines In manufacturing, greater profitability is achieved by investing in an efficient means of production – manufacturing infrastructure and shared product assets – that can be used to deploy different “flavors” of a product As product differentiation and innovation move from the physical attributes to software-based features, the need for an efficient means of production for systems and software product lines has become universal
An Efficient Means of Production for Systems and Software Product Lines
Overview of Systems and Software Product Line Engineering and Delivery
Systems and Software Product Line Engineering and Delivery Systems and software product line (SPL) engineering and delivery has emerged as a new approach that provides an efficient means of production for systems and software product lines supports the full product line development and delivery lifecycle
Complexity of Product-centric Thinking Impedes Portfolio Production Order N2 Complexity “Vertical” Product Perspective
The Challenge of Product Line Engineering: Harnessing Complexity Time Processes, tools and techniques cannot overcome the exponential complexity A new approach is required... Engineering Complexity Engineering Capability
Shift in Perspective: Efficient Means of Production
Shift in Perspective: Efficient Means of Production
Benefits of a Software Production Line Economy of Scale from Automated Production Increase in the scope of product diversity Increase in the scale of different products effectively delivered and maintained Cost Savings from Efficiency and Productivity Increase in productivity and efficiency Reduction in per-product development cost and overhead Higher profit margins Faster Profits from Faster Time to Market Reduction in time-to-market for new and updated products Increased agility to react to new opportunities and changing market conditions Better Products from Better Quality Increase in customer-perceived product quality Reduction in defect density Improved risk management
2nd Generation SPL Approach
Multiple Dimensions in a 2G SPL Solution Synchronous concerns: multi-product, multi-phase, multi-baseline Multi-product. Feature-based variation management and automated production line Multi-phase. Product line lifecycle assets, architecture and traceability Multi-baseline. Product line change management and baseline management
The BigLever 3-Tiered SPL Methodology Leveraging industry best practices from SPL successes Leverage. Feature Based SPL Management Business-wide management of portfolio by features rather than by products leads to optimized: Scalability Time-to-Market Simplify. SPL Asset Focused Development High levels of reuse, deep asset expertise, stable organization structure leads to optimized: Quality Consolidate. Variation Management & Automated Production Eliminating duplication, divergence, merging, manual variation techniques, lifecycle silos, and manual production leads to optimized: Productivity and Cost
Minimally Invasive Transitions to SPL Practice Start with what you’ve got Use an incremental transition strategy Create a pilot as the catalyst for change Stage transition to be non-disruptive to production schedules
BigLever Software Tools and Services
What We Offer Gears™ Bridge integrations Software product line engineering tool & framework Powerful patented technology Industry leading Award winning Bridge integrations Rhapsody/Gears Bridge DOORS/Gears Bridge Eclipse Plugin Universal Configuration Management Bridge Rational Quality Manager/Gears Bridge Methodology integrations: Focal Point, Publishing Engine, Team Concert, ... The industry’s most innovative software product line services
Software Product Line Lifecycle Framework Example Tools DOORS/ Gears Bridge Rhapsody/ Gears Bridge Synergy Universal CM Bridge Eclipse Eclipse Plugin OS File System RQM/ Gears Bridge Focal Point Quality Manager Rhapsody DOORS Example Assets Require- ments Design Models Source Code User Docs Test Cases Gears SPL Framework Product Configurator Feature Profiles Profile A Production Line Development Environment Product A ... Require- ments Design Models Source Code User Docs Test Cases Product N
Services for Success Industry Leading Experience and Expertise Getting Started Package (recommended first step) Intense, accelerated, hands-on pilot project 3-days onsite, half-day prep, half-day post $5,000 (a $10,000 value). Refundable if not 100% satisfied. Á la carte Pilots Assessments Transitions Training
SPL Source Code & File-based Asset Engineering with the Universal Configuration Management Bridge
Early Generation SPL Source Code & File-based Asset Engineering Early generation product-centric approaches lead to exponential complexity Clone-and-own and branching For each new product, make a copy or branch, then modify Leads to expensive duplication, divergence and merging Compiler preprocessor directives Tag source code blocks with #ifdef directives Leads to complex and convoluted source code and build system One-size-fits-all with runtime conditionals and startup configuration files Write the portfolio variations and diversity directly into the source code text Leads to ever-growing, increasingly complex and convoluted source code
Source Code as Gears SPL Assets Feature-based Software Development
Source file Variation Point with Variants, Logic and Projection
Multi-baseline Management for SPL ... Asset 1 Asset 2 SPL Asset Managers Asset 3 ... Asset L ... Product A Product B Product N Release Manager Key: Alpha release Beta release Public release
Gears File-based Variation Points File system extended with Feature-based SPL variation points Optional files Variant files Optional directories Variant directories Variant text transformations Optional text blocks
SPL Requirements Engineering with the DOORS/Gears Bridge
Early Generation SPL Requirements Engineering for Product Lines Early generation product-centric approaches lead to exponential complexity Clone-and-own (and requirements branching) For each new product, make a copy of requirements and modify Optionally add links to track commonality and variations Leads to expensive duplication, divergence and merging Attributes, links, scripting Tag each requirement with one or more attributes about product diversity Leads to high overhead Major effort to define and implement attributes, dictionaries, semantics, schemas, scripts and filters Labor intensive to revisit all requirements and attributes during maintenance and portfolio extension One-size-fits-all Write the portfolio variations and diversity directly into the requirements text Leads to complexity and errors interpreting requirements for any particular product
DOORS Requirements as Gears SPL Assets Feature-based Requirements Engineering
BigLever Software Gears DOORS/Gears Bridge Dual Plugin “Bridge” between DOORS and Gears SPL Framework Gears plugin extensions Automated configuration of DOORS requirements, based on Gears feature profiles DOORS plugin extensions Any requirement can be converted into a first-class Gears variation point BigLever Software Gears DOORS/Gears Bridge Rational DOORS
DOORS/Gears Variation Points DOORS extended with Feature-based SPL variation points Optional requirements Requirements with variants Requirements with text transformations
SPL Model-driven Development with the Rhapsody/Gears Bridge
Early Generation SPL Model-driven Development for Product Lines Early generation product-centric approaches lead to exponential complexity Clone-and-own For each new product, make a copy of a similar model and modify Leads to expensive duplication, divergence and merging One-size-fits-all For each new product, add product diversity meta-logic in one model Leads to large and complex models with product diversity logic intermingled with application logic
Rhapsody Models as Gears SPL Assets Feature-based MDD for SysML and UML
Rhapsody/Gears Bridge Dual Plugin “Bridge” between Rhapsody and Gears SPL Framework Gears plugin extensions Automated configuration of Rhapsody model elements, based on Gears feature profiles Rhapsody plugin extensions SysML and UML model elements can be converted into first-class Gears variation points BigLever Software Gears Rational Rhapsody Rhapsody/Gears Bridge
Rhapsody/Gears Variation Points Rhapsody extended with Feature-based SPL variation points Optional model elements (SysML, UML) Optional code generation (UML) Code generation variants (UML)
SPL Test Engineering with the RQM/Gears Bridge
Early Generation SPL Test Engineering for Product Lines Early generation product-centric approaches lead to exponential complexity Clone-and-own (and test case branching) For each new product, make a copy of test cases and modify Leads to expensive duplication, divergence and merging One-size-fits-all Write the portfolio variations and diversity directly into the test case text Leads to complexity and errors interpreting test procedure for any particular product
RQM Test Cases as Gears SPL Assets Feature-based Test Engineering
SPL Symmetry in the ‘V’ ... Gears Product Configurator Feature Profiles Profile A Gears Product Configurator Source Code Unit Test Cases Design Models Sub- system Tests Require- ments Integration Tests Source Code Unit Test Cases Design Models Sub- system Tests Require- ments Integration Tests Source Code Unit Test Cases Design Models Sub- system Tests Require- ments Integration Tests ... Reusable SPL Assets Product A Product N
IBM Rational Quality Manager BigLever Software Gears RQM/Gears Bridge Dual Plugin “Bridge” between RQM and Gears SPL Framework Gears plugin extensions Automated configuration of RQM test suites, based on Gears feature profiles RQM plugin extensions Any test case can be converted into a first-class Gears variation point RQM/Gears Bridge IBM Rational Quality Manager BigLever Software Gears
RQM/Gears Variation Points RQM extended with Feature-based SPL variation points Optional test cases
The New Frontier for Product Line Engineering and Delivery
Industry Trend to 2G SPL – a Discontinuous Jump
Into the New SPL Frontier Automated Production Line – an Efficient Means of Production The scale of your product line and the scope of diversity can be based on business opportunities and profitability rather than the complexity limitations The BigLever SPL solution opens new frontiers in innovation, economy of scale and profitability, impacting the fundamentals of how you compete Available Benefits Transition Time, Cost & Effort Return-on-Investment Cost of Doing Nothing High Low Fast Slow
Next Steps to Learn More Sign up for BigLever Software technical newsletter www.biglever.com/learn/newsletters.html Read our white papers, case studies and articles www.biglever.com/learn/resources.html Gain hands-on experience www.biglever.com/learn/evaluations.html Customer-recommended favorite: Getting Started Package Call or e-mail +1-512-426-2227 info@biglever.com