Introduction
The new transformations of the cuban economic and social model derived from its refinement, the current economic blockeade and the incidence and effects of COVID-19, are strong challenges for the functioning of the cuban economy, that is why today's society requires a scientific answer to software development process, by the use of the best practices associated with its modernization, to allow the development of agile systems in an environment of collaboration and the application of software development methodologies from an Integrated Project Management. This process is part of the digital transformation so necessary for computer systems of our country, taking into consideration that for its goals, dynamics and management approaches, strong governance throughout the life cycle of software development are required. ( Febles A. & Delgado T., 2021)
The above mentioned has an impact on the resources saving, software quality, faults and defects reduction, the maintenance, deployment and support of programs, human resources training, the quality of services, making possible to reinforce the financial inclusion, which is an essential factor to ensure a solid economic growth and greater social well being. (Delgado-Corrons L., 2018) Taking into account the Cuban Government approval in the past September 2021 of the first 35 Mipymes (Micro, Small and Minor Enterprises), it should be noted that 7 of them are related to programming activities and software development. Therefore, integration of new technologies in all areas of these companies must be ensured, for the sake of optimizing processes, improve competitiveness and offer new added value for customers. This infers the following problem, How the adoption of metrics and indicators influences in the development of software projects? And sets as the goal of this investigation to analyze the various trends in the adoption process of metrics and indicators in software development projects for project management.
Methods or computational methodology
According to the Standish Group's Chaos Report (CHAOS, 2021) , after analyzing about 50,000 projects in the last five years it describes three success factors, good sponsor, good team and good place sponsor, good team, good circumstances or place), which also affects the results of the project decreasing its maturity level.
The adoption of metrics and indicators in Project Management contributes to detect, to measure, to understand and monitoring the status of the project during all its phases. It consists of five defined phases: Initiating, Planning, Execution, Control and Closing according to the PMBOK Guide (PMI, 2016).
A software project is truly mature when metrics and indicators are used to control and follow up its behavior through its life cycle. There is a large number of investigations about metrics and indicators adopted in the development of software projects.
The authors of the present investigation created Table I using a systematic mapping of the topic, where studies about this matter are exemplified according to its title and reference. For the preparation of the systematic mapping, the guidelines proposed by (Petersen K., Vakkalanka S. & Kuzniarz L., 2015) were considered when entering the following search string:
(Method OR model OR methodology) AND (metrics adoption OR metrics application) AND (indicators adoption OR indicators application) AND (software project management) in the scientific databases:
ScienceDirect, Springer Link, IEEE Xplore Digital Library and Grey Literature, using as time window from 2016 to May 2021.
The analysis used the following inclusion criteria’s:
Studies related with the adoption or application of metrics and indicators in Project Management.
Studies in english language.
Studies published in international journals or events.
The authors have determined the following exclusion criteria´s:
Studies that do not deal with the adoption or application of metrics and indicators in Project Management.
Duplicate studies.
When obtaining the relevant studies as a result of the execution of the previous procedure, the inclusion/exclusion criteria’s were applied again, but performing the complete analysis of each study, thus determining the primary studies. This process was done iteratively and incrementally until the result of the present investigation was formed.
Results and Discussion
Research | Reference |
---|---|
A Change Management Model and Its Application in Software Development Projects | (Efe P. & Demirors O, 2019) |
DevOps and software quality:A systematic mapping | (Mishraa A. & Otaiwi Z., 2020) |
Critical Chain Project Management (CCPM) | (Ellis G., 2016) |
Agile Project Management | (Collins G., 2016) |
Usability Driven DSL development with USE-ME | (Barisi A.,Amaral V. & Goulao M., 2017) |
A Mapping Study on Design-Time Quality Attributes and Metrics |
|
Automated measuring of engineering progress based on ML algorithms | (Ebela H., Starka R. & Tsigkros A, 2020) |
Complete Guide to Digital Project Management | (Shivakumar S. K., 2018) |
A metrics suite for UML model stability | (AbuHassan A. & Alshayeb M., 2016) |
Applying a Software Estimation Method to the Human Resources Management Based on PMBOK. |
|
Scrum Agile Project Management Methodology Application for Workflow Management: A Case Study |
|
An Automated Software Size Measurement Tool based on Generation Model using COSMIC Function Size Measurement |
|
Doctoral thesis: Design of Indicators for Project Management. | (Fernández-Vivancos G., 2016) |
Among these investigations the use of metrics and indicators is exemplified during the software development process as a necessary practice for decision making and achieving their success.
Therefore, detecting trends and anticipating problems, betting on better cost control, reducing risks, improving quality and reaching work objectives are achievable goals with the use of metrics that make the engineering process quantifiable.
Measurement process allows to make comparisons with existing practices in the market. It also contributes to identify which attributes are most important to customers, to the extent that each one of them are discussed in the early phases of the product's conception, as it is shown in Table II.
Below, it can be observed the relationship of the most used indicators and metrics according to the phase of the project.
Research title | Software development phase | Indicators/Metrics |
---|---|---|
A Change Management Model and Its Application in Software Development Projects | Planning and execution | MRE = Total cost-Estimated cost at completion/Total cost The effort person/hours is calculated |
DevOps and software quality:A systematic mapping | During the 4 phases of the DevOps development process | The use of multiple regression analysis is proposed, and the automation of tests based on the most well known indicators and metrics. |
Critical Chain Project Management (CCPM) | Execution | CCPM is used, specifically the "Fever Chart" to track the progress of the tasks and know what percentage of the project is in the critical chain. |
Agile Project Management | Planning | The earned value (EV) is calculated, taking into account the following criteria:
Story value to the business. Story points. Points earned. Planned developer hours. Actual logged hours. |
Usability Driven DSL development with USE-ME | Execution | A catalog of usability metrics is used:
Target modeling. Evaluation modeling. |
A Mapping Study on Design-Time Quality Attributes and Metrics | Execution | Maintainability stands out as the most studied and important metric in the Quality Assurance (QA) process.
There are exemplified models with their respective suites of metrics such as those of Koten and Gray (2006). Zhou and Xu (2008) who describe as the most accurate to predict maintainability. It has exposed a list of the most frequent metrics for each phase of development. |
Automated measuring of engineering progress based on ML algorithms | Planning | Is evaluated Maturity through the Euclidean distance metric. |
Complete Guide to Digital Project Management | Initiation and Execution | Several types of metrics are revealed, Process, Project, Product, Test Process, Code and Business. Process Metrics:
Strain variation. Schedule variation. Product Metrics: Effectiveness tests to measure the number of defects according to test cases. Metrics of the testing process: Defect detection rate: Defect detection rate = Total defects / Total testing effort (person hours). Defect Elimination Rate - The rate at which defects are removed Defect Elimination Rate = Total Defects Eliminated / Total Effort Spent Defect Elimination (person hours) Project Metrics: Includes metrics to assess the project health. Risk metrics provide data related to risks, such as total number of open risks, count of closed risks, etc. Customer complaint metrics provide the total number of customer complaints, service calls, and incidents. Code metrics: Cyclomatic Complexity (CC). Coupling Between Objects (CBO). Business Metrics: Productivity improvements by continually reducing the effort required for each release. Project health: Risk metrics provide data related to risks, such as total number of open risks, count of closed risks, etc. Customer complaint metrics provide the total number of customer complaints, service calls, and incidents. Code metrics: Cyclomatic Complexity (CC). Coupling Between Objects (CBO). Business Metrics: Productivity improvements by continually reducing the effort required for each release. Effort optimization can be achieved with the use of automation, open source tools, process improvements, and reusable artifacts in subsequent iterations. |
A metrics suite for UML model stability | Execution | This study proposes a suite of model-level software stability metrics for three UML diagrams: class, use case, and sequence. A client-based evaluation approach is introduced master to avoid duplicate measurements.
The proposed suite of metrics is theoretically and empirically validated. |
Applying a Software Estimation Method to the Human Resources Management Based on PMBOK. | Execution and control | Through this study, the advantages for the execution and control of the project are presented through the calculation of the absolute value of work (MCAVW) in CBSD. The estimation method used calculates the value of each area expressed in Work Units (WU). |
Scrum Agile Project Management Methodology Application for Workflow Management: A Case Study | It is about the 4 phases proposed in Scrum.(PDCA) | The indicators were exemplified but according to the SCRUM methodology. |
An Automated Software Size Measurement Tool based on Generation Model using COSMIC Function Size Measurement | Planning | COSMIC Functional Size Measurement (FSM) was applied to estimate the size of the Project. |
Doctoral thesis: Design of Indicators for Project Management. | It addresses all phases of Project Management. | Various indicators were listed for all phases of Project Management:
Economic-financial ratios Earned Value Analysis Metrics for Project Management. |
Taking into consideration the results shown in Table II, the phase where the greatest number of metrics and indicators are applied is the Execution one.
When performing an analysis of the number of times that the values of the use of metrics and indicators in software projects are repeated, it was found that KSLOC and the Earned Value Technique (EVM) were the most used in the investigations reviewed. Figure 1 shows this analysis.
On the other hand, in the case of metrics and indicators for the different types of web servers (such as Apache, IIS, Azure, AWS and NGINX, among others) they use performance metrics, because as an application gains more users in a production environment, its operational functionalities are increasingly critical. To determine the health of your applications, you need to collect performance metrics for the servers running your web applications.
Within these, there are eight that are among those that are essential and it can be divided into two categories: Application performance metrics and User experience metrics.
Application performance metrics:
Requests per second
Data input and data output
Average response time
Peak response time
Hardware utilization
Thread count
User experience metrics:
On the other hand, after analyzing these studies, it was found that there is a trend towards agile development of applications and therefore, continuous integration (CI) and continuous delivery (CD), that are part of the software development process. These will be used with more frenquency, because CI ensures that code changes are integrated into a software project, and CD promotes configuration and feature changes as well as bug are fixed in a fast and sustainable manner. Both processes allow to the software development companies to complete projects while saving money and increasing efficiency.
Conclusions
This paper carried out an analysis that allowed to systematize the background and theoretical references that supports the software development process, and at the same time established the most adopted metrics and indicators as KSLOC and the Earned Value Technique (EVM) , as well as the relationships between each of its components that reproduce the particularities, complexity, composition and essential relationships of this process.
Likewise, introduced how to use performance and user experience metrics and indicators, how to assume a dialectical perspective in strategic decision making, and how to integrate the objective, functions and components in their internal relationships, which contributes to the employability and sustainability of the software development process for understanding macro programs and other types of actions.