# Key Performance Indicators for the Integration of the Service-Oriented Architecture and Scrum Process Model for IOT

Authors: Mengze Zheng; Islam Zada; Sara Shahzad; Javed Iqbal; Muhammad Shafiq; Muhammad Zeeshan; Amjad Ali
Journal: Scientific Programming
 (2021)

---

## Abstract

An important aspect in any business process lifecycle is management of the performance, where performance requirements on business processes are specified as Key Performance Indicators (KPIs) with target values which are to be achieved in a certain analysis period. A KPI is a business metric used to measure and evaluate the individual capability, maturity, complexity, and agility of a business process in the development environment. This study designed four general KPIs for the integration of SOA and scrum to bring further advancement in these approaches for IIoT. The study also identified some common metrics which will give help to software developers and, especially, to those who want to apply SOA and scrum integration. These metrics will play a critical role of bridging the strategy and concepts of improvements with operational activities. The identified KPIs will help to measure the business agility, quality and value, team efficiency, and complexity of scrum- and SOA based projects. Software development organizations can also practice these KPIs to know where to focus their resources to deliver the ultimate business profit. So, software business organizations could better align their business projects and IT investments with the rapid market change and deliveries.


---

## Body

## 1. Introduction

In the present era of dynamic business environment, flexibility to welcome change and adapting to it efficiently and cost effectively is pertinent to the success of any business organization. Flexibility and change adoption are key attributes of Service-Oriented Architecture (SOA) and agile software development processes [1]. Although the notion of agility is quite visible on both sides, still the integration of the two diverse concepts (architectural frame work and development process) should be well thought of before employing them for a software development project [2]. Therefore, use of an appropriate agile process for the SOA-based application development to adopt major requirements, modifications, and changes even during application building along with the conservation of software superiority and quality is essential [3]. Scrum is one of the agile software developments techniques, through which a system is developed efficiently and rapidly by means of regular, frequent, and complete releases permitting the participants and stakeholders in the project to get their hands on the application in order to review and test it through a retrospective meeting. A prototype concept or model can be developed into a useful progressive and creative system by means of an iterative and incremental process whereby feedback is given by the stakeholders, based upon the rapid successive releases of the software.The scrum method openly addresses design and goes up with disparaging such as big design up print (such as the water fall approach) to depress this attitude. While most Service-Oriented Architecture (SOA) teams are almost predominantly serviceable players gathered around circles of services. The SOA’s nature inspires specific team makeup and styles of communication in the interior teams which are the dominion of policies such as scrum practices. We can say that scrum is like the human hands that work in the mitt. While SOA is like the mitt, where the scope is enterprise wide, the scrum process is about the mode you can built the application part that is supported by software. Up to our study effort, most of the scrum and SOA principles are not in conflict with each other. Applications development thorough scrum without a clear and strong idea of the aims of the organization will be useless. SOA without a strong image of exactly how to design and build it genuinely using scrum process model rules is a waste of resource and time.Estimation and measurement of system development cost and revenue impact, as well as other scrum and SOA metrics, is vital to any prominent business organization. Measuring the value and tracking changes to the metrics are critical as your system’s services progress grows and its range increases. A confirmed manner to prove an SOA and scrum’s industry value is through their respective KPIs. We can say that metrics are the language of KPIs, KPIs using it where your business associates understand it. These KPIs can give the means to measure the agility, complexity, efficiency, and value of the scrum and SOA team for those who want to use the scrum and SOA combination. We have identified sixteen different metrics for SOA and scrum which are discussed in detail in the coming section of this paper. Some of these are most important to keep on track the business value for the cross combination of scrum and SOA. In light of the using the SOA and scrum combination, we have combined the individually identified metrics into four common metrics, which make the KPIs for cross combination of SOA and scrum. The team velocity, business agility, product quality, and effort review become the Key Performance Indicators (KPIs) for the scrum and SOA development approach (SSDA).The first part of this paper generally explains the SOA and scrum as an agile process model, and the secondary source for this study is the existence work of different scholars which is discussed as a literature review in the second part. The identified scrum, SOA metrics, and the integration of these two approaches are discussed in the third and fourth sections. The identified KPIs are presented in the fifth section. The sixth part of this study describes the analysis and discussion, while conclusions, implications, and limitations and future work are presented in sections seven, eight, and nine, respectively.


## 2. Literature Review

Researchers and professionals have a mixed opinion about the estimation and measurement, similarity, and compatibility of the scrum and SOA approaches. Critics emphasize differences among SOA and agile approaches, arguing that SOA and agile are standing at different development directions: SOA is an architecture and agile is a methodology [4], SOA working in a top-down manner and agile as inherently a bottom-up approach [5]. SOA is an architectural framework and follows a set of principles, whereas agile is a process model and more at the practice level. Some of the researchers also claim that SOA-based systems are developed and deployed differently from traditional developments [1]. Also, there are many challenges such as stockholders involvement, business and IT alignment, and reuse of assets. To overcome such type of problems, agility and service orientation are better integrated. It is notable that scrum and SOA share similar concerns, such as responsiveness to changes, new ways of working, flexibility, and business understanding [6]. Different authors discussed these two terminologies and their in titrations in different ways, which are discussed individually in the following subsections as:


### 2.1. Service-Oriented Architecture (SOA)

SOA is an architectural framework and approach to design, develop, manage, and deploy a software application and software infrastructure in which all applications are structured into business logic called services that are network executable and accessible. In other words, SOA agrees to the integration of applications, users, and existing system into a flexible architecture that can easily accommodate changes when it is needed in a system [7]. SOA is regarded as one of the best approaches for distributed application development.SOA allows reusing the functionality of existing systems, rather than building again from scratch. This feature of reusability in the SOA-based applications maximizes economic benefits for the organization [8]. Each service in SOA performs autonomously but is not isolated from the whole. Each service encapsulates a specific logic in the problem domain. The main features of SOA are reusability, loose coupling, service contract, autonomy, abstraction, discoverability, and statelessness [9]. SOA agrees to the integration of applications, users, and existing system into a flexible architecture that can easily accommodate changes when it is needed in a system [10]. SOA is regarded as one of the best approaches for distributed application development [11].


