SlideShare a Scribd company logo
1 of 25
Download to read offline
27th IEEE International Conference on Software Maintenance




 Incremental and Iterative Reengineering
     towards Software Product Line:
        An Industrial Case Study
Gang Zhang1,3, Liwei Shen1, Xin Peng1, Zhenchang Xing2, Wenyun Zhao1
         1School of Computer Science, Fudan University, Shanghai, China
        2School of Computing, National University of Singapore, Singapore

                  3Alcatel-Lucent Shanghai Bell, Shanghai, China


                          pengxin@fudan.edu.cn
               www.se.fudan.edu.cn/pengxin
Background: Reengineering towards SPL
• SPL: Software Product Line [SEI]
    – a set of software-intensive systems that share a
      common, managed set of features
    – developed from a common set of core assets in a
      prescribed way
• SPL adoption by reengineering is common
    – a collection of variant products developed with ad-hoc
      reuse already exist there
    – reengineering: migration to SPL in an extractive way
         commonality and variability among variant products are identified
         core assets are extracted
         legacy products are reconstructed based on the shared core assets
                                                                          2/25
2011-10-06                   http://www.se.fudan.edu.cn
The Subject Case: IXM-PF
a telecom product family in Alcatel-Lucent
                 AXM
                                       History: > 10 years
                 IXM                   Variants: 6 products
                                       Scale: >10M LOC/product
  IXM-G                   IXM-A
                                                300~400 modules/product
             IXM-U     IXM-MD


- New products were developed by branching and adapting
from selected ancestors in an ad-hoc way
- Variant products were maintained separately
                                                                   3/25
2011-10-06                http://www.se.fudan.edu.cn
Problems in IXM-PF Evolution




product          Cost of                        Cost of
branches       new feature                     maintenance
               development

                                                             4/25
2011-10-06        http://www.se.fudan.edu.cn
Reengineering to SPLE


             Product A                    Product B

How to establish the core
assets in an extractive way?

                                          Product C   5/12



                                       Support product customization
                                       Improve maintainability
                                       Improve extensibility

       SPL core assets                                            5/25
2011-10-06               http://www.se.fudan.edu.cn
SPL Reengineering:
         Incremental over Big-bang
                The Economic Impact of Product Line Adoption and Evolution.
                                               by K. Schmid and M. Verlage
                                                  IEEE Software 2002, 19(4)




Huge initial
investment


               Big-bang versus Incremental
                                                                     6/25
 2011-10-06          http://www.se.fudan.edu.cn
More Challenges
             Don’t bother me when
             I am busy working for                     Can we achieve
             a new delivery!                           real benefits from
                                                       SPL reengineering?




      developer
multi-tasking team                                  management
                                             lack of SPLE knowledge
                                                  and confidence

                    limited budget:
   often no additional budget for SPL reengineering                    7/25
2011-10-06                http://www.se.fudan.edu.cn
Requirements for SPL Reengineering Process
    R1: Proper increment definition
    R2: Steady reengineering process

                              to deal with


    Insufficient confidence on the success
    Limited additional budget for reengineering
    Parallel work on regular product delivery


                                                  8/25
2011-10-06          http://www.se.fudan.edu.cn
IXM-PF Reengineering Project Overview
 • The same team took on the regular
   maintenance and delivery tasks of related
   products during the reengineering process
 • Some principles from agile development
   are adopted
 • Achieved initial success after 1.5 years
     – an initial set of core assets established
     – reused in both legacy products and several new products
     – the confidence of the organization on SPL reengineering
       strengthened
                                                                 9/25
 2011-10-06              http://www.se.fudan.edu.cn
Principles in our Attempts
           Principle                          Objective
  value-based increment
  definition                           Early success

  domain driven reengineering          Less initial investment

  localized impact                    Low Risk

  iterative propagation               Early value delivery


                                                          10/25
2011-10-06           http://www.se.fudan.edu.cn
The Reengineering Process

              an increment
              (component)




             The next increment              Iterative propagated
                                             to other products
                                                                    11/25
