Publications
-
Khakpour, Alireza; Vazquez-Ingelmo, Andrea; Colomo-Palacios, Ricardo; Garcia-Penalvo, Francisco J. & Martini, Antonio
(2024).
ModelViz: A Model-Driven Engineering Approach for Visual Analytics System Design.
IEEE Access.
ISSN 2169-3536.
12,
p. 42667–42682.
doi:
10.1109/ACCESS.2024.3379268.
-
-
Martini, Antonio; Besker, Terese; Posch, Torsten & Bosch, Jan
(2023).
TD Pulse: Assessing the Systematic Management of Technical Debt.
IEEE Software.
ISSN 0740-7459.
40(3),
p. 54–62.
doi:
10.1109/MS.2022.3226035.
-
Khakpour, Alireza; Colomo-Palacios, Ricardo & Martini, Antonio
(2023).
Towards a framework for developing visual analytics in supply chain environments.
International Journal of Information Systems and Project Management.
ISSN 2182-7796.
11(1),
p. 52–71.
doi:
10.12821/ijispm110103.
-
Khakpour, Alireza; Colomo-Palacios, Ricardo; Martini, Antonio & Sánchez-Gordón, Mary
(2023).
The Use of Domain-Specific Languages for Visual Analytics: A Systematic Literature Review.
Technologies.
ISSN 2227-7080.
11(2).
doi:
10.3390/technologies11020037.
Full text in Research Archive
Show summary
Visual Analytics (VA) is a multidisciplinary field that requires various skills including but not limited to data analytics, visualizations, and the corresponding domain knowledge. Recently, many studies proposed creating and using Domain-Specific Languages (DSLs) for VA in order to abstract complexities and assist designers in developing better VAs for different data domains. However, development methods and types of DSLs vary for different applications and objectives. In this study, we conducted a systematic literature review to overview DSL methods and their intended applications for VA systems. Moreover, the review outlines the benefits and limitations of each of these methods. The aim is to provide decision support for both the research and development communities
to choose the most compatible approach for their application. We think the communication of this research delivers a broad figure of previous relevant research and assists with the transfer and adaptation of the results to other domains.
-
-
-
Cico, Orges; Besker, Terese; Martini, Antonio; Nguyen Duc, Anh; Souza, Renata & Bosch, Jan
(2021).
Toward a Technical Debt Relationship with the Pivoting of Growth Phase Startups.
In Ardito, Luca; Jedlitschka, Andreas; Morisio, Maurizio & Torchiano, Marco (Ed.),
Product-Focused Software Process Improvement.
Springer.
ISSN 978-3-030-91451-6.
p. 265–280.
doi:
10.1007/978-3-030-91452-3_18.
Full text in Research Archive
Show summary
Context: Pivot has been a common strategical tactic of startups by shifting course of actions to adapt to environmental changes to the companies. Among many factors influencing the decisions of pivot or preserve, technical characteristics of the product and its evolution are possible triggering factors. We have learned that technical debt is an inherent phenomenon in startups that hinders later growth. However, we do not yet know how technical debt might lead to pivoting in startups and what TD processes we observe in different pivoting scenarios. Aim: Our goal is to evaluate how technical debt influences pivoting in growth-phase startups. Methodology: We conducted an empirical study on 11 software startups in Norway and Brazil and analyzed qualitative data using thematic analysis. Results: We identified three ways that technical debt influences pivoting: (1) direct, (2) indirect, and (3) no-influence. Managing and avoiding technical debt significantly reduces the likelihood of technology pivoting and restrains indirect effects on other pivoting types. Contribution: Our study will enable practitioners to address the influence of technical debt on pivoting in growth-phase software startups. Future researchers can benefit from our findings by conducting exploratory studies and providing educated recommendations.
-
-
-
-
Ciolkowski, Marcus; Lenarduzzi, Valentina & Martini, Antonio
(2021).
10 Years of Technical Debt Research and Practice: Past, Present, and Future.
IEEE Software.
ISSN 0740-7459.
doi:
10.1109/MS.2021.3105625.
-
-
Pavlović, Milena; Scheffer, Lonneke; Motwani, Keshav; Kanduri, Chakravarthi; Kompova, Radmila & Vazov, Nikolay Aleksandrov
[Show all 41 contributors for this article]
(2021).
The immuneML ecosystem for machine learning analysis of adaptive immune receptor repertoires.
Nature Machine Intelligence.
3(11),
p. 936–944.
doi:
10.1038/s42256-021-00413-z.
-
Brataas, Gunnar; Martini, Antonio; Hanssen, Geir Kjetil & Ræder, Georg
(2021).
Agile elicitation of scalability requirements for open systems: A case study.
Journal of Systems and Software.
ISSN 0164-1212.
182.
doi:
10.1016/j.jss.2021.111064.
Full text in Research Archive
Show summary
Eliciting scalability requirements during agile software development is complicated and poorly described in previous research. This article presents a lightweight artifact for eliciting scalability requirements during agile software development: the ScrumScale model. The ScrumScale model is a simple spreadsheet. The scalability concepts underlying the ScrumScale model are clarified in this design science research, which also utilizes coordination theory. This paper describes the open banking case study, in which a legacy banking system becomes open. This challenges the scalability of this legacy system. The first step in understanding this challenge is to elicit the new scalability requirements. In the open banking case study, key stakeholders from TietoEVRY spent 55 h eliciting the scalability requirements of TietoEVRY’s open banking project. According to TietoEVRY, the ScrumScale model provided a systematic way of producing scalability requirements. For TietoEVRY, the scalability concepts behind the ScrumScale model also offered significant advantages in dialogs with other stakeholders.
-
-
-
-
-
-
Soares De Toledo, Saulo; Martini, Antonio & Sjøberg, Dag
(2021).
Identifying architectural technical debt, principal, and interest in microservices: A multiple-case study.
Journal of Systems and Software.
ISSN 0164-1212.
177.
doi:
10.1016/j.jss.2021.110968.
Full text in Research Archive
Show summary
Background:
Using a microservices architecture is a popular strategy for software organizations to deliver value to their customers fast and continuously. However, scientific knowledge on how to manage architectural debt in microservices is scarce.
Objectives:
In the context of microservices applications, this paper aims to identify architectural technical debts (ATDs), their costs, and their most common solutions.
Method:
We conducted an exploratory multiple case study by conducting 25 interviews with practitioners working with microservices in seven large companies.
Results:
We found 16 ATD issues, their negative impact (interest), and common solutions to repay each debt together with the related costs (principal). Two examples of critical ATD issues found were the use of shared databases that, if not properly planned, leads to potential breaks on services every time the database schema changes and bad API designs, which leads to coupling among teams. We identified ATDs occurring in different domains and stages of development and created a map of the relationships among those debts.
Conclusion:
The findings may guide organizations in developing microservices systems that better manage and avoid architectural debts.
-
-
Josep, Burgaya Pujols; Bas, Pieter; Martínez-Fernández, Silverio; Martini, Antonio & trendowicz, adam
(2020).
Skuld: a self-learning tool for impact-driven technical debt management.
In Clemente, Izurieta; Matthias, Galster & Felderer, Michael (Ed.),
TechDebt '20: Proceedings of the 3rd International Conference on Technical Debt.
IEEE (Institute of Electrical and Electronics Engineers).
ISSN 978-1-4503-7960-1.
p. 113–114.
doi:
10.1145/3387906.3388626.
-
-
Soares De Toledo, Saulo; Martini, Antonio & I. K. Sjøberg, Dag
(2020).
Improving Agility by Managing Shared Libraries in Microservices.
In Paasivaara, Maria & Kruchten, Philippe (Ed.),
Lecture Notes in Business Information Processing, vol 396.
Springer Berlin/Heidelberg.
ISSN 978-3-030-58857-1.
p. 195–202.
doi:
10.1007/978-3-030-58858-8_20.
Full text in Research Archive
Show summary
Using microservices is a way of supporting an agile architecture. However, if the microservices development is not properly managed, the teams’ development velocity may be affected, reducing agility and increasing architectural technical debt. This paper investigates how to manage the use of shared libraries in microservices to improve agility during development. We interviewed practitioners from four large international companies involved in microservices projects to identify problems when using shared libraries. Our results show that the participating companies had issues with shared libraries as follows: coupling among teams, delays on fixes due to overhead on libraries development teams, and need to maintain many versions of the libraries. Our results highlight that the use of shared libraries may hinder agility on microservices. Thus, their use should be restricted to situations where shared libraries cannot be replaced by a microservice and the costs of replicating the code on each service is very high.
-
Lenarduzzi, Valentina; Martini, Antonio; Taibi, Davide & Tamburri, Damian Andrew
(2019).
Towards surgically-precise technical debt estimation: early results and research roadmap.
In Arcelli Fontana, Francesca (Eds.),
Proceedings of the 3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation, MaLTeSQuE@ESEC/SIGSOFT FSE 2019.
Association for Computing Machinery (ACM).
ISSN 978-1-4503-6855-1.
p. 37–42.
doi:
10.1145/3340482.3342747.
Show summary
The concept of technical debt has been explored from many perspectives but its precise estimation is still under heavy empirical and experimental inquiry. We aim to understand whether, by harnessing approximate, data-driven, machine-learning approaches it is possible to improve the current techniques for technical debt estimation, as represented by a top industry quality analysis tool such as SonarQube. For the sake of simplicity, we focus on relatively simple regression modelling techniques and apply them to modelling the additional project cost connected to the sub-optimal conditions existing in the projects under study. Our results shows that current techniques can be improved towards a more precise estimation of technical debt and the case study shows promising results towards the identification of more accurate estimation of technical debt.
-
Mårtensson, Torvald; Martini, Antonio; Ståhl, Daniel & Bosch, Jan
(2019).
Excellence in Exploratory Testing: Success Factors in Large-Scale Industry Projects.
In Franch, Xavier; Männistö, Tomi & Martínez-Fernández, Silverio (Ed.),
Product-Focused Software Process Improvement - 20th International Conference, PROFES 2019, Barcelona, Spain, November 27-29, 2019, Proceedings.
Springer.
ISSN 978-3-030-35332-2.
doi:
10.1007/978-3-030-35333-9_21.
Show summary
Based on interviews with 20 interviewees from four case study companies, this paper presents a list of key factors that enable efficient and effective exploratory testing of large-scale software systems. The nine factors are grouped into four themes: “The testers’ knowledge, experience and personality”, “Purpose and scope”, “Ways of working” and “Recording and reporting”. According to the interviewees, exploratory testing is a more creative way to work for the testers, and was therefore considered to make better use of the testers. Exploratory testing was also described as a good way to test system-wide and to test large-scale systems, especially exploratory testing with an end-user perspective. The identified key factors were confirmed by a series of follow-up interviews with the 20 interviewees and a cross-company workshop with 14 participants. This strengthens the generalizability of the findings, supporting that the list of key factors can be applied to projects in a large segment of the software industry. This paper also presents the results from a systematic literature review including 129 publications related to exploratory testing. No publication were found that summarizes the key factors that enable efficient and effective exploratory testing, which supports the novelty of the findings
-
Besker, Terese; Martini, Antonio & Bosch, Jan
(2019).
How Regulations of Safety-Critical Software Affect Technical Debt.
In Staron, Miroslaw; Capilla, Rafael & Skavhaug, Amund (Ed.),
2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).
IEEE (Institute of Electrical and Electronics Engineers).
ISSN 978-1-7281-3421-5.
doi:
10.1109/SEAA.2019.00020.
Show summary
In recent years in the software industry, the use of safety-critical software is increasing at a rapid rate. However, little is known about the relationship between safety-critical regulations and the management of technical debt. The research is based on interviews with 19 practitioners working in different safety-critical domains implementing software according to different safety regulation standards. The results are three-fold. First, the result shows that performing technical debt refactoring tasks in safety-critical software requires several additional activities and costs, compared to non-safety-critical software. This study has also identified several negative effects due to the impact of these regulatory requirements. Second, the results show that the safety-critical regulations strengthen the implementation of both source code and architecture and thereby initially limit the introduction of technical debt. However, at the same time, the regulations also force the software companies to perform later suboptimal work-around solutions that are counterproductive in achieving a high-quality software since the regulations constrain the possibility of performing optimal TD refactoring activities. Third, the result shows that technical debt refactoring decisions are heavily weighed on the costs associated with the application's recertification process and that these decisions seldom include the benefits of the refactoring activities in a structured way.
-
Ståhl, Daniel; Martini, Antonio & Mårtensson, Torvald
(2019).
Big bangs and small pops: on critical cyclomatic complexity and developer integration behavior.
In Sharp, Helen & Whalen, Mike (Ed.),
Proceedings of the 41st International Conference on Software Engineering: Software Engineering in Practice, ICSE (SEIP) 2019.
IEEE (Institute of Electrical and Electronics Engineers).
ISSN 978-1-7281-1760-7.
p. 81–90.
doi:
10.1109/ICSE-SEIP.2019.00017.
Show summary
Continuous integration is believed by many to improve software quality, including cyclomatic complexity. In this paper an exploratory study investigates the relationship between continuous integration behavior among developers and the cyclomatic complexity - particularly at critical levels - of the source code they commit, as a correct understanding of the consequences of a software development practice, particularly one as popular as continuous integration, is of crucial importance to industry professionals when deciding on improvement efforts. It is found that developer behavior differs significantly, as does their knowledge and awareness of cyclomatic complexity as a concept. We find that even though large commits ("big bangs") contribute proportionately slightly more to cyclomatic complexity, the effect is much less pronounced for critical cyclomatic complexity. It is also found that complex code tends to overlap with high levels of change activity, and that some developers deliberately change their integration behavior in the face of such hotspots, as a strategy to avoid merge conflicts.
-
Besker, Terese; Martini, Antonio & Bosch, Jan
(2019).
Technical debt triage in backlog management.
In Avgeriou, Paris & Schmid, Klaus (Ed.),
Proceedings of the Second International Conference on Technical Debt.
IEEE Press.
ISSN 978-1-7281-3371-3.
doi:
10.1109/TechDebt.2019.00010.
Show summary
Remediation of technical debt through regular refactoring initiatives is considered vital for the software system's long and healthy life. However, since today's software companies face increasing pressure to deliver customer value continuously, the balance between spending developer time, effort, and resources on implementing new features or spending it on refactoring of technical debt becomes vital. The goal of this study is to explore how the prioritization of technical debt is carried out by practitioners within today's software industry. This study also investigates what factors influence the prioritization process and its related challenges. This paper reports the results of surveying 17 software practitioners, together with follow-up interviews with them. Our results show that there is no uniform way of prioritizing technical debt and that it is commonly done reactively without applying any explicit strategies. Often, technical debt issues are managed and prioritized in a shadow backlog, separate from the official sprint backlog. This study was also able to identify several different challenges related to prioritizing technical debt, such as the lack of quantitative information about the technical debt items and that the refactoring of technical debt issues competes with the implementation of customer requirements.
-
-
Soares De Toledo, Saulo; Martini, Antonio; Przybyszewska, Agata & Sjøberg, Dag
(2019).
Architectural Technical Debt in Microservices: A Case Study in a Large Company.
In Avgeriou, Paris & Schmid, Klaus (Ed.),
Proceedings of the Second International Conference on Technical Debt.
IEEE Press.
ISSN 978-1-7281-3371-3.
doi:
10.1109/TechDebt.2019.00026.
Full text in Research Archive
Show summary
Introduction: Software companies aim to achieve continuous delivery to constantly provide value to their customers. A popular strategy is to use microservices architecture. However, such an architecture is also subject to debt, which hinders the continuous delivery process and thus negatively affects the software released to the customers. Objectives: The aim of this study is to identify issues, solutions and risks related to Architecture Technical Debt in microservices. Method: We conducted an exploratory case study of a real life project with about 1000 services in a large, international company. Through qualitative analysis of documents and interviews, we investigated Architecture Technical Debt in the communication layer of a system with microservices architecture. Results: Our main contributions are a list of Architecture Technical Debt issues specific for the communication layer in a system with microservices architecture, as well as their associated negative impact (interest), a solution to repay the debt and the its cost (principal). Among the found Architecture Technical Debt issues were the existence of business logic in the communication layer and a high amount of point-to-point connections between services. The studied solution consists of the implementation of different canonical models specific to different domains, the removal of business logic from the communication layer, and migration from services to use the communication layer correctly. We also contributed with a list of possible risks that can affect the payment of the debt, as lack of funding and inadequate prioritization. Conclusion: We found issues, solutions and possible risks that are specific for microservices architectures not yet encountered in the current literature. Our results may be useful for practitioners that want to avoid or repay Technical Debt in their microservices architecture.
-
Martini, Antonio; Stray, Viktoria & Moe, Nils Brede
(2019).
Technical-, social- and process debt in large-scale agile: An exploratory case-study.
Lecture Notes in Business Information Processing.
ISSN 1865-1348.
364,
p. 112–119.
doi:
10.1007/978-3-030-30126-2_14.
Full text in Research Archive
Show summary
Large-scale agile projects bring inter-teams interaction challenges. Teams need to be autonomous, but often crosscutting concerns affect many teams. If the teams fail to collaborate on these concerns, the negative effects might hinder agility in the medium and long term. In other words, the organization and the system accumulate debt, on which the teams pay a high interest. Such debt must therefore be prioritized and “repaid” timely. We conducted a case study with interviews, observations and document analysis. Via both team- and large-scale retrospectives we investigated how teams coordinate and discuss Technical-, Social- and Process Debts.
-
Hanssen, Geir Kjetil; Brataas, Gunnar & Martini, Antonio
(2019).
Identifying Scalability Debt in Open Systems.
In Avgeriou, Paris & Schmid, Klaus (Ed.),
Proceedings of the Second International Conference on Technical Debt.
IEEE Press.
ISSN 978-1-7281-3371-3.
p. 48–52.
doi:
10.1109/TechDebt.2019.00014.
Full text in Research Archive
Show summary
Architectural technical debt can be generated by changes in the business and the environment of an organization. In this paper, we emphasize the change in scalability requirements due to new regulations. Scalability is the ability of a system to handle an increased workload. For complex systems that are abruptly exposed via open interfaces and hence a greater workload, the scalability requirements may quickly increase, leading to technical debt. We term this scalability debt. This paper describes scalability triage, a light-weight, novel technique for identifying scalability threats as a form of technical debt. We illustrate this technique with an open banking case from a large software organization. Open banking is partly caused by the new European PSD2 regulative that enforce banks to open interfaces to unknown third-party actors. Banking systems are well-established, mature systems. However, with the advent of open banking and PSD2, the workload may quickly rocket. This leads to tougher scalability requirements and accumulated architectural debt, despite previously sound architectural decisions. Using scalability triage, such risks may be identified fast. It will then be possible to prevent this form of technical debt with timely reengineering.
-
Besker, Terese; Martini, Antonio & Bosch, Jan
(2019).
Software developer productivity loss due to technical debt?A replication and extension study examining developers? development work.
Journal of Systems and Software.
ISSN 0164-1212.
156,
p. 41–61.
doi:
10.1016/j.jss.2019.06.004.
-
-
-
-
Martini, Antonio; Arcelli Fontana, Francesca; Biaggi, Andrea & Roveda, Riccardo
(2018).
Identifying and Prioritizing Architectural Debt Through Architectural Smells: A Case Study in a Large Software Company.
In Cuesta, Carlos E.; Garlan, David & Pérez, Jennifer (Ed.),
12th European Conference on Software Architecture, ECSA 2018, Madrid, Spain, September 24–28, 2018, Proceedings.
Springer.
ISSN 978-3-030-00760-7.
p. 320–335.
doi:
10.1007/978-3-030-00761-4_21.
Full text in Research Archive
-
Martini, Antonio; Sikander, Erik & Madlani, Niel
(2018).
A semi-automated framework for the identification and estimation of Architectural Technical Debt: A comparative case-study on the modularization of a software component.
Information and Software Technology.
ISSN 0950-5849.
93,
p. 264–279.
doi:
10.1016/j.infsof.2017.08.005.
-
Martini, Antonio; Besker, Terese & Bosch, Jan
(2018).
Technical Debt tracking: Current state of practice: A survey and multiple case study in 15 large organizations.
Science of Computer Programming.
ISSN 0167-6423.
163,
p. 42–61.
doi:
10.1016/j.scico.2018.03.007.
Full text in Research Archive
View all works in Cristin
-
Wang, Xiaofeng; Martini, Antonio; Nguyen Duc, Anh & Stray, Viktoria
(2021).
Software Business: 12th International Conference, ICSOB 2021, Drammen, Norway, December 2–3, 2021, Proceedings.
Springer.
ISBN 978-3-030-91982-5.
434(*).
255 p.
-
View all works in Cristin
Published
Nov. 8, 2017 3:15 PM
- Last modified
Aug. 24, 2021 11:27 AM