### 2.2. Scrum as Agile Software Development

An agile process model tends to focus on iterations and client suggestions to improve performance and allow for the predictability of varying requirements. Agile software development (ASD) is the development process through which a system is developed efficiently and rapidly by means of regular, frequent, and complete releases permitting the participants and stakeholders in the project to get their hands on the application in order to review and test it through an agile retrospective meeting. A prototype concept or model can be developed into a useful progressive and creative system by means of an iterative and incremental process whereby feedback is given by the stakeholders, based upon the rapid successive releases of the software. Scrum is an agile methodology which is the most standard way of introducing agility due to its flexibility and straight forwardness [12] and a popular management agile method in industry. Agile development of applications in an enterprise surrounding can be challenging because of the compound nature team members and their environments [13]. The agile software development process facilitates discovery of better ways of developing software by promoting individual and teamwork [14]. Agile processes are planned to maintain early and fast development of software application. This is made possible by dividing the development process into sprints (or iterations) where sprint stresses on the delivery of working product that provides value to both the project and customer [15, 16]. Scrum, as the most commonly used agile process, highlights empirical feedback, team self-management, and struggling to build properly tested product increments within short iterations [17].


### 2.3. Integration of Scrum and SOA and KPIs

Flexibility and change adoption are key attributes for Service-Oriented Architecture (SOA) and agile software development processes. Although the notion of agility is quite visible on both sides, still the integration of the two diverse concepts (architectural frame work and development process) should be well thought of before employing them for a software development project. Therefore, the use of an appropriate agile process for the SOA-based application development, to adopt major requirements modifications and changes even during application building along with the conservation of software superiority and quality, is essential [18]. SOA and scrum are both the development approaches but following different directions. In the services development scenario, the SOA approach follows the bottom-top approach while scrum follows the top-bottom approach as using a process development methodology. Here, some questions arise such as how these different approaches can be compatible and measurable with each other when applying on the same task simultaneously? Is SOA also following the same measurement approach like the scrum process? If the answer is yes, then why not to use the same measurement approach for both scrum and SOA? How these two approaches could be integrated with each other?Today, estimation and measurement of system development cost and revenue impact, as well as other scrum and SOA metrics, is vital to any prominent business organization. Measuring the value and tracking changes to the metrics are critical as your system’s services progress grows and its range increases. A sure way to validate software development business value is through measurements metric which will make the Key Performance indicators (KPIs). KPI uses some type of terminologies or language that can be understood by your business colleagues, which are metrics. They can provide you the resources and knowledge to measure an SOA and scrum-related project to real business enlargements.Here, we are using metrics to estimate software development progress in getting a continuing vision and short-range quarterly objectives. These metrics can make KPIs which will be the leading and guidance force that could synchronize goals with daily operating performance. Different authors have discussed different metrics for SOA and scrum individually using different terminologies, but among those metrics, we have discussed the most important metrics which can give more benefits to market and those people applying the combination of SOA and scrum in a software development project. We have discussed the most important scrum and SOA metrics which are summarized in this section.


### 2.4. Research Problem and Research Contribution

Although, SOA allows reusing the functionality of existing systems, rather than building again from scratch. This feature of reusability in SOA-based applications maximizes economic benefits for the organizations [3]. Each service in SOA performs autonomously but is not isolated from the whole. Each service encapsulates a specific logic in the problem domain. The other features of SOA are loose coupling, service contract, autonomy, abstraction, discoverability, and statelessness, while scrum is an agile methodology which is a standard way of introducing agility due to its flexibility and straight forwardness [4]. It is a popular agile management method in industry. Agile development of applications in an enterprise surrounding can be challenging because of the compound nature of team members and their environment [5]. The scrum process facilitates discovering better ways of developing software by promoting individuals, as well as teams [6].Although SOA and agile approaches are generally viewed with related concerns, still there is no clear definition of organization and setup of both approaches in a single environment. Very little information is provided as to what will be the impact of this integrated implementation on the important factors such as productivity, quality, agility, and innovativeness. Understanding of key performance indicators of the maturity of scrum and SOA integration is also an issue. Therefore, the proposed study is aimed at analyzing the compatibility of scrum and SOA with rules and practices for scrum and SOA integrated application. This can be carried out by defining KPIs of the integrated scrum and SOA environment using which an organization can go ahead with a successful management of the SOA project using the scrum process model. SOA and scrum are two different approaches that follow different directions. In the services development scenario, the SOA approach follows the top-down approach (services are built on the top of the SOA system) while scrum follows the bottom-up approach (starting from initial planning to prototype delivery) as using a process development methodology [19, 20]. Question arises that how these different approaches are compatible with each other when employed together for a development process? Another question is whether SOA also follows the agility just like scrum process. If the answer is yes, then how? Finally, how these two approaches could be integrated with each other to get benefits offered by both individually?In this study, an SOA based application development project is selected as a case study, for which the scrum process model is used as a development methodology. This SOA-based industrial project is named as M4S (Mineral resource, Mapping, Modeling, and Management System). The project development and deployment perspective includes eight core modules that constitute the overall project framework. Large modules are subdivided into smaller modules for better organization and management. The system is developed following standard phases of the scrum development approach. The researcher has participated in this project to analyze and evaluate the development processes. As already discussed that scrum and SOA are working on different directions, the researcher has analyzed the compatibility, diversity, and similarity of these different approaches. Scrum and SOA metrics are analyzed to measure their flexibility, complexity, agility, and team efficiency. After the analysis of scrum and SOA metrics, four general KPIs are designed for the measurement of these different approaches.The identified KPIs are team velocity, business agility, quality assurance, and effort review. These KPIs will help software business organizations to understand where to commit resources in order to deliver the optimal business value. It will also help to align software development business projects and IT investments with respect to market change. These KPIs will guide practitioners to measure and improve their integrated scrum and SOA approach.


