SoftwareMetricsinAgileSoftwareDevelopment
SoftwareMetricsinAgileSoftwareDevelopment
net/publication/379096213
CITATIONS READS
0 638
1 author:
Faizan Berlas
Virtual University of Pakistan
6 PUBLICATIONS 1 CITATION
SEE PROFILE
All content following this page was uploaded by Faizan Berlas on 26 March 2024.
Abstract—Modern software systems intensively use the Agile to work iteratively and deliver software products as per
software development processes for their development and customers' requirements. Delivery strategy, Agile software
maintenance. The Agile development methodology encourages engineering techniques, and Agile team capability are the
customer satisfaction, early incremental delivery, and overall success factors in Agile software development projects [6].
development simplicity. Agile development methods accept Software industry practitioners report several benefits of the
changes in requirements and technology and use a more Agile framework. Among these, the three most valuable
adaptive or iterative approach to planning. With the adaptation benefits are reduced time-to-market, increased customer
of Agile process models in the development of modern software
satisfaction, and reduced development costs [7]. Managing
systems, there is a need for continuous improvement in the Agile
and implementing the agile framework can be challenging in
processes. Agile development processes are modified and
upgraded by utilizing software metrics. There are several
both large-scale software projects [3] and Small and Medium
proposed software metrics for measuring performance and Enterprises (SMEs) [7]. Several proposed software metrics are
quality in Agile software development. These include customer available for measuring the performance of Agile software
satisfaction, story point estimation, velocity, test coverage, development processes [2]-[20]. As highlighted by [3] and [7],
defects in production, and other metrics. Each software metric managing the Agile processes requires continuous
has its own merits and demerits. This research aims to provide monitoring, and software metrics measure and monitor the
a comprehensive review of published research work on software performance of Agile software development processes.
metrics. Specifically, it summarizes the software metrics used
In Agile Software Development (ASD), the software is
for measuring the performance of Agile process models. This
research paper will help understand the usefulness of various developed incrementally in small iterations, and the
software metrics used in Agile development, and it will serve as customers' input is the main driver for each iteration [8]. For
a foundation for future research in software metrics for Agile each customer request, the development team estimates the
software development. size and effort required to complete the request [8]. The
quantifying of size and effort needed to complete a task is
Keywords—Agile Software Development, Software Metrics, called the effort estimation metric. In ASD, Effort estimation
Software Processes. is an integral part of the software management process [8].
Companies with various teams working in geographically
I. INTRODUCTION dispersed locations or different time zones use geographically
A software metric is a measurable or countable distributed agile development (GDAD) methodology [9].
characteristic or attribute of software [1]. The organizations These companies face several challenges, such as
plan their work items, measure their productivity, and estimate communication issues, cultural differences, and coordination
the quality and progress of their software development and commitment problems [9]. According to [21], adaptive
activities by utilizing software metrics [1]. There are two types enterprise architecture (AEA) management can decrease the
of software metrics: Process metrics and Product metrics. effect of these challenges by providing a common ground that
Process metrics measure the performance of the software keeps all distributed teams on track.
development process. This category includes cost, scope, Quantifying software quality in Agile software
time, customer satisfaction, and other metrics used for development involves the measurement of several quality
quantifying the attributes of the software development attributes. [10] identified the quantification of six attributes for
process. Product metrics measure the quality, size, and measuring software quality in the Agile framework. Selecting
performance of software products. This category consists of the type of software metrics that best suits the needs of a
reliability, portability, efficiency, and other metrics used for particular organization for measuring its Agile development
measuring the characteristics of the software product [1]. process can be challenging. [11] presented a systematic
Modern software development projects use Agile software mapping study of the Agile software development process
development processes because they enable on-time delivery metrics and classified three categories for Global Software
of high-quality software within the allocated budget [2]. Development (GSD). Scrum is an Agile project management
Large-scale software development projects also utilize Agile framework that helps teams structure and manage their work
practices to develop their software systems [3]. Agile methods through values, principles, and practices [12]. It is a flexible
in large-scale software development projects require and iterative framework that guides teams to collaborate and
continuous monitoring and scaling [3]. Organizations working adapt to changing requirements, deliver value incrementally,
on large-scale projects use software metrics to improve and and improve quality and productivity [12]. The work of [12]
scale Agile development methodologies [4]. provides valuable insights into the quantification of Scrum
With the advancement of technology, companies are Metrics and shows that Scrum Metrics are critical for
becoming more dependent on software solutions for their day- achieving strong project dynamics and optimal results.
to-day business operations [5]. Software solutions must be Empirical process control in Agile software development
flexible and adaptable to meet the growing needs of the is the steering and readjusting of the Agile development
business. Agile methodologies enable the development teams processes with the help of emergent and experimental process
data [22]. This concept implies that Agile process TABLE I. RELATED WORK IN SOFTWARE METRICS.
development shall not follow rigid and static processes or
project plans and shall be adjustable according to the process Proposed
Paper Year Research Area
Approach
metrics data [22]. According to [13], the effectiveness of
empirical process control metrics is unclear, and empirical Software metrics in
evidence of their successful impact is rare. [13] develop an Concas et al. [20] 2012 Empirical study
Agile project
artifact that facilitates the implementation of control metrics Agile in large-scale
in large-scale Agile development projects. [14] presents a Heidenberg et al.
2013 software Metrics model
[19]
survey and interview-based analysis from 24 companies and development
identifies ten metrics beneficial to the ASD process. [15] Destefanis et al. Software Metrics in
conducted multiple case studies and identified data 2014 Empirical study
[18] Agile
availability and development process as the two fundamental
success factors for process metric operationalization. Usman et al. [8] 2014
Effort estimation in Systematic
Harmonized delivery and sustainability metrics systems play ASD literature review
a pivotal role in enhancing the sustainability and efficiency of Software Metrics in
Survey and
the software development process [16]. [17] conducted a Padmini et al. [14] 2015 interview-based
ASD
quasi-experimental study and compared the Scrum process analysis
with the integrated Scrum Model-Based System Architecture Ram et al. [15] 2019
Process metrics in
Case study
Process (sMBSAP). According to the results of [17], the Agile
quantitative benefits of sMBSAP are far more than the Scrum Scrum development
Dixit and Bhushan
process. [18] conducted an empirical study on eight object- [12]
2019 process and Scrum Survey report
oriented systems and analyzed the distribution of software metrics
metrics in Agile and plan-driven methodologies. [19] presents Agile processes in
Choraś et al. [7] 2020 small-size Case study
a Metrics model to measure the impact of an Agile companies
transformation in large software development organizations. Agile software
Kandengwa and
[20] also conducted an empirical study to assess the impact of 2021 project Survey report
Khoza [2]
software metrics in Agile projects. measurement
Charles and Measuring Software
This paper aims to provide a comprehensive literature 2021 Empirical study
Caesar [10] Quality in Agile
review of published empirical studies, research work, and
systematic literature reviews on software metrics in Agile Software Process Systematic
Hossain et al. [11] 2021
software development. The rest of the paper presents sections Metrics in ASD literature review
II, III, and IV. Section II highlights the related research work
on software metrics in Agile software development. It also Alzoubi and Gill Software metrics in
2022 Empirical study
[9] GDAD
shows the methodology for selecting the research work for the
literature review. Section III is the discussion section, and it Empirical Control
postulates the research questions, the answers of which help Roeck et al. [13] 2022 Empirical study
Metrics in ASD
in elaborating and understanding the published research in the
context of software metrics in Agile development. Section IV Software metrics in
Phillipp et al. [3] 2022 Survey report
summarizes the findings of this research work, followed by its large-scale ASD
limitations and ideas for future research. Software metrics in
Phillipp et al. [4] 2022 Metrics model
large-scale ASD
II. RELATED WORK
One of the main steps in conducting a comprehensive Sprint length
Sharma et al. [6] 2023 Case study
estimation in ASD
literature review is to devise a query string of relevant
keywords to find the required research papers [23]. The Quality
keywords of the query string used for finding the relevant Barraood et al. [5] 2023 Measurement in Survey report
ASD
literature were Software Metrics, Software Product Metrics, ASD metrics
Software Process Metrics, Software Development Metrics, Huss et al. [17] 2023 measurement in Empirical study
Agile Software Development, Agile Metrics, and Agile sMBSAP
Methodologies. This query string searched the relevant Fagarasan et al. Sustainability
research publications from reputable online research 2023 Metrics model
[16] metrics in ASD
databases. Another criterion for selecting research
publications was to pick research papers from journals or
conferences indexed in Science Citation Index Expanded III. DISCUSSION
(SCIE), Emerging Sources Citation Index (ESCI), Scopus, or
Google Scholar. The exclusion criteria from selection was to This section provides the findings of the research work
exclude all research publications not written in English. Also, selected for the literature review. The research questions
exclude all research papers that are under peer review. define the research objectives and attempt to determine the
software metrics used in ASD. The answers to these questions
Based on the selection criteria, 19 research papers were give a descriptive overview of various software metrics used
selected for the literature review. Table I shows the list of in ASD and identify the reasons for their adaptation. These
these research papers and presents them in ascending order by answers also determine the challenges of implementing
the year of publication. Table I also shows the research area software metrics in ASD.
and proposed research approach for each research paper.
A. RQ1: What are the most commonly used software Team morale improvement
metrics in Agile software development?
Project risk reduction
The answer to this question seeks to determine the most
widely used software metrics in ASD. Traditionally, software Software quality improvement
development companies considered scope, budget, and
Ability to manage changing priorities
timeline the most critical software metrics for measuring the
performance of the software project [2]. According to [2], Improvement in the Engineering discipline
these triple constraints - scope, budget, and time are not
suitable for measuring the performance of ASD. [2] collected Improvement in business and IT alignment
data through a survey and found that organizations are Improvement in delivery speed and time to market
adopting business value delivered and customer satisfaction
metrics for measuring the performance of ASD. The survey Increased team productivity
respondents were professionals and practitioners working in
According to [2], the principal challenges of adopting
Agile projects, and it had the following five sections.
ASD are:
Biographic information
General organization resistance to change
Metrics used to measure ASD
Inconsistent processes and practices across the teams
Reasons for adopting metrics in ASD
The pervasiveness of traditional development
Benefits of adopting metrics in ASD methods
Challenges of adopting metrics in ASD Insufficient training and education
Specifically, the survey respondents were scrum masters, Lack of business, customer, and product owner
product owners, Agile coaches, team members, stakeholders, availability
and end users. To measure project success, 69% of
respondents use the business value delivered metric success, Fragmented tooling and project-related data and
66% use the project visibility metric, and 60% use the management
customer satisfaction metric. Table II shows the types of Organization culture
software metrics, their usage, and measurement tools defined
by [2]. Minimal collaboration and knowledge sharing
The main advantages of ASD highlighted by [2] are as Lack of skills and experience with Agile methods
follows.
Inadequate management support and sponsorship
Better project visibility
Company philosophy at odds with core Agile values
Better project predictability
TABLE II. SOFTWARE METRICS, THEIR USAGE, AND MEASUREMENT TOOLS IN ASD BY KANDENGWA AND KHOZA [2].
Customer satisfaction Measures the outcome of customer satisfaction. Customer feedback, Net promoter score
Business value delivered Helps the product managers to link their products with their business value. Customer feedback
Quality Measures the conformance of the project with the quality standards Number of defects
Productivity Helps managers to understand how much the team is delivering. Burn-up charts
Measures the amount of work the team has to perform to complete all the planned
Predictability Velocity trend charts
work for the successful delivery of the product.
Helps the project managers understand how the proposed adjustments are
Process improvement Cumulative flow charts
impacting productivity.
Project visibility Helps in sharing project updates and progress with all stakeholders. Dependency charts
Helps the project manager and their teams to set and accomplish goals over a
Project scope Burn-down charts, Kanban boards
specific period.
Helps the project manager to compare the budget with the actual cost of the project Cumulative flow charts, Dependency
Budget versus actual cost
and forecast revenues and expenses. charts
Modern software organizations face rapidly TABLE III. SOFTWARE METRICS, THEIR DESCRIPTION, AND
changing technology, markets, regulations, and other ORGANIZATIONAL LEVEL.
challenges [3]. Since traditional software development Software Organizational
methodologies cannot resolve these challenges, organizations Description
Metrics Level
adopt ASD methodologies and processes [3]. ASD has been
exceptionally successful in small-scale organizations [4], and Story point Measures the outcome of customer
Team
estimation satisfaction.
because of its proven track record, large-scale organizations
are also adopting it. However, implementing ASD in large- Helps the product managers to link
scale software systems is complicated [3] and involves Velocity their products with their business Team
continuous monitoring. [3] interviewed Agile Coaches, Scrum value.
Masters, Product Owners, Managers, Developers, Software Sprint burn-
Helps in measuring customer
Architects, Solution Architects, Business Analysts, and expectations regarding the timely Program
down
Release Train Engineers from 11 different organizations. The delivery of the product.
primary objective of these interviews was to determine the Defects in Measures the conformance of the
Team
software metrics used in large-scale ASD, while the secondary production project with the quality standards
objective was to find the reasons for adopting the software Planned Helps managers to understand how
metrics in large-scale ASD. From the survey data, [3] Program
velocity much the team is delivering.
identified 422 potential metrics used by the organizations. Measures the amount of work the
After removing duplicates and filtering out metrics with Program
team has to perform to complete all
insufficient information, [3] obtained 196 metrics for analysis. velocity per Program
the planned work for the successful
sprint
Afterward, [3] classified these 196 metrics as either Agile or delivery of the product.
Traditional. According to [3], Agile metrics are those metrics Number of Helps the project managers
that satisfy any of the following criteria. features per understand how the proposed
Program
Program adjustments are impacting
Metrics calculated on agile concepts such as story Increment (PI) productivity.
points or user stories. Planned
program Helps in sharing project updates
Metrics related to continuous integration and velocity per and progress with all stakeholders.
Program
delivery. sprint
Helps the project manager and their
Metrics related to agile events like sprint planning or Release burn-
teams to set and accomplish goals Program
sprint review meetings. down
over a specific period.
Metrics related to agile artifacts like the product or Helps the project manager to
sprint backlog. compare the budget with the actual
Test Coverage Program
cost of the project and forecast
[3] has also categorized organizations into four levels revenues and expenses.
based on large-scale ASD and identified the top 10 metrics
used in these organizations. Table III shows these top 10
metrics, their description, and organizational level. The Software quality is one of the fundamental attributes of
organization levels defined by [3] are: ASD [5]. According to [10], quality attributes define software
quality, quantifying these attributes measures quality, and
Team level – Organization consisting of a single metrics are the formulas or functions that measure quality
scrum team of around nine team members. attributes. Quality attributes listed by [10] for defining the
software quality are as follows:
Program level – Organization consisting of multiple
teams that develop one product. This level covers Maintainability
multiple groups of teams that develop sub-products of
one large product. Availability
Reliability Mean time to failure (MTTF) Reliability is measured as the inverse of MTTF
Observability
Simplicity
Testability is measured by observability, simplicity, modularity,
Testability
and stability.
Modularity
Stability