Re-engineering of a Hierarchical Product Line

Transition from a classic platform reuse approach towards a product line engineering paradigm for existing products is demanding. Existing software design, substantial amount of code, an established development process, organizational set-up of teams and the mindset of involved people must be considered. These factors make the transition challenging compared to a green-field approach, where reusable assets are already developed in a product line spirit. We describe our experience during transitioning to a product line approach in the context of a healthcare imaging platform from the viewpoint of responsible domain engineering architects. Our primary focus is on re-engineering activities to introduce product line engineering practices to an existing legacy system. General product-line challenges not related to re-engineering are omitted in this paper. We recognize additional benefits when applying a hierarchical product line approach in our domain. We conclude with the factors that impact a successful transition to a product-line approach.