## 2.1. Service-Oriented Architecture (SOA)

SOA is an architectural framework and approach to design, develop, manage, and deploy a software application and software infrastructure in which all applications are structured into business logic called services that are network executable and accessible. In other words, SOA agrees to the integration of applications, users, and existing system into a flexible architecture that can easily accommodate changes when it is needed in a system [7]. SOA is regarded as one of the best approaches for distributed application development.SOA allows reusing the functionality of existing systems, rather than building again from scratch. This feature of reusability in the SOA-based applications maximizes economic benefits for the organization [8]. Each service in SOA performs autonomously but is not isolated from the whole. Each service encapsulates a specific logic in the problem domain. The main features of SOA are reusability, loose coupling, service contract, autonomy, abstraction, discoverability, and statelessness [9]. SOA agrees to the integration of applications, users, and existing system into a flexible architecture that can easily accommodate changes when it is needed in a system [10]. SOA is regarded as one of the best approaches for distributed application development [11].


## 2.2. Scrum as Agile Software Development

An agile process model tends to focus on iterations and client suggestions to improve performance and allow for the predictability of varying requirements. Agile software development (ASD) is the development process through which a system is developed efficiently and rapidly by means of regular, frequent, and complete releases permitting the participants and stakeholders in the project to get their hands on the application in order to review and test it through an agile retrospective meeting. A prototype concept or model can be developed into a useful progressive and creative system by means of an iterative and incremental process whereby feedback is given by the stakeholders, based upon the rapid successive releases of the software. Scrum is an agile methodology which is the most standard way of introducing agility due to its flexibility and straight forwardness [12] and a popular management agile method in industry. Agile development of applications in an enterprise surrounding can be challenging because of the compound nature team members and their environments [13]. The agile software development process facilitates discovery of better ways of developing software by promoting individual and teamwork [14]. Agile processes are planned to maintain early and fast development of software application. This is made possible by dividing the development process into sprints (or iterations) where sprint stresses on the delivery of working product that provides value to both the project and customer [15, 16]. Scrum, as the most commonly used agile process, highlights empirical feedback, team self-management, and struggling to build properly tested product increments within short iterations [17].


## 2.3. Integration of Scrum and SOA and KPIs

Flexibility and change adoption are key attributes for Service-Oriented Architecture (SOA) and agile software development processes. Although the notion of agility is quite visible on both sides, still the integration of the two diverse concepts (architectural frame work and development process) should be well thought of before employing them for a software development project. Therefore, the use of an appropriate agile process for the SOA-based application development, to adopt major requirements modifications and changes even during application building along with the conservation of software superiority and quality, is essential [18]. SOA and scrum are both the development approaches but following different directions. In the services development scenario, the SOA approach follows the bottom-top approach while scrum follows the top-bottom approach as using a process development methodology. Here, some questions arise such as how these different approaches can be compatible and measurable with each other when applying on the same task simultaneously? Is SOA also following the same measurement approach like the scrum process? If the answer is yes, then why not to use the same measurement approach for both scrum and SOA? How these two approaches could be integrated with each other?Today, estimation and measurement of system development cost and revenue impact, as well as other scrum and SOA metrics, is vital to any prominent business organization. Measuring the value and tracking changes to the metrics are critical as your system’s services progress grows and its range increases. A sure way to validate software development business value is through measurements metric which will make the Key Performance indicators (KPIs). KPI uses some type of terminologies or language that can be understood by your business colleagues, which are metrics. They can provide you the resources and knowledge to measure an SOA and scrum-related project to real business enlargements.Here, we are using metrics to estimate software development progress in getting a continuing vision and short-range quarterly objectives. These metrics can make KPIs which will be the leading and guidance force that could synchronize goals with daily operating performance. Different authors have discussed different metrics for SOA and scrum individually using different terminologies, but among those metrics, we have discussed the most important metrics which can give more benefits to market and those people applying the combination of SOA and scrum in a software development project. We have discussed the most important scrum and SOA metrics which are summarized in this section.


## 2.4. Research Problem and Research Contribution

Although, SOA allows reusing the functionality of existing systems, rather than building again from scratch. This feature of reusability in SOA-based applications maximizes economic benefits for the organizations [3]. Each service in SOA performs autonomously but is not isolated from the whole. Each service encapsulates a specific logic in the problem domain. The other features of SOA are loose coupling, service contract, autonomy, abstraction, discoverability, and statelessness, while scrum is an agile methodology which is a standard way of introducing agility due to its flexibility and straight forwardness [4]. It is a popular agile management method in industry. Agile development of applications in an enterprise surrounding can be challenging because of the compound nature of team members and their environment [5]. The scrum process facilitates discovering better ways of developing software by promoting individuals, as well as teams [6].Although SOA and agile approaches are generally viewed with related concerns, still there is no clear definition of organization and setup of both approaches in a single environment. Very little information is provided as to what will be the impact of this integrated implementation on the important factors such as productivity, quality, agility, and innovativeness. Understanding of key performance indicators of the maturity of scrum and SOA integration is also an issue. Therefore, the proposed study is aimed at analyzing the compatibility of scrum and SOA with rules and practices for scrum and SOA integrated application. This can be carried out by defining KPIs of the integrated scrum and SOA environment using which an organization can go ahead with a successful management of the SOA project using the scrum process model. SOA and scrum are two different approaches that follow different directions. In the services development scenario, the SOA approach follows the top-down approach (services are built on the top of the SOA system) while scrum follows the bottom-up approach (starting from initial planning to prototype delivery) as using a process development methodology [19, 20]. Question arises that how these different approaches are compatible with each other when employed together for a development process? Another question is whether SOA also follows the agility just like scrum process. If the answer is yes, then how? Finally, how these two approaches could be integrated with each other to get benefits offered by both individually?In this study, an SOA based application development project is selected as a case study, for which the scrum process model is used as a development methodology. This SOA-based industrial project is named as M4S (Mineral resource, Mapping, Modeling, and Management System). The project development and deployment perspective includes eight core modules that constitute the overall project framework. Large modules are subdivided into smaller modules for better organization and management. The system is developed following standard phases of the scrum development approach. The researcher has participated in this project to analyze and evaluate the development processes. As already discussed that scrum and SOA are working on different directions, the researcher has analyzed the compatibility, diversity, and similarity of these different approaches. Scrum and SOA metrics are analyzed to measure their flexibility, complexity, agility, and team efficiency. After the analysis of scrum and SOA metrics, four general KPIs are designed for the measurement of these different approaches.The identified KPIs are team velocity, business agility, quality assurance, and effort review. These KPIs will help software business organizations to understand where to commit resources in order to deliver the optimal business value. It will also help to align software development business projects and IT investments with respect to market change. These KPIs will guide practitioners to measure and improve their integrated scrum and SOA approach.


