Thesis Open Access
Software companies aim to continuously improve the efficiency of delivering solutions to customers and
reduce their software maintenance cost and maintain sustainability as Software evolves. Service Oriented
Architecture (SOA ) cuts on development costs and efforts by allowing developers to model their software
assets with standardized interfaces and to reuse them in new solutions as building blocks. A Service
Portfolio documents the service assets and their evolution managed by the company, including services
in the pipeline, retired services, and 3rd-party services which are an integral part of the service offerings
to customers. It provides a common information source for developers, sales, customer support and other
roles in the company.
The functionality and the granularity of the entities in the portfolio have a direct impact on the
reusability and sustainability of those assets. When developing various SOA solutions and with the
continuous development and delivery in Agile, design decisions must be always taken to slice and realize
the required scope of functionality into services and components. Modelling existing assets as services
with well-defined granularity can not only significantly leverage them in the design loop, and optimize
the development costs, but also improve the maintenance efficiency of the service portfolio by minimizing
the number of less reusable inventories and variations.
Existing methods focus on identifying and creating services in the design loop, but don’t consider integrating
proper granularity and development cost indicators from the portfolio in the modelling decision
pipeline and the evolution of the portfolio. We thus proposed a decision support approach that uses a
collaborative modelling technique for both legacy/ existing assets and new required business functionalities
and uses variation analysis activities in the design loop to discover assets for reuse. Combining this
approach with the continuous development and delivery makes it work as a self-learning design support
system that continuously aligns available software assets with business needs and helps companies evolve
their service portfolio in the right direction for the market.