SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software...

Post on 10-Jan-2016

216 views 2 download

Tags:

Transcript of SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software...

SEI´S Software Product Line Tenets

Linda M. NorthropSoftware Engineering InstituteIEEE 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

EvolutionKlaus Schmid, Fraunhofer IESEMartin 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

IndependentAdoption

•Technical feasibility studies•Detailed market analysis•Control overall uncertainty

Project-integrationadoption

Key components are sucessively generalized into reusable components

When is impossible to derive new Products from available systems

Reengineering-driven adoption

Leveraged adoption Address a new market segment with lowcosts 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 TenetsEconomic Impact

Essential Product line activitiesProduct Line line investment curves

Product Line evolutionPractice Areas

Situations for adopting PLE

Product Line PlanningPractice Areas Patterns