## 3. KPIs for Scrum and SOA Integration

An important aspect in the business process lifecycle is estimation, measurement, and management of the performance of business processes. Performance requirements on business processes are specified as Key Performance Indicators (KPIs) with target values which are to be achieved in a certain analysis period [21]. The KPI is a business metric which measures the individual capability, maturity, complexity, and agility of a business process in development environment. To bring further advancement in both SOA and agile approaches, we have identified some common metrics which might give help to software developers and, especially, to those who want to apply SOA and agile combination, as metrics plays the critical role of bridging the strategy and concepts of improvements with operational activities [22, 23]. It encapsulates the process, people, tools, and techniques that result in seamless reporting and the governance of the metrics to the required stakeholders including the executive leadership that eventually owns and directs Continual Service Improvement in an organization. Metrics is concerned with the process, procedures, tools, and templates that integrate to provide the benefits to the organization.The main purpose of using metrics for the software development process is(i)
To align business objectives with IT(ii)
To help achieve compliance requirements for business operations(iii)
To drive operational excellence of IT servicesSOA and scrum metrics are designed to measure and evaluate the complexity, agility, effort estimation, and flexibility of an organization’s business solution [64]. These metrics are grouped into two major categories: scrum metric and agile SOA metrics, which are depicted in Figures1 and 2.Figure 1
Scrum metrics.Figure 2
SOA metrics.


### 3.1. Scrum Metrics

The flexibility and ability to quickly respond to market fluctuations makes agile development methods attractive for companies operating in a market-driven context, despite the fact that the long-term impact of adopting these principles and their applicability in the market-driven context are, to a large extent, unknown. Existing studies and experience reports from application of agile methods are mostly isolated to evaluating the performance of these methods on software development activities, such as increasing the developer’s efficiency and producing better quality code. For this purpose, this study identified and analyzed the eight scrum metrics given in Table1, which will keep a scrum team on track, where X1, X2, X3, X4, X5, X6, X7, and X8 represent the completed stories vs. committed stories, team velocity, quality delivered to the customer, team enthusiasm, proper and improper use of scrum practices, retrospective process improvement, team communication, and reduction in the project and maintenance expenses eighth metric, respectively.Table 1
Summary of the scrum.
Scrum metricsDescriptionCompleted stories vs. committed stories (X1)This metric is capable of identifying the team capabilities to compare and measure the committed stories planned per sprint and actual progress of scrum team that how many stories are completed by the team per sprintTeam velocity (X2)The velocity metric measures the consistency of the team's estimates from sprint to sprint. The measure is made by comparing story points completed in this sprint with points completed in the previous sprintQuality delivered to the customer (X3)This metric is related to the efficiency and skills of developers, customer needs, and project requirements. In this metric, we measure whether the product is built according to the customer needs or not and does every sprint provide value to the customer and become a potentially releasable piece of the product?Team enthusiasm (X4)The enthusiasm measurement is carried out by observing various sprint meetings or simply asking team members the following questions included in a questionnaire which was distributed among the team members: Do you feel happy? If not, then why? How motivated do you feel?Proper and improper use of scrum practices (X5)This metric measures whether team members follow the scrum rules and manifes properly or notRetrospective process improvement (X6)This type of metrics measures the team's capability to revise, within the scrum process improvement, context, and practices, its development process to make it more effective for the coming sprintTeam communication (X7)This metrics is an individual measure of how are the product owner, scrum master, customers, and other team members directed straightforward and exposed to communications. The scrum master’s responsibility was to observe and listen to the team members and product owner, and other stockholders will get indications as how everyone is well collaborating and communicating throughout the sprintReduction in the project and maintenance expenses (X8)This metric will be used to compute the intact project's expenses avoidance amount and just sum the total expenses for all the SOA services being leveraged. Also, to predict the total potential expenses evading at any stage and point of stage, we multiply the number of times each SOA service is planned to be leveraged by its designed expenses and sum these total


### 3.2. SOA Metrics