2011-10-06                   http://www.se.fudan.edu.cn
Key Practices Summary
• Value-driven Increment Definition
• Component Reengineering in Reference Product
    –   reference product selection
    –   domain model definition
    –   component responsibility alignment
    –   boundary reengineering on reference product
    –   internal Implementation Reengineering
    –   integration into reference product
• Iterative Core Assets Refinement
    – external design refinement
    – core assets extension and integration
                                                        12/25
2011-10-06                 http://www.se.fudan.edu.cn
Value-Driven Increment Definition
 SPL dimension
    (space)
product
specific
component

component
shared with
differences

component
shared without                                                  Project dimension
any differences
                                                                           (time)
                   low                 medium             high
               possibility of being involved in future maintenance and extension
                                                                                   13/25
  2011-10-06                     http://www.se.fudan.edu.cn
Reference Product Selection
• Be actively maintained
• Has the most “common” implementation of the component




Reference Product Selection for EntityManagement
                                                      14/25
2011-10-06           http://www.se.fudan.edu.cn
Domain Model Definition
                                                               @reference
                                                               product
                                              System



                                               Node             Lookup

                                                                           UniqueID
                                               Entity           Indexing
                                                                           ReadableID

                                    ConcreteEntity      ConcreteEntity         domain
                                       TypeA               TypeX               concept

help the clarification and refactoring of
the component responsibility, boundary,                  responsibility
and internal implementation
                                                         boundary
help addressing the variability of the
components across variant products                       implementation
                                                                                         15/25
  2011-10-06                    http://www.se.fudan.edu.cn
Domain-Driven Responsibility Alignment

@reference
product

Consistent                               Keep unchanged
                                         Re-aligned with
Partially consistent                     domain model
Erroneous                                Removed

Irrelevant                               Removed


               Component: EntityManagement
  Consistent      Partially consistent        Erroneous    Irrelevant
  27              48                          21           39


                                                                        16/25
2011-10-06                    http://www.se.fudan.edu.cn
Boundary Reengineering
                                      other components              @reference
                                                                       product


 new boundary
 old boundary                                 adapter

                                Component implementation
                                  will be replaced latter
- internal-adapters were implemented to provide the expected interfaces
- external-dependencies of other components on the current component are
cleaned up-
- system level tests were executed continuously to guarantee that no side-effect
was introduced
                                                                          17/25
  2011-10-06                   http://www.se.fudan.edu.cn
Internal Implementation Reengineering
                                                         @reference
                                                         product
                                                             UniqueIDLookup

                       EntityManager       LookupStrategy
                                                                   ReadableIDLookup


                           Entity          EntityTypeStrategy      EntityTypeAStrategy


                       UniqueIDGenerator
                                                            class common across products

                       ConfigManager_IXM                    class specific to IXM




- improve the maintainability of the reference product
- enhance the reusability to support variability
                                                                                           18/25
 2011-10-06          http://www.se.fudan.edu.cn
Iterative Propagation to Other Products




  domain model continually refined and updated




component adapted and integrated in variant products
                                                  19/25
2011-10-06          http://www.se.fudan.edu.cn
Evaluation (Component: EntityManagement)
        - Metrics about variants support
                              Before                  After
                              reengineering           reengineering
  Lines of code                         91,106               31,932
  Average McCabe                          5.85                 2.62
  Complexity
  Average                                 15.82                 7.03
  statements/operation
  Lines of code to support                    196                140
  concreteTypeA

  Code fragments to support                  139                      2
  concreteTypeA


                                                                          20/25
2011-10-06               http://www.se.fudan.edu.cn
Evaluation (Component: EntityManagement)
      -effort/bug trend in integration (cont.)


     Integration Effort Trend (PY)             Bugs Reported Trend in Integration

0.6                                          30
0.5       0.5                                25        25
0.4                                          20
0.3                0.3     0.3               15
0.2                                          10
0.1                                 0.1       5                  4
                                              0                        2      0
 0                                                  IXM       IXM-MD IXM-A IXM-G
        IXM     IXM-MD   IXM-A   IXM-G




                                                                             21/25
 2011-10-06                      http://www.se.fudan.edu.cn
