24
SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

Embed Size (px)

Citation preview

Page 1: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

SEI´S Software Product Line Tenets

Linda M. NorthropSoftware Engineering InstituteIEEE Software July/August 2002

Page 2: 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”.

Page 3: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

Core Assets

• Basis for the software product line– Architeture– Reusable Components– Domain Models– Requirements– Schedules– Budgets– Test plans– Process descriptions– And more

Page 4: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

Essential Product line activities

Page 5: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002
Page 6: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002
Page 7: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

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

Page 8: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

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.”

Page 9: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

Software Engineering practice areas

• Architecture Definition• Architecture Evaluation• Component Development• COTS Utilization• Mining Existing Assets• Requirements Engineering• Software System Integration• Testing• Understanding Relevant Domains

Page 10: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002
Page 11: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

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

Page 12: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

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

Page 13: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

Product line practice patterns

Page 14: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

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.

Page 15: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

The Economic Impact of Product Line Adoption and

EvolutionKlaus Schmid, Fraunhofer IESEMartin Verlage, Market Maker

Software AG

Page 16: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

Big Bang approach X

Incremental approach

Page 17: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

Product Line line investment curves

Page 18: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

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

Page 19: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

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

Page 20: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

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!)

Page 21: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002
Page 22: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

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?

Page 23: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002
Page 24: SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002

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