In the selection of applicable metrics and estimated KPIs to define the level of realization of business organization goals, during deployment, system factors need to be perfected to boost SOA KPIs. Also, the system managing arrangement is set up to bring together dimensions to support demarcated metrics, monitoring, service-level agreement parameters, and runtime reworking. The purpose of SOA metrics is to measure and evaluate the complexity, agility, effort estimation, and flexibility of the SOA and agile solution system. SOA measurements are taken to acquire the maximum consideration and openly relate to successful SOA implementations in any development organization. There are a small number of measurement regions that should be looked into by any group and could be used as a starting point. This study also identified the eight SOA metrics which are given in Table2, where Y1, Y2, Y3, Y4, Y5, Y6, Y7, and Y8 represent the revenue per service, development time for a service, service quality assurance, new created and used as a percentage of total, service accessibility and usability, average time to service development, number of services reused, and violations of architecture policies, respectively.Table 2
Summary of the SOA.
SOA metricsDescriptionRevenue per service (Y1)This metric is concerned with the release of a sprint; it is the imperative measure for a business organization as income for a service. This quantity takes up together the charge an organization provides and the output/efficiency accomplished based on the charge generated by the service baseDevelopment time for a service = (Y2)This type of metrics measures the time required for delivering a new application, process, or service. As each scrum story card was designed in such a way that it consists of only one service/piece of work and each story was assigned 10 to 16 hours to be completed, some services were finished before the specified time and some were finished after the specified timeService quality assurance (Y3)In software engineering, the complexity is generally measuring through cycloramic complexity, and the cycloramic complexity of software is the single measurement that will regulate if your system’s service is maintainable and testable. Many authors claimed that services with cycloramic complexity greater than fifty are not testable and often result in ten to twenty percent more maintenance effort than those services whose cycloramic complexity is less than tenNew created and used as a percentage of total (Y4)Organizations with poor SOA domination and governance usually see out-of-control service growth, by means of high ratio of new services as a percentage of total services. Uncontrolled software development scrum teams often look to build new service after new service, not thinking about redesigning the existing established services in order to achieve the desired value. Not only does this drive increase the services total cost but also decrease the average revenue per service, showing low development productionService accessibility and usability (Y5)This metric defines the time in percent at which percent the services are used by the end users. It is the measurement of the complete build and delivered services system, from the bugs-free services to functional data centers. Less than 99.9% needs to be carried on instantly since they bear customer agreementAverage time to service development (Y6)Average time to service development provides a statistical calculation for measurement of services with some certainty of the mean time to arise an individual serviceNumber of services reused (Y7)Here, the reusability of service means reusing of existing services when they are needed in other parts of the SOA system because many services are accruing in multiple places which are already build for that purpose. Reusability of services is the main property of the SOA system, through which we can get the agility and can remove the complexity, as well as the service development time, cost, and resourcesViolations of architecture policies (Y8)This measure defines the violations of architecture policies during the development process and its frequencies that how much rules and regulations are violated. The development process will have control points that will check adherence to the specific architecture policies that have been selectedThese are the measures that appear to acquire the maximum consideration and openly relate to fruitful SOA employments and implementation using scrum as the development process model.


## 3.1. Scrum Metrics

The flexibility and ability to quickly respond to market fluctuations makes agile development methods attractive for companies operating in a market-driven context, despite the fact that the long-term impact of adopting these principles and their applicability in the market-driven context are, to a large extent, unknown. Existing studies and experience reports from application of agile methods are mostly isolated to evaluating the performance of these methods on software development activities, such as increasing the developer’s efficiency and producing better quality code. For this purpose, this study identified and analyzed the eight scrum metrics given in Table1, which will keep a scrum team on track, where X1, X2, X3, X4, X5, X6, X7, and X8 represent the completed stories vs. committed stories, team velocity, quality delivered to the customer, team enthusiasm, proper and improper use of scrum practices, retrospective process improvement, team communication, and reduction in the project and maintenance expenses eighth metric, respectively.Table 1
Summary of the scrum.
Scrum metricsDescriptionCompleted stories vs. committed stories (X1)This metric is capable of identifying the team capabilities to compare and measure the committed stories planned per sprint and actual progress of scrum team that how many stories are completed by the team per sprintTeam velocity (X2)The velocity metric measures the consistency of the team's estimates from sprint to sprint. The measure is made by comparing story points completed in this sprint with points completed in the previous sprintQuality delivered to the customer (X3)This metric is related to the efficiency and skills of developers, customer needs, and project requirements. In this metric, we measure whether the product is built according to the customer needs or not and does every sprint provide value to the customer and become a potentially releasable piece of the product?Team enthusiasm (X4)The enthusiasm measurement is carried out by observing various sprint meetings or simply asking team members the following questions included in a questionnaire which was distributed among the team members: Do you feel happy? If not, then why? How motivated do you feel?Proper and improper use of scrum practices (X5)This metric measures whether team members follow the scrum rules and manifes properly or notRetrospective process improvement (X6)This type of metrics measures the team's capability to revise, within the scrum process improvement, context, and practices, its development process to make it more effective for the coming sprintTeam communication (X7)This metrics is an individual measure of how are the product owner, scrum master, customers, and other team members directed straightforward and exposed to communications. The scrum master’s responsibility was to observe and listen to the team members and product owner, and other stockholders will get indications as how everyone is well collaborating and communicating throughout the sprintReduction in the project and maintenance expenses (X8)This metric will be used to compute the intact project's expenses avoidance amount and just sum the total expenses for all the SOA services being leveraged. Also, to predict the total potential expenses evading at any stage and point of stage, we multiply the number of times each SOA service is planned to be leveraged by its designed expenses and sum these total


## 3.2. SOA Metrics