Evaluation (Component: EntityManagement)
       Return of Investment (ROI)
Return                         Investment
                               I-1. Domain model analysis
Saved new feature              I-2. Responsibility model definition
development cost in all        I-3. Boundary reengineering (all related
products                       products)
                               I-4. Component level automation test
       8.8 PY                  I-5. Internal implementation refactoring
                               I-6. Total integration and faults fixing cost




                                                   4.2 PY

                   By person year (PY)
ROI=(R-I)/R (8.8-4.2)/4.2=110%                                          22/25
2011-10-06                http://www.se.fudan.edu.cn
Evaluation (Component: EntityManagement
               ROI Trend
    10



     8



     6



     4                                                          Accumulated Return
                                                                Investment
                                                                Accumulated Profit
                                                                Accumulated Profit Trend
     2



     0
         Initial   >IXM   >IXM-MD   >IXM-A    >IXM-G   >IXM-U


    -2



    -4
                                                                                       23/25
2011-10-06                      http://www.se.fudan.edu.cn
Conclusion
• Incremental and iterative approach with
  stakeholder-value considerations can help to
    – achieve steady and successful SPL reengineering
    – in a risk-reduced and cost-effective manner
• Agile principles fit well for SPL reengineering

• SPL adoption can be regarded as an emergent
  result of reconstruction and improvement of
  existing product assets
                                                        24/25
2011-10-06            http://www.se.fudan.edu.cn
Thanks!

                                           25/25
2011-10-06    http://www.se.fudan.edu.cn

More Related Content

What's hot

JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...
JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...
JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...InSync2011
 
IBM Rational 8/16 Webinar Presentation
IBM Rational 8/16 Webinar PresentationIBM Rational 8/16 Webinar Presentation
IBM Rational 8/16 Webinar PresentationScott Althouse
 
Aggregating application, service, and portfolio demand using HP Project and P...
Aggregating application, service, and portfolio demand using HP Project and P...Aggregating application, service, and portfolio demand using HP Project and P...
Aggregating application, service, and portfolio demand using HP Project and P...bkniffen
 
Malone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementationMalone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementationThanapan Ittisakulchai
 
Day 1 p3 - project and portfolio management
Day 1   p3 - project and portfolio managementDay 1   p3 - project and portfolio management
Day 1 p3 - project and portfolio managementLilian Schaffer
 
Conspectus January 2010 News Bulletin
Conspectus January 2010 News BulletinConspectus January 2010 News Bulletin
Conspectus January 2010 News BulletinRandal Reifsnider
 
Enterprise IPv6 Deployment
Enterprise IPv6 Deployment Enterprise IPv6 Deployment
Enterprise IPv6 Deployment Cisco Canada
 
Systems Engineering - a smarter way
Systems Engineering - a smarter waySystems Engineering - a smarter way
Systems Engineering - a smarter wayMark Borowski
 
General and Systemic View of Life Cycle of Projects and Products
General and Systemic View of Life Cycle of Projects and ProductsGeneral and Systemic View of Life Cycle of Projects and Products
General and Systemic View of Life Cycle of Projects and ProductsAntonio Sallum Librelato
 
LeverX - A Comprehensive Guide to SAP PLM 7.01
LeverX - A Comprehensive Guide to SAP PLM 7.01LeverX - A Comprehensive Guide to SAP PLM 7.01
LeverX - A Comprehensive Guide to SAP PLM 7.01LeverX
 
Key strategies for discrete manufacturers j caie arc japan 2008
Key strategies for discrete manufacturers j caie arc japan 2008Key strategies for discrete manufacturers j caie arc japan 2008
Key strategies for discrete manufacturers j caie arc japan 2008ARC Advisory Group
 
Who is GEM, Inc.
Who is GEM, Inc.Who is GEM, Inc.
Who is GEM, Inc.tstrait
 
Why bmc remedy is better than hp 4.5
Why bmc remedy is better than hp 4.5Why bmc remedy is better than hp 4.5
Why bmc remedy is better than hp 4.5samvit0720
 
Smartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM US
Smartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM USSmartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM US
Smartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM USIBM Danmark
 
Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility OpenText Cordys
 
Organizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerOrganizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerKurt Solarte
 
Structured development in BMC Remedy AR System
Structured development in BMC Remedy AR SystemStructured development in BMC Remedy AR System
Structured development in BMC Remedy AR Systemgramlin42
 
Optimising and prioritising your SDLC using business intelligence
Optimising and prioritising your SDLC using business intelligenceOptimising and prioritising your SDLC using business intelligence
Optimising and prioritising your SDLC using business intelligenceKurt Solarte
 
Systems engineering and project management – partners in successful projects
Systems engineering and project management – partners in successful projectsSystems engineering and project management – partners in successful projects
Systems engineering and project management – partners in successful projectsAssociation for Project Management
 
Scrum Day 2012 Keynote: Combining Design and Development
Scrum Day 2012 Keynote: Combining Design and DevelopmentScrum Day 2012 Keynote: Combining Design and Development
Scrum Day 2012 Keynote: Combining Design and DevelopmentTobias Schimmer
 

What's hot (20)

JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...
JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...
JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...
 
IBM Rational 8/16 Webinar Presentation
IBM Rational 8/16 Webinar PresentationIBM Rational 8/16 Webinar Presentation
IBM Rational 8/16 Webinar Presentation
 
Aggregating application, service, and portfolio demand using HP Project and P...
Aggregating application, service, and portfolio demand using HP Project and P...Aggregating application, service, and portfolio demand using HP Project and P...
Aggregating application, service, and portfolio demand using HP Project and P...
 
Malone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementationMalone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementation
 
Day 1 p3 - project and portfolio management
Day 1   p3 - project and portfolio managementDay 1   p3 - project and portfolio management
Day 1 p3 - project and portfolio management
 
Conspectus January 2010 News Bulletin
Conspectus January 2010 News BulletinConspectus January 2010 News Bulletin
Conspectus January 2010 News Bulletin
 
Enterprise IPv6 Deployment
Enterprise IPv6 Deployment Enterprise IPv6 Deployment
Enterprise IPv6 Deployment
 
Systems Engineering - a smarter way
Systems Engineering - a smarter waySystems Engineering - a smarter way
Systems Engineering - a smarter way
 
General and Systemic View of Life Cycle of Projects and Products
General and Systemic View of Life Cycle of Projects and ProductsGeneral and Systemic View of Life Cycle of Projects and Products
General and Systemic View of Life Cycle of Projects and Products
 
LeverX - A Comprehensive Guide to SAP PLM 7.01
LeverX - A Comprehensive Guide to SAP PLM 7.01LeverX - A Comprehensive Guide to SAP PLM 7.01
LeverX - A Comprehensive Guide to SAP PLM 7.01
 
Key strategies for discrete manufacturers j caie arc japan 2008
Key strategies for discrete manufacturers j caie arc japan 2008Key strategies for discrete manufacturers j caie arc japan 2008
Key strategies for discrete manufacturers j caie arc japan 2008
 
Who is GEM, Inc.
Who is GEM, Inc.Who is GEM, Inc.
Who is GEM, Inc.
 
Why bmc remedy is better than hp 4.5
Why bmc remedy is better than hp 4.5Why bmc remedy is better than hp 4.5
Why bmc remedy is better than hp 4.5
 
Smartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM US
Smartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM USSmartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM US
Smartere test og udvikling med virtualiserede miljøer, Mark Garcia, IBM US
 
Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility
 
Organizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerOrganizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements Composer
 
Structured development in BMC Remedy AR System
Structured development in BMC Remedy AR SystemStructured development in BMC Remedy AR System
Structured development in BMC Remedy AR System
 
Optimising and prioritising your SDLC using business intelligence
Optimising and prioritising your SDLC using business intelligenceOptimising and prioritising your SDLC using business intelligence
Optimising and prioritising your SDLC using business intelligence
 
Systems engineering and project management – partners in successful projects
Systems engineering and project management – partners in successful projectsSystems engineering and project management – partners in successful projects
Systems engineering and project management – partners in successful projects
 
Scrum Day 2012 Keynote: Combining Design and Development
Scrum Day 2012 Keynote: Combining Design and DevelopmentScrum Day 2012 Keynote: Combining Design and Development
Scrum Day 2012 Keynote: Combining Design and Development
 

Viewers also liked

Industry - Estimating software maintenance effort from use cases an indu...
Industry - Estimating software maintenance effort from use cases an      indu...Industry - Estimating software maintenance effort from use cases an      indu...
Industry - Estimating software maintenance effort from use cases an indu...ICSM 2011
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsICSM 2011
 
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...ICSM 2011
 
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...ICSM 2011
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesICSM 2011
 
Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...ICSM 2011
 
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...ICSM 2011
 
ERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
ERA - A Comparison of Stemmers on Source Code Identifiers for Software SearchERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
ERA - A Comparison of Stemmers on Source Code Identifiers for Software SearchICSM 2011
 
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...ICSM 2011
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11ICSM 2011
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteICSM 2011
 
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...ICSM 2011
 
Faults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussionsFaults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussionsICSM 2011
 
Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...ICSM 2011
 
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...ICSM 2011
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...ICSM 2011
 
ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ICSM 2011
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects ICSM 2011
 
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationICSM 2011
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ICSM 2011
 

Viewers also liked (20)

Industry - Estimating software maintenance effort from use cases an indu...
Industry - Estimating software maintenance effort from use cases an      indu...Industry - Estimating software maintenance effort from use cases an      indu...
Industry - Estimating software maintenance effort from use cases an indu...
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming Conventions
 
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
 
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
 
Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...
 
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
 
ERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
ERA - A Comparison of Stemmers on Source Code Identifiers for Software SearchERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
ERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
 
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 Keynote
 
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
 
Faults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussionsFaults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussions
 
Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...
 
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
 
ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects
 
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
 

Similar to Industry - Evolution and migration - Incremental and Iterative Reengineering towards Software Product Line: An Industrial Case Study

Interoperable Open Architecture through a Common Component Model
Interoperable Open Architecture through a Common Component ModelInteroperable Open Architecture through a Common Component Model
Interoperable Open Architecture through a Common Component ModelRemedy IT
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiabilityFrank Gielen
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15Jay van Zyl
 
Next generation Cloud Platforms
Next generation Cloud PlatformsNext generation Cloud Platforms
Next generation Cloud PlatformsZinnov
 
ArchanaBhat_TechLead_6.11Years
ArchanaBhat_TechLead_6.11YearsArchanaBhat_TechLead_6.11Years
ArchanaBhat_TechLead_6.11YearsArchana Bhat
 
[2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms [2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms Ivano Malavolta
 
When applications mean business
When applications mean businessWhen applications mean business
When applications mean businessMicro Focus
 
Continuous Engineering with IBM Rational RELM
Continuous Engineering with IBM Rational RELMContinuous Engineering with IBM Rational RELM
Continuous Engineering with IBM Rational RELMgjuljo
 
PITSS General Presentation - Dec, 2012
PITSS General Presentation - Dec, 2012PITSS General Presentation - Dec, 2012
PITSS General Presentation - Dec, 2012jgmarra
 
Why Feasibility delays in the IT organizations - a study on the ground reality
Why Feasibility delays in the IT organizations -  a study on the ground realityWhy Feasibility delays in the IT organizations -  a study on the ground reality
Why Feasibility delays in the IT organizations - a study on the ground realityReddappa Gowd Bandi
 
Everware cbdi opposites attract 04-12-11
Everware cbdi opposites attract 04-12-11Everware cbdi opposites attract 04-12-11
Everware cbdi opposites attract 04-12-11davemayo
 
Opposites Attract SOA, Agile, MDA
Opposites Attract SOA, Agile, MDAOpposites Attract SOA, Agile, MDA
Opposites Attract SOA, Agile, MDADenzil Wasson
 
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion TechniqueAn Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion TechniqueIJEACS
 
Improving Application Development Effectiveness
Improving Application Development Effectiveness Improving Application Development Effectiveness
Improving Application Development Effectiveness Computer Aid, Inc
 
Planning in management
Planning in managementPlanning in management
Planning in managementDineshVeera5
 
Content Oriented Architectures: Putting Content at the Center of CM Projects
Content Oriented Architectures: Putting Content at the Center of CM ProjectsContent Oriented Architectures: Putting Content at the Center of CM Projects
Content Oriented Architectures: Putting Content at the Center of CM ProjectsScott Abel
 
Bestpractices Portal Projects
Bestpractices Portal ProjectsBestpractices Portal Projects
Bestpractices Portal Projectsallerhed
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLESabeel Irshad
 

Similar to Industry - Evolution and migration - Incremental and Iterative Reengineering towards Software Product Line: An Industrial Case Study (20)

Interoperable Open Architecture through a Common Component Model
Interoperable Open Architecture through a Common Component ModelInteroperable Open Architecture through a Common Component Model
Interoperable Open Architecture through a Common Component Model
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
 
Framework
FrameworkFramework
Framework
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15
 
Next generation Cloud Platforms
Next generation Cloud PlatformsNext generation Cloud Platforms
Next generation Cloud Platforms
 
ArchanaBhat_TechLead_6.11Years
ArchanaBhat_TechLead_6.11YearsArchanaBhat_TechLead_6.11Years
ArchanaBhat_TechLead_6.11Years
 
[2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms [2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms
 
When applications mean business
When applications mean businessWhen applications mean business
When applications mean business
 
Continuous Engineering with IBM Rational RELM
Continuous Engineering with IBM Rational RELMContinuous Engineering with IBM Rational RELM
Continuous Engineering with IBM Rational RELM
 
PITSS General Presentation - Dec, 2012
PITSS General Presentation - Dec, 2012PITSS General Presentation - Dec, 2012
PITSS General Presentation - Dec, 2012
 
Michael_Schmidt_Resume
Michael_Schmidt_ResumeMichael_Schmidt_Resume
Michael_Schmidt_Resume
 
Why Feasibility delays in the IT organizations - a study on the ground reality
Why Feasibility delays in the IT organizations -  a study on the ground realityWhy Feasibility delays in the IT organizations -  a study on the ground reality
Why Feasibility delays in the IT organizations - a study on the ground reality
 
Everware cbdi opposites attract 04-12-11
Everware cbdi opposites attract 04-12-11Everware cbdi opposites attract 04-12-11
Everware cbdi opposites attract 04-12-11
 
Opposites Attract SOA, Agile, MDA
Opposites Attract SOA, Agile, MDAOpposites Attract SOA, Agile, MDA
Opposites Attract SOA, Agile, MDA
 
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion TechniqueAn Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
 
Improving Application Development Effectiveness
Improving Application Development Effectiveness Improving Application Development Effectiveness
Improving Application Development Effectiveness
 
Planning in management
Planning in managementPlanning in management
Planning in management
 
Content Oriented Architectures: Putting Content at the Center of CM Projects
Content Oriented Architectures: Putting Content at the Center of CM ProjectsContent Oriented Architectures: Putting Content at the Center of CM Projects
Content Oriented Architectures: Putting Content at the Center of CM Projects
 
Bestpractices Portal Projects
Bestpractices Portal ProjectsBestpractices Portal Projects
Bestpractices Portal Projects
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
 

Recently uploaded

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Industry - Evolution and migration - Incremental and Iterative Reengineering towards Software Product Line: An Industrial Case Study

  • 1. 27th IEEE International Conference on Software Maintenance Incremental and Iterative Reengineering towards Software Product Line: An Industrial Case Study Gang Zhang1,3, Liwei Shen1, Xin Peng1, Zhenchang Xing2, Wenyun Zhao1 1School of Computer Science, Fudan University, Shanghai, China 2School of Computing, National University of Singapore, Singapore 3Alcatel-Lucent Shanghai Bell, Shanghai, China pengxin@fudan.edu.cn www.se.fudan.edu.cn/pengxin
  • 2. Background: Reengineering towards SPL • SPL: Software Product Line [SEI] – a set of software-intensive systems that share a common, managed set of features – developed from a common set of core assets in a prescribed way • SPL adoption by reengineering is common – a collection of variant products developed with ad-hoc reuse already exist there – reengineering: migration to SPL in an extractive way  commonality and variability among variant products are identified  core assets are extracted  legacy products are reconstructed based on the shared core assets 2/25 2011-10-06 http://www.se.fudan.edu.cn
  • 3. The Subject Case: IXM-PF a telecom product family in Alcatel-Lucent AXM History: > 10 years IXM Variants: 6 products Scale: >10M LOC/product IXM-G IXM-A 300~400 modules/product IXM-U IXM-MD - New products were developed by branching and adapting from selected ancestors in an ad-hoc way - Variant products were maintained separately 3/25 2011-10-06 http://www.se.fudan.edu.cn
  • 4. Problems in IXM-PF Evolution product Cost of Cost of branches new feature maintenance development 4/25 2011-10-06 http://www.se.fudan.edu.cn
  • 5. Reengineering to SPLE Product A Product B How to establish the core assets in an extractive way? Product C 5/12 Support product customization Improve maintainability Improve extensibility SPL core assets 5/25 2011-10-06 http://www.se.fudan.edu.cn
  • 6. SPL Reengineering: Incremental over Big-bang The Economic Impact of Product Line Adoption and Evolution. by K. Schmid and M. Verlage IEEE Software 2002, 19(4) Huge initial investment Big-bang versus Incremental 6/25 2011-10-06 http://www.se.fudan.edu.cn
  • 7. More Challenges Don’t bother me when I am busy working for Can we achieve a new delivery! real benefits from SPL reengineering? developer multi-tasking team management lack of SPLE knowledge and confidence limited budget: often no additional budget for SPL reengineering 7/25 2011-10-06 http://www.se.fudan.edu.cn
  • 8. Requirements for SPL Reengineering Process R1: Proper increment definition R2: Steady reengineering process to deal with Insufficient confidence on the success Limited additional budget for reengineering Parallel work on regular product delivery 8/25 2011-10-06 http://www.se.fudan.edu.cn
  • 9. IXM-PF Reengineering Project Overview • The same team took on the regular maintenance and delivery tasks of related products during the reengineering process • Some principles from agile development are adopted • Achieved initial success after 1.5 years – an initial set of core assets established – reused in both legacy products and several new products – the confidence of the organization on SPL reengineering strengthened 9/25 2011-10-06 http://www.se.fudan.edu.cn
  • 10. Principles in our Attempts Principle Objective value-based increment definition Early success domain driven reengineering Less initial investment localized impact Low Risk iterative propagation Early value delivery 10/25 2011-10-06 http://www.se.fudan.edu.cn
  • 11. The Reengineering Process an increment (component) The next increment Iterative propagated to other products 11/25 2011-10-06 http://www.se.fudan.edu.cn
  • 12. Key Practices Summary • Value-driven Increment Definition • Component Reengineering in Reference Product – reference product selection – domain model definition – component responsibility alignment – boundary reengineering on reference product – internal Implementation Reengineering – integration into reference product • Iterative Core Assets Refinement – external design refinement – core assets extension and integration 12/25 2011-10-06 http://www.se.fudan.edu.cn
  • 13. Value-Driven Increment Definition SPL dimension (space) product specific component component shared with differences component shared without Project dimension any differences (time) low medium high possibility of being involved in future maintenance and extension 13/25 2011-10-06 http://www.se.fudan.edu.cn
  • 14. Reference Product Selection • Be actively maintained • Has the most “common” implementation of the component Reference Product Selection for EntityManagement 14/25 2011-10-06 http://www.se.fudan.edu.cn
  • 15. Domain Model Definition @reference product System Node Lookup UniqueID Entity Indexing ReadableID ConcreteEntity ConcreteEntity domain TypeA TypeX concept help the clarification and refactoring of the component responsibility, boundary, responsibility and internal implementation boundary help addressing the variability of the components across variant products implementation 15/25 2011-10-06 http://www.se.fudan.edu.cn
  • 16. Domain-Driven Responsibility Alignment @reference product Consistent Keep unchanged Re-aligned with Partially consistent domain model Erroneous Removed Irrelevant Removed Component: EntityManagement Consistent Partially consistent Erroneous Irrelevant 27 48 21 39 16/25 2011-10-06 http://www.se.fudan.edu.cn
  • 17. Boundary Reengineering other components @reference product new boundary old boundary adapter Component implementation will be replaced latter - internal-adapters were implemented to provide the expected interfaces - external-dependencies of other components on the current component are cleaned up- - system level tests were executed continuously to guarantee that no side-effect was introduced 17/25 2011-10-06 http://www.se.fudan.edu.cn
  • 18. Internal Implementation Reengineering @reference product UniqueIDLookup EntityManager LookupStrategy ReadableIDLookup Entity EntityTypeStrategy EntityTypeAStrategy UniqueIDGenerator class common across products ConfigManager_IXM class specific to IXM - improve the maintainability of the reference product - enhance the reusability to support variability 18/25 2011-10-06 http://www.se.fudan.edu.cn
  • 19. Iterative Propagation to Other Products domain model continually refined and updated component adapted and integrated in variant products 19/25 2011-10-06 http://www.se.fudan.edu.cn
  • 20. Evaluation (Component: EntityManagement) - Metrics about variants support Before After reengineering reengineering Lines of code 91,106 31,932 Average McCabe 5.85 2.62 Complexity Average 15.82 7.03 statements/operation Lines of code to support 196 140 concreteTypeA Code fragments to support 139 2 concreteTypeA 20/25 2011-10-06 http://www.se.fudan.edu.cn
  • 21. Evaluation (Component: EntityManagement) -effort/bug trend in integration (cont.) Integration Effort Trend (PY) Bugs Reported Trend in Integration 0.6 30 0.5 0.5 25 25 0.4 20 0.3 0.3 0.3 15 0.2 10 0.1 0.1 5 4 0 2 0 0 IXM IXM-MD IXM-A IXM-G IXM IXM-MD IXM-A IXM-G 21/25 2011-10-06 http://www.se.fudan.edu.cn
  • 22. Evaluation (Component: EntityManagement) Return of Investment (ROI) Return Investment I-1. Domain model analysis Saved new feature I-2. Responsibility model definition development cost in all I-3. Boundary reengineering (all related products products) I-4. Component level automation test 8.8 PY I-5. Internal implementation refactoring I-6. Total integration and faults fixing cost 4.2 PY By person year (PY) ROI=(R-I)/R (8.8-4.2)/4.2=110% 22/25 2011-10-06 http://www.se.fudan.edu.cn
  • 23. Evaluation (Component: EntityManagement ROI Trend 10 8 6 4 Accumulated Return Investment Accumulated Profit Accumulated Profit Trend 2 0 Initial >IXM >IXM-MD >IXM-A >IXM-G >IXM-U -2 -4 23/25 2011-10-06 http://www.se.fudan.edu.cn
  • 24. Conclusion • Incremental and iterative approach with stakeholder-value considerations can help to – achieve steady and successful SPL reengineering – in a risk-reduced and cost-effective manner • Agile principles fit well for SPL reengineering • SPL adoption can be regarded as an emergent result of reconstruction and improvement of existing product assets 24/25 2011-10-06 http://www.se.fudan.edu.cn
  • 25. Thanks! 25/25 2011-10-06 http://www.se.fudan.edu.cn