SEI´S Software Product Line Tenets

advertisement
SEI´S Software Product Line
Tenets
Linda M. Northrop
Software Engineering Institute
IEEE Software July/August 2002
What is a Product Line?
“ A set of software-intensive systems that
share a common, managed feature set
satisfying a particular market segment´s
specific needs or mission and that are
developed from a common set of core
assets in a prescribed way”.
Core Assets
• Basis for the software product line
–
–
–
–
–
–
–
–
–
Architeture
Reusable Components
Domain Models
Requirements
Schedules
Budgets
Test plans
Process descriptions
And more
Essential Product line activities
Management
• Technical management: core assets
development and product development
activities
• Organizational management: a funding
model that ensures core asset evolution &
orchestrates the technical activities and
iterations between core asset development
and product development.
• Important! PRODUCT LINE MANAGER
Software product line
practice areas
• A practice area is a body of work or a
collection of activities.
• Defines activities that are smaller and
more tractable than a broad imperative
such as “Develop core assets.”
Software Engineering practice areas
•
•
•
•
•
•
•
•
•
Architecture Definition
Architecture Evaluation
Component Development
COTS Utilization
Mining Existing Assets
Requirements Engineering
Software System Integration
Testing
Understanding Relevant Domains
Technical management practice areas
•
•
•
•
•
•
•
•
Configuration Management
Data Collection, Metrics, and Tracking
Make/Buy/Mine/Commission Analysis
Process Definition
Scoping
Technical Planning
Technical Risk Management
Tool Support
Organizational management practice areas
•
•
•
•
•
•
•
•
•
•
•
•
Building a Business Case
Customer Interface Management
Developing an Acquisition Strategy
Funding
Launching and Institutionalizing
Market Analysis
Operations
Organizational Planning
Organizational Risk Management
Structuring the Organization
Technology Forecasting
Training
Product line practice patterns
Lessons learned defining the approach
• Product line business practices cannot be affected
without explicit management commitment and
involvement.
• Organization size doesn’t matter.
• Reuse has a bad reputation in many organizations
owing to the failure of earlier small-grained reuse
initiatives.
• Organizations often want an evaluation of their product
line efforts.
• Process discipline is critical.
The Economic Impact of Product
Line Adoption and Evolution
Klaus Schmid, Fraunhofer IESE
Martin Verlage, Market Maker
Software AG
Big Bang approach
X
Incremental approach
Product Line line investment curves
Situations for adopting PLE
• Independent: from scratch
• Project-Integrating
• Reengineering-driven: Legacy systems,
nontrivial effort
• Leveraged: a new product line based on
a existent one
Independent
Adoption
Project-integration
adoption
Reengineering-driven
adoption
Leveraged adoption
•Technical feasibility studies
•Detailed market analysis
•Control overall uncertainty
Key components are sucessively
generalized into reusable components
When is impossible to derive new
Products from available systems
Address a new market segment with low
costs and few risks. Must perform risk
and technical analysis
Product line evolution
• Infrastrucuture-based evolution: new
requirements lead to generalization for
PL infrastructure.
• Branch-and-unite: new version branch
for a new variant and reunifies with the
infrastructure after product release.
• Bulk: larger branching (avoid!)
Product line planning techniques
 Product portfolio scoping: Which products
shall be part of the product line?
 Domain-based scoping: Which technical
areas (domains) provide good
opportunities for PL reuse?
 Reuse infrastructure scoping: Which
functionalities should the reuse
infrastrucutre support?
Product Line Tenets
Essential Product line activities
Economic Impact
Product Line line investment
curves
Situations for adopting PLE
Practice Areas
Product Line evolution
Practice Areas Patterns
Product Line Planning
Download