SHADE – A Value-Oriented Strategy to Handle Software Asset Degradation

Back

Scientific Plan

Scientific Questions Addressed

The main goal of SHADE is to build knowledge, by mining the software artifacts and historical data and by gathering expert opinion, to define a framework that provides support to companies when measuring degradation and planning its mitigation. The SHADE project will focus on the following main research questions:

To be able to answer these questions, we need to first understand the impact that the causes of asset value degradation and each refactoring activity can have on the different quality aspects of the product and the project, to be able to integrate all the information that can related to each specific type of root causes of asset value degradation.

Methodology

The SHADE project will comprise the execution of several empirical studies e.g., Systematic Literature Reviews and Case Studies. The case studies planned for this project will comprise different data collection techniques, both quantitative, to gather and process the vast amounts of data coming from the static analysis of the historical data for the software assets being subject of the analysis (i.e., 20 years of product development assets from Ericsson and more than five years from Spotify), but also qualitative, coming from the focus group interviews and surveys.

Literature Reviews

In the project first stages we will expand our current literature review, in a more systematic manner following the guidelines by Kitchenham et al., [30] or Petersen et al., [31] to analyse the state of the art regarding asset value, asset degradation and asset management, by considering also the research done in the area of Technical Debt in relation to the research gaps identified and our main research questions. We will also perform tertiary studies, by doing a meta-analysis of the literature reviews done in the area of Technical Debt (e.g., [6]–[9], [17]).

Case studies

The emphasis of this research project and therefore the research methodology is in the light of gaining empirical evidence about the phenomena in its current context [32], in order to extend the current body of knowledge in the area of economic lifecycles of software assets and software development processes. This responds to the lack of research that addresses a long-term, holistic, analysis of the degradation phenomena for big-scale, long-life software development projects, as the ones being addressed by this project. We plan to carry out multiple short-term, exploratory case studies, analyzing different products, projects or teams (squads in Spotify terminology), but also longitudinal studies to be able to track the development process over time, focusing also in different set ups to better understand the evolution, impact and ripple effects of the degradation and its mitigation. In these case studies we will have several data collection methods, such as focus groups and interviews in which we will gather expert opinion regarding the different aspects of asset degradation and its impact on the value map, as well as quantitative data collection by using static analysis techniques. The case studies will be designed and executed following the guidelines by Runeson et al., [32].

Data collection aggregation and analysis

We will gather quantitative data by monitoring and analyzing the core data coming from the static analysis of historical data of the projects considered in the exploratory and longitudinal case studies, but also qualitative data from interviews, focus groups, surveys etc.

The quantitative data aggregation and analysis presents several challenges, on the one hand the big amount of data coming from the measurement analysis for different artifacts and different granularity levels, preserving the hierarchical structure, and on the other hand the historic data that also needs to be stored keeping the temporal dimension. The former challenge can be used by converting the structures to a graph model, similar of what was done in our previous work [33], and for latter, we plan to use temporal series databases, that will have to be later on combined using data mining analysis techniques to perform the analysis of the collected data, in the light of identifying patterns and characterizing relationships. We will analyze the qualitative data by applying social sciences methodologies and techniques like thematic analysis [34] or Grounded Theory [35], [36]. This qualitative data will allow us to interpret and understand the quantitative data and extract new ideas and refine our hypotheses.

 

quadai logo

Figure 1. Overview of the approach

Work Packages

  • Analysis of research & practice in the area of asset management, including asset value and asset degradation
  • Identify or define measurements suitable to quantify asset value, asset degradation and their evolution
  1. Analyze strategies in-place at organizations or measure asset value and its degradation
  2. Select or define the KPI/metrics able to measure the types of asset degradation
  3. Analyze the impacts that the types of asset degradation have on the organizational value map
  • Define strategies that allow mitigating (e.g., through certain refactoring operations) asset value degradation
  • Measurement Monitoring & Prediction
  1. Evaluate the evolution of asset degradation, by analyzing the historical data available on the organizations
  2. Measure the impact that the degradation mitigation might have on the value map items using the metrics defined in WP 2.a as well as in other product-specific metrics
  3. Build a model that represents the impact relationships identified in WP2.c and WP4.a. This model will be the main artifact used to predict the evolution of asset degradation, but also to prioritize mitigation processes based on trade off information
  • Solution development
  1. Develop a toolset that implement the measurements defined in WP2.
  2. Develop a solution to provide decision support to the degradation prediction and the prioritization of degradation mitigation activities based on the value items selected by the project manager or the architects.
  3. Develop tools / plugins that enable in-line, real-time detection of asset degradation and ripple effects.