In the selection of applicable metrics and estimated KPIs to define the level of realization of business organization goals, during deployment, system factors need to be perfected to boost SOA KPIs. Also, the system managing arrangement is set up to bring together dimensions to support demarcated metrics, monitoring, service-level agreement parameters, and runtime reworking. The purpose of SOA metrics is to measure and evaluate the complexity, agility, effort estimation, and flexibility of the SOA and agile solution system. SOA measurements are taken to acquire the maximum consideration and openly relate to successful SOA implementations in any development organization. There are a small number of measurement regions that should be looked into by any group and could be used as a starting point. This study also identified the eight SOA metrics which are given in Table2, where Y1, Y2, Y3, Y4, Y5, Y6, Y7, and Y8 represent the revenue per service, development time for a service, service quality assurance, new created and used as a percentage of total, service accessibility and usability, average time to service development, number of services reused, and violations of architecture policies, respectively.Table 2
Summary of the SOA.
SOA metricsDescriptionRevenue per service (Y1)This metric is concerned with the release of a sprint; it is the imperative measure for a business organization as income for a service. This quantity takes up together the charge an organization provides and the output/efficiency accomplished based on the charge generated by the service baseDevelopment time for a service = (Y2)This type of metrics measures the time required for delivering a new application, process, or service. As each scrum story card was designed in such a way that it consists of only one service/piece of work and each story was assigned 10 to 16 hours to be completed, some services were finished before the specified time and some were finished after the specified timeService quality assurance (Y3)In software engineering, the complexity is generally measuring through cycloramic complexity, and the cycloramic complexity of software is the single measurement that will regulate if your system’s service is maintainable and testable. Many authors claimed that services with cycloramic complexity greater than fifty are not testable and often result in ten to twenty percent more maintenance effort than those services whose cycloramic complexity is less than tenNew created and used as a percentage of total (Y4)Organizations with poor SOA domination and governance usually see out-of-control service growth, by means of high ratio of new services as a percentage of total services. Uncontrolled software development scrum teams often look to build new service after new service, not thinking about redesigning the existing established services in order to achieve the desired value. Not only does this drive increase the services total cost but also decrease the average revenue per service, showing low development productionService accessibility and usability (Y5)This metric defines the time in percent at which percent the services are used by the end users. It is the measurement of the complete build and delivered services system, from the bugs-free services to functional data centers. Less than 99.9% needs to be carried on instantly since they bear customer agreementAverage time to service development (Y6)Average time to service development provides a statistical calculation for measurement of services with some certainty of the mean time to arise an individual serviceNumber of services reused (Y7)Here, the reusability of service means reusing of existing services when they are needed in other parts of the SOA system because many services are accruing in multiple places which are already build for that purpose. Reusability of services is the main property of the SOA system, through which we can get the agility and can remove the complexity, as well as the service development time, cost, and resourcesViolations of architecture policies (Y8)This measure defines the violations of architecture policies during the development process and its frequencies that how much rules and regulations are violated. The development process will have control points that will check adherence to the specific architecture policies that have been selectedThese are the measures that appear to acquire the maximum consideration and openly relate to fruitful SOA employments and implementation using scrum as the development process model.


## 4. Integration of Scrum and SOA

As already discussed, SOA and scrum are two different approaches that follow different directions. In the services development scenario, the SOA approach follows the top-down approach (services are building in the top of SOA system) while scrum follows the bottom-up approach (starting from initial planning to prototype delivery) as using a process development methodology [19, 20]. Question arises that how these different approaches are compatible with each other when employed together for a development process? Another question is whether SOA also follows the agility just like the scrum process. If the answer is yes, then how? Finally, how these two approaches could be integrated with each other to get benefits offered by both individually? This section refers to these questions and also discusses SOA and scrum metrics having commonalities. This study identified different metrics; among them, some are most important which can provide more value to business and to those whose aim is to use SOA and scrum together in a software development venture. Some of the scrum and SOA metrics are used for common purpose sharing common features. Table 3 shows the scrum and SOA metrics which share some of the common features and goals.Table 3
Scrum and SOA metrics which share the common features and goals.
S.NScrumSOACommonalities1Completed stories vs. planned storiesNew created and used as a percentage of total servicesThe main purpose of these two metrics is to measure the ratio and percentage of completed work (services) developed in one sprint2Team velocityDevelopment time and average development time to develop a serviceThese three metrics measure the team progress in terms of per sprint and time required for a service which is to be completed in a particular sprint within time. So, these metrics could be combined into a team velocity metric which will be considered as a metric for SOA and scrum integration3Quality delivered to the customerService quality assuranceThe aim of this metric is to measure the service quality when applying the scrum development process model. The quality is a common feature for these both metrics which can be combined to make a metric for SOA and scrum integrations measurements4Team enthusiasm4. Violation of architecture policiesWhen the team members are happy, satisfied, and working in a comfortable environment, then they will communicate with each other friendly and collaboratively. They will have full attention and focus on product development, and through this, product quality will remain standard. Also, they will willingly follow the preplanned architecture policies and rules. We can also see that when the scrum team is happy and in a restful environment, they can develop large number of services of high quality in a small amount of time. So, we can say that the “team enthusiasm and communication” metrics of scrum and “violations of architecture policies” and “average time to service development” metrics are dependent on each other; these can have an effect on project when these are not concentrated. These metrics are used to measure to measure the behavior that how they follow rules and policies in the development environment5Team communication5. Average time to service development6Retrospective process improvementService accessibility and usabilityThese two metrics can be integrated together to represent a common metric for both scrum and SOA because the retrospective meeting is held at the last of all practices of scrum in which the overall activities could be revived. When the services are developed in a sprint, a review meeting will be arranged in which we can test the developed service functionality and usability that how to access the service and how it is working7Technical debt managementReduction in the project and maintenance expenseThe main purpose of these two metrics is to reduce the product development cost through best management and utilization of resources and team members’ skills. These two metrics can be integrated in one common metric for the combined use of scrum and SOA approaches


## 5. Key Performance Indicators of Scrum and SOA

Measuring of revenue and other process, product, and project metrics is essential for the development and improvement of software development organizations [24]. Measuring scrum and SOA individually and tracking changes to these metrics are very difficult but critical for business process success and improvement [25]. The success and improvement of scrum and SOA integration can be analyzed through their respective KPIs, which are designed from their individual metrics. KPIs translate the business performance in terms where the business associates understand. These KPIs provide a way to measure the agility, complexity, efficiency, and value of scrum and SOA teams [26]. This study has identified different metrics for scrum and SOA (discussed in detail in the previous section). The individual metrics of scrum and SOA which share features are mapped into common metrics to provide KPIs for scrum and SOA integration. The four resulting KPIs are meant to keep the business value on track for the cross combination of scrum and SOA. Therefore, Team Velocity (TV), Business Agility (BA), Product Quality (PQ), and Effort Review (ER) are the key performance indicators for the integrated scrum and SOA approach (ISSA), which are the scrum development process applied to develop SOA, based software application. The summary of these KPIs is given in Table 4.Table 4
Integrated KPIs for scrum and SOA.
S. NOName of the KPICommon metrics of scrum and SOA1Team velocity (TV)(i) Team velocity(ii) Completed stories vs. committed stories(iii) New services created and used, as the percentage of total services(iv) Services development time2Business agility (BA)(i) Development time of a service(ii) Team velocity(iii) Team enthusiasm(iv) Revenue per sprint3Product quality (PQ)(i) Quality delivered(ii) Service quality assurance(iii) Service accessibility and usage(iv) Revenue per service4Effort review (ER)(i) Retrospective meeting(ii) Violation of architecture policies(iii) Team communication(iv) EnthusiasmDetails about each KPI are provided in the following sections.


### 5.1. Team Velocity (TV)

Table4 identifies team velocity as the first KPI which is evaluated from the combined scrum and SOA metrics, namely, team velocity, completed stories versus committed stories, new services created and used as percentage of total services, and services development time. All of these metrics measure output performance of teams or, in other words, production of a team, which is a common goal of the scrum and SOA approach. Therefore, these metrics are combined in the form of an integrated KPI for the scrum and SOA approach. Figure 3 and equation (1) show participating factors of team velocity.(1)TV=X1+X2+Y2+Y4.Figure 3
KPI No.3. Participating factor of SOA and scrum in team velocity.


### 5.2. Business Agility

Figure4 and equation (2) show the participating factors of SOA and scrum in “Business Agility.”(2)BA=X1+X7+Y1+Y2.Figure 4
Participating factors of SOA and scrum in “Business Agility.”Business agility is the second KPI which is designed from the combined of scrum and SOA metrics named as development time of a service, team velocity, team enthusiasm, and revenue per sprint. This KPI shows rapid development of SOA services and scrum “team velocity.” It shows the numbers of story points completed by the scrum team in a particular sprint. Scrum and SOA agility depend upon the progress of the scrum team and service development. Business agility and participating metrics are shown in Figure4.


### 5.3. Product Quality

(3)PQ=X1+Y1+Y3+Y5.The four metrics of scrum and SOA, namely, quality delivered to the customer, service quality assurance, service accessibility and usage, and revenue per sprint indirectly measure the software product quality. Therefore, these metrics are mapped to define product quality KPI, which will represent the service quality delivered by the scrum team in a specific sprint within time and budget. The mapped metrics to present the product quality KPI are shown in Figure5.Figure 5
Participating factors of SOA and scrum in “Product Quality.”


### 5.4. Effort Review

Figure6 and equation (4) show the participating factors of SOA and scrum in “Effort Review.”(4)ER=X4+X6+X7+Y8.Figure 6
Participating factors of SOA and scrum in “Effort Review.”Effort review is the fourth KPI designed by combining scrum and SOA metrics such as retrospective meeting, violation of architecture policies, team communication, and enthusiasm metrics. This KPI will present the review of a sprint’s daily scrum process which examines the performance in previous sprints with respect to people, relationships, process tools, and violation of architecture policies during the development of SOA services. It will also present the scrum team’s behavior and communication that they followed in the development process. This KPI along with its mapped metrics is depicted in Figure6.


## 5.1. Team Velocity (TV)

Table4 identifies team velocity as the first KPI which is evaluated from the combined scrum and SOA metrics, namely, team velocity, completed stories versus committed stories, new services created and used as percentage of total services, and services development time. All of these metrics measure output performance of teams or, in other words, production of a team, which is a common goal of the scrum and SOA approach. Therefore, these metrics are combined in the form of an integrated KPI for the scrum and SOA approach. Figure 3 and equation (1) show participating factors of team velocity.(1)TV=X1+X2+Y2+Y4.Figure 3
KPI No.3. Participating factor of SOA and scrum in team velocity.


## 5.2. Business Agility

Figure4 and equation (2) show the participating factors of SOA and scrum in “Business Agility.”(2)BA=X1+X7+Y1+Y2.Figure 4
Participating factors of SOA and scrum in “Business Agility.”Business agility is the second KPI which is designed from the combined of scrum and SOA metrics named as development time of a service, team velocity, team enthusiasm, and revenue per sprint. This KPI shows rapid development of SOA services and scrum “team velocity.” It shows the numbers of story points completed by the scrum team in a particular sprint. Scrum and SOA agility depend upon the progress of the scrum team and service development. Business agility and participating metrics are shown in Figure4.


## 5.3. Product Quality

(3)PQ=X1+Y1+Y3+Y5.The four metrics of scrum and SOA, namely, quality delivered to the customer, service quality assurance, service accessibility and usage, and revenue per sprint indirectly measure the software product quality. Therefore, these metrics are mapped to define product quality KPI, which will represent the service quality delivered by the scrum team in a specific sprint within time and budget. The mapped metrics to present the product quality KPI are shown in Figure5.Figure 5
Participating factors of SOA and scrum in “Product Quality.”


## 5.4. Effort Review

Figure6 and equation (4) show the participating factors of SOA and scrum in “Effort Review.”(4)ER=X4+X6+X7+Y8.Figure 6
Participating factors of SOA and scrum in “Effort Review.”Effort review is the fourth KPI designed by combining scrum and SOA metrics such as retrospective meeting, violation of architecture policies, team communication, and enthusiasm metrics. This KPI will present the review of a sprint’s daily scrum process which examines the performance in previous sprints with respect to people, relationships, process tools, and violation of architecture policies during the development of SOA services. It will also present the scrum team’s behavior and communication that they followed in the development process. This KPI along with its mapped metrics is depicted in Figure6.


## 6. Analysis and Discussion

Software measurement and estimation is important for any process improvement initiative. Software metrics allow qualities of interest to be measured and evaluated in order to identify potential problems. Metrics provide insight into the costs and benefits of a potential solution. Unfortunately, existing individual scrum and SOA metrics are comparatively immature, and there is no generic measurement and metrics available for the integrated application of scrum and SOA for a software development project [27]. There is also a misunderstanding in identifying desired measureable properties of both scrum and SOA in the context of integration. Another problem for identifying metrics for integrated use of scrum and SOA is that both focus on respective properties, factors, and tools and then collection of data for individual specific factors measured in the integrated environment. Hence, individual factors do not work in this context [28].The KPIs identified in this study solve these problems and provide a basis to measure business agility, quality value, team efficiency, and complexity of scrum- and SOA-based projects. These KPIs will help to understand where to commit resources in order to deliver the optimal business value. It will also help to align software development business projects and IT investments with respect to market change. These KPIs will guide practitioners to measure and improve their integrated scrum and SOA approach.As some of the authors have discussed different metrics for SOA and scrum individually in different papers, among them, we have identified the most important metrics which can give more benefits to market and those people applying the combination of SOA and scrum in a software development project. Through these metrics, the development process can be streamlined when a proper measure is taken. Among these scrum and SOA metrics, some of metrics present common goals which can provide more agility, flexibility, and compatibility.The scrum process model and service-oriented architecture (SOA) approaches buoy up business people to be liable for the significance and value provided by different software development experts and effort. These metrics will support endorsed organizations and businesses that can make insolent software investments and scrum teams that provide software services with highest value repeatedly and rapidly. One benefit of value-driven work is to deliver valuable features to customers quickly in the development may come to be self-funding during the progress of the plan [29, 30]. “Business Value Delivered” is that what the scrum team would be optimizing and enhancing for and what the business organization will be following as a key performance indicator [31]. Software services value can be best determined by the interested parties and scrum team together, at the level of specific software development groups that can be given a specific cost and customer value measure [32].In this study, we have identified the most critical and important metrics because measuring too many metrics may not lead to project success. These metrics will give valuable information by not only minimal effort but also correct information that helps the development team to progress in their learning and reaching the objectives. Some common properties or features are found between scrum metrics and SOA metrics are the general organization of a metric, but variances in the methods to measure, for example, measuring the scrum team velocity and SOA services developed per unit time. Some of the scrum metrics use individual measurements for computing metrics such as progress of a member. Basing user stories on story points that are estimated by a team, it cannot be compared between different teams because the developed features may not have the same behavior and functions. Some common measures should be taken to connect the scrum and SOA metrics, e.g., the scrum team velocity metric and number of services developed per unit time. As described earlier, agile has the focus on people and should, therefore, include this factor in future measurements. The main purpose of Service-Oriented Architecture (SOA) is to make the whole enterprise agile by using services as the building blocks for software applications. Also, software development through the scrum process model means to increase organization agility by bring together scrum practices that could increase communication, collaboration, and feedback. Which is accurate and better? We have identified different metrics for SOA and scrum which are discussed in detail in previous sections. Some of these are most important to keep on track the business value for the cross combination of scrum and SOA. In light of the using the SOA and scrum combination, we have combined the individually identified metrics into four common metrics, which make the KPIs for the cross combination of SOA and scrum. The team velocity, business agility, product quality, and effort review become the Key Performance Indicators (KPIs) for the scrum and SOA development approach (SSDA).Many practitioners successfully applied agile processes, especially scrum for enterprise system development. SOA is also a favored architecture for enterprise system development in many cases; therefore, the proposed integration approach will definitely come with improved results. The KPIs presented will help in identifying and also facilitating the improvement of the benefits.


## 7. Conclusions

Scrum and SOA are about agility that can be applied to a number of rules and principles that do not crash each other. Scrum is about delivering rapid and SOA is about architectural configuration. This way, they maintain each other in balance. One does not make sense without the other. A confirmed manner to prove SOA and scrum’s industry value is through their respective KPIs. We can say that metrics are the language of KPIs. KPIs used it in the way the business associates understand it. These KPIs give a means to measure the agility, complexity, efficiency, and value of the scrum and SOA team for those who want to use the scrum and SOA in an integrated environment; the identified metrics for SOA and scrum, discussed in detail in the previous sections, are important to keep on track the business value for the integration of scrum and SOA. In light of using the SOA and scrum integration, the individually identified metrics are combined into four common metrics, which make the KPIs for integrated scrum and SOA. “Team velocity,” “Business Agility,” “Product Quality,” and “Effort Review” are the key performance indicators (KPIs) for the scrum and SOA development approach (SSDA).These KPIs will help to measure the business agility, quality and value, team efficiency, and complexity of scrum- and SOA-based projects. These KPIs can be practiced to know where to focus the resources to deliver the ultimate business profit to better align your business projects and IT investments with the market change.


## 8. Implications of the Study

SOA and agile are a major planning and design decisions; both require proper planning and management throughout the lifecycle of the system development. The KPIs will help all stakeholders to understand imperatives of the proposed technique and will help them in planning resources, as well as major milestones for testing the performance. These metrics will play a critical role of bridging the strategy and concepts of improvements with operational activities. The identified KPIs will help to measure the business agility, quality and value, team efficiency, and complexity of scrum- and SOA-based projects. Software development organizations can also practice these KPIs to know where to focus their resources to deliver the ultimate business profit. So, software business organizations could better align their business projects and IT investments with the rapid market change and deliveries.


## 9. Limitations and Future Work

It will require expertise in both SOA and agile. A management overhead in the start of the agility of the approaches will enable the teams to come up with a proper application design and smooth development process. Also, we did not apply these KPI on a real case study due to the lack of funding and time barred the application of the proposed process in a real-world scenario at the time of research. We are in the process of designing a case study for validating the research contribution. Although the proposed research shows that the presented process will have many long-lasting and awaited benefits, it can further be improved by extending it for green and sustainable software development in future.



---

*Source: 6613579-2021-02-02.xml*