Modular Product Line Architecture
How do you prevent slightly different variants from rippling off into heaps of redesign? How do you lobby for variability, customization, and reusability in your organization, and how do these take components and architecture a step further? How do you balance bottom-up reusability and top-down management? What can you learn from mass customization in other knowledge-intensive industries?
Architects (Enterprise, Product, IT, System, or Software), managers (Technical, Project, Process), analysts (Business, Requirement, System), senior developers, modelers, and technical salespeople in high-tech.
The Market Push toward Customization
- Product complexity and demand diversity, more important than size
- The growing midmarket: picky yet cost-conscious
- Modularity to put the “mass” into Mass Customization
- Upgrades, life cycles, corporate drivers of modularity and variability
- From "Assemble to Order" or "Engineer to Order" to Configure to Order (C2O)
- Collaborative and adaptive customization, in complex products
- The growing list of customized-and-complex
- (1.) Short exercise.
Top-down: (SW) Product Line
- Scoping, a context for reuse and variation
- Anticipating change in customer requirements
- Modifiability and variability: more than code
- Organization: core unit, or shared
- Customization points in software: what, when, etc.
- Dependencies and constraints in software products versus elsewhere
- Product line structure: family tree or pool
- Cross-modularization, component maturity scale.
- (2.) Short exercise.
- Modifiability and variability, a priority
- Dynamic product structures vs. static ones.
- Follow up component-friendly ratios (instead of KLOC etc.)
- (3.) Short exercise.
Bottom-up: Variability Mechanisms and Reusable Components
- Degrees of component flexibility
- Platform flexibility
- Modularity types in manufacturing and in high-tech
- Variability mechanisms
- Configurability, design to configure
- Sales configuration vs. production/deployment configuration
- Functionality configuration vs. parts/components config. to address a variety of customers.
- (4.) Short exercise.