Project Activities

The project will be developed following the technology transfer model [37] shown in Figure 2. Following we summarize the main tasks to be developed in the project, whose time planning is depicted in Figure 3.

Technology Transfer Model

Figure 2 Technology Transfer Model [37]

  • Review of the Literature: The project will start with a more systematic analysis of the literature, applying more systematic approaches to analyze the current state-of-the-art in the area of Asset Management (including asset value degradation), aiming at providing answers to the research question RQ1.
  • Exploratory Case Studies: While in the last stages of the literature review, we will start with multiple exploratory case-studies (analyzing different products and development environments) [32], in each partner organization, to gain understanding regarding the current practices being applied in our industrial partners (state-of-practice). We will conduct first a detailed study to analyze to what extent the research done in the area might be applicable, usable and useful for the companies in the consortium, providing preliminary results to the research question 1 for the industrial partners participating in the project. This will allow us to refine the problem formulation after a more in-depth interaction with the industrial partners, but also to establish the priorities for each company. In these exploratory case studies, we will start analyzing the historical data from the Ericsson product portfolio and from Spotify development squads aiming at detecting well known types of anti-patterns and smells, as well maintenance hot-spots at all levels (not only code), starting to analyze its evolution (WP4.a). In the context of these case studies, we plan also to perform interviews, focus groups and surveys with developers, architects, project managers and dev-ops to understand which are the more relevant assets that degrade, how the degradation can be measured as well as potential strategies to mitigate the degradation. This exploratory case study will be the first step towards gaining understanding about the research question RQ2.1.
  • Solution Development I – Measurement and Mitigation: At the end of these exploratory case studies, we will start implement the toolset to measure the types of asset degradation (WP5.a) as well as analyzing and identifying potential solutions for its mitigation (WP3). This stage will allow us to iteratively construct the candidate solution as well as performing the initial validation of the solutions in an academic setting.
  • Longitudinal Case Studies: In parallel to the solution development I, we will start longitudinal studies in which, we will be also monitoring the impact that the mitigation of the degradation has on the organizational value map (WP4.b). This will allow us to also to: i) understand propagation, ripple effects and hidden consequences that asset degradation and the mitigation activities can have on the long run of the projects or products, aiming at answering the research questions 2; ii) test our candidate solutions to measure the asset degradation and to mitigate it; and iii) gain empirical evidence that allow us to validate our assumptions regarding the relationships between the degradation and the value map items. The continuous monitoring of the effect of mitigation will allow us to confirm or reject some of these assumptions done in early stages of the project regarding the impact between asset degradation and the value map. And finally, these longitudinal studies will allow us also to perform a dynamic validation of the candidate solutions developed in the context of the project to be able to gain evidence regarding research question RQ3.
  • Solution Development II –Model + Prioritization: The continuous monitoring along the longitudinal study will be the input to build the model that describes the impacts that the different themes / types of asset degradation have on the organizational value map (WP4c). We will also develop a tool to be able to, using the information stored in the model and the measurements, predict asset degradation as well as prioritize the mitigation activities to be carried out (WP5.b).
  • Solution Development III: The last development stage of the project will be the development of a plug-in that allows the in-line, real-time detection of the asset degradation, being also to detect potential propagation and ripple effects on other artifacts (WP5.c). To do so we will use the historical information gathered and analyzed along the longitudinal case studies and integrated with the monitoring information of the current state of the project assets.

Next (References)

 

In collaboration with:

Funded by: