This report entitled "A Systematic Mapping Study of Software Process Metrics in Agile Software Development", submitted by Pollab Ahmed, ID No to Department of Software Engineering, Daffodil International University, has been accepted as satisfactory towards the partial fulfillment of the requirements for the degree of B.Sc . I would also like to thank them for helping me gather useful resources and do my work. I would like to thank my all-batch mates (21st batch) in Software Engineering Department for inspiring me and providing me a good environment to work on my goal.
All my faculty members of the Department of Software Engineering and all the students of this department should also be thanked from the core of my heart. Objective: Since the number of process metrics is not few, I am trying to identify the most appropriate process metrics that will benefit software companies that develop software using agile development models. Methods: In this paper, systematic mapping study is used to identify potential agile process improvement metrics and find the best metrics to use in the agile development process.
Conclusion: The systematic mapping study provides an overview of agile software development metrics and dives further into process metrics. It helps to find process metrics to adopt in software companies and improve the process of agile software development.
Introduction
Process metrics are further classified into different metrics and many of them are already being used by different companies according to their usage and needs. A lot of research had been done on this topic and many measurements found that out as well. I am doing a systematic mapping study in this context to find the best metrics for agile software development process improvement.
Related Work
But the problem is that I need to determine which metrics yield the highest success rate in operations, development, and customer satisfaction. Oza and Korkala [17] divided agile software development into three categories: productivity level, economic level and code level. Although they have further divided this into seven, their main motive is to find good metrics for improving team performance in the agile process.
Ram [23] conducted a multi-case study on the metrics of a process that ensures effective operationalization and is agile. Although agile works in large projects, many small projects use agile process metrics for better results. According to ISO/IEC, a software quality metric is a quantity metric and can be used to measure the value of the features of any software product.
Metrics play a vital role in software development as they ensure the validity of several factors of the developing and already developed product. So finding the right metrics for agile process improvement is a must for software development companies to grow.
Research Methodology
Systematic Mapping Study
In order to get the latest research status of technical debt and technical debt management and to know the concepts thereof, a systematic mapping study was conducted by Zengyang Li et al. Defining research questions is the main goal of systematic mapping study as it manipulates the researchers to create search queries and further studies. By following the research questions, inclusion and exclusion criteria are applied in found resources to get the highest amount of relevant research resources.
Reading only the title and abstract to find keywords relevant to the research saves a lot of time and effort. If abstract and title do not help to find research keywords, introduction and conclusion should be read to gather in-depth concepts about the research. After collecting and classifying all research resources, graphs are used to represent all data to generate reports and mapping studies.
Research Questions and methodology
Research Design
Systematic Mapping Design
Budgen and other researchers [1] agree that the research question is the key point of every systematic mapping study. RQ1 What are the process metrics used by software companies mentioned in the current state of the art. Search queries are used according to the research scope and mediation between my research objective and other research.
Snowball approach [9] has been proven to be the best approach to collect and analyze all the potential keywords. All the potential keywords are identified by observing research titles, abstracts and index terms of a paper. Identify the gap following the research questions and the amount of contribution made in this research area.
Formulation of search queries The following strategy is applied in electronic databases to find potential research papers. This is why, manual and automatic, both searches are used by me for maximum coverage of finding research papers. Inclusion and exclusion criteria are applied to find relevant research papers and omit papers that do not match my research objective.
If the motive of the paper is still unclear, you can study the introduction and conclusion for clarification. In the first step, I review the title and abstract to find potential keywords and ideas about the research paper. If the title and abstract cannot provide enough detail about the research, I have to go to the second stage.
Results and Analysis
From the study of systematic mapping, I have found more than fifteen metrics that have a direct impact on the agile software development process and are used by software companies in the current state of the art. Although some of them have higher and some lower impact rates, their presence makes the agile development process successful. 1 Data quality costs If the data is correct according to the work product or if the accuracy of the data is measured in data quality.
From requirements gathering to software delivery, there will be a lot of customer interaction with the project manager at each stage. But it generally represents the time it takes the software to build from start to finish. The less time it takes to create software than other software, the higher the speed of development.
The scale of work from requirements can be adapted by the team for development purposes. The ratio of the number of defects found in the development phase and in the execution phase. The higher the ratio, the more time is needed in the agile software development process.
If the requirements are clear to understand and implemented by the development team, the development process takes less time. Team members can help each other overcome their weaknesses and contribute to the development process. Padmini and Bandara [18] did a detailed review of process metrics, where the percentage of most commonly used metrics in software companies were included.
By following Table: 5 above, I can see that some of the metrics are studied and practiced more than others. The effective high-level metrics are: Data Quality Cost, Functional Quality Cost, Performance at Delivery, Unit Test Coverage, Development Velocity, and Cycle Completion Velocity. The first goes to companies that practice agile methods, and the second goes to research environments that study agile software development process improvements.
High level effective metrics are highly valued by every company and it is kind of a standard that a company should follow to improve the development process. Each sprint cycle completion time can be observed which helps to measure team performance and find lack of manpower or training sessions of the team members.
Conclusion and future work
Moreover, it helps to show the company's capabilities in developing certain categories of software together with other companies. This systematic mapping study reports the most researched areas and the least researched areas of agile process metrics.
Appendix
In 2016 joint conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement (IWSM-MENSURA) (pp. 1-10). System testing in Agile SW development of electronic components based on automotive industry software.