About the lab
VIRTUS is the Center for Research, Development and Innovation on Information, Communication and Automation Technology at Federal University of Campina Grande (UFCG), as part of Center
of Electrical Engineering and Informatics (CEEI).
of Electrical Engineering and Informatics (CEEI).
Featured research (75)
[Context] Multiple models (or instruments) for measuring Teamwork Quality (TWQ) and Teamwork Effectiveness (TWE) for Agile Software Development (ASD) have been created. However, such models have different constructs and measures, with a limited understanding of how they are related and have evolved. [Goal] Our goal is to identify all ASD instruments to gain insights into the evolution of specific instruments for ASD. [Method] We performed a systematic review methodology using a search string and a forward snowballing approach to identify the specific instruments that assess TWQ and TWE. Later, we conducted a frequency analysis of the factors measured by these ASD instruments. [Results] We provided a comprehensive view of the evolution of teamwork instruments in ASD and classified them into Generic teamwork instruments and Agile-based teamwork instruments. We found that these instruments have evolved with the more specialized factors specific to the agile context. In addition, they have semantically similar factors with different factor names, pointing to the need for terminology standardization. [Conclusion] A conceptual framework integrating the instrument factors within the agile context is needed. We advocate further studies on this topic, aiming to develop a unified taxonomy to be taken as a reference for constructing new teamwork instruments.
Risk management is essential in software project management. It includes activities such as identifying, measuring, and monitoring risks. The increasingly popular agile methods don’t offer specific activities to manage risk. The lack of risk management or its inadequate application is one of the reasons for the failure of software development projects. Therefore, we developed an approach to risk management in software development projects that use Scrum. The proposed approach provides a set of risk management practices and an iterative life cycle. Along with this approach, we developed a recommendation algorithm to assist decision-making when identifying risks. Thus, we performed an offline evaluation to verify the best configuration for the recommendation algorithm that will accompany our approach. We chose Manhattan similarity based on the experimental results collected, with a precision of 45%, recall of 90%, and F1-score of 58%. So it is possible to observe that the recommender system can perform risk predictions satisfactorily. Therefore, it is promising to assist in decision-making in Scrum-based projects.
Technical Debt (TD) refers to the consequences of taking shortcuts when developing software. Technical Debt Management (TDM) becomes complex since it relies on a decision process based on multiple and heterogeneous data, which are not straightforward to be synthesized. In this context, there is a promising opportunity to use Intelligent Techniques to support TDM activities since these techniques explore data for knowledge discovery, reasoning, learning , or supporting decision-making. Although these techniques can be used for improving TDM activities, there is no empirical study exploring this research area. This study aims to identify and analyze solutions based on Intelligent Techniques employed to support TDM activities. A Systematic Mapping Study was performed, covering publications between 2010 and 2020. From 2276 extracted studies, we selected 111 unique studies. We found a positive trend in applying Intelligent Techniques to support TDM activities, being Machine Learning, Reasoning Under Uncertainty, and Natural Language Processing the most recurrent ones. Identification, measurement, and monitoring were the more recurrent TDM activities , whereas Design, Code, and Architectural were the most frequently investigated TD types. Although the research area is up-and-coming, it is still in its infancy, and this study provides a baseline for future research. CCS CONCEPTS • General and reference → Empirical studies.
Software requirements changes become necessary due to changes in customer requirements and changes in business rules and operating environments; hence, requirements development, which includes requirements changes, is a part of a software process. Previous studies have shown that failing to manage software requirements changes well is a main contributor to project failure. Given the importance of the subject, there is a plethora of efforts in academia and industry that discuss the management of requirements change in various directions, ways, and means. This chapter provided information about the current state-of-the-art approaches (i.e., Disciplined or Agile) for RCM and the research gaps in existing work. Benefits, risks, and difficulties associated with RCM are also made available to software practitioners who will be in a position of making better decisions on activities related to RCM. Better decisions can lead to better planning, which will increase the chance of project success.