A Statistical Model to Assess the Team’s Productivity in Agile Software Teams

,

While in traditional software development methodologies, productivity is measured by number of Lines of Code (LOC) or Function Points (FP) per time (hour /month) by developers or teams, in agile software development, it is measures in another way. In Agile methods, productivity is mainly addressed by delivered Story Points in each iteration [2,3].
Agile methods are known for achieving high team productivity, due to practices like planning, executing in short cycles called iterations, and having self-organizing crossfunctional teams [4]. Unlike agile methods, the traditional software development methods do not have this capacity to handle requirements change in earlier or later stages of the project [5]. Agile methods tend to welcome change in requirements even at later stages of the project through consistent customer feedback and short iterations delivery.
This prevents the project failures that could possibly occur due to requirements evolution and miscommunication of the requirements among the team. Agile methods also help to increase software production rates and reduce software development costs [6,7]. Nevertheless, a few studies have focused in the assessing the productivity of a software team and identifying the most important factors influencing the team productivity. Also, assessing the software team's productivity in a quantitative manner was not the focus of any study yet.
We aim to evaluate the software team productivity of software development organizations located in Iran based on agile methods. On the other hand, by study the statistical research in the field of software team productivity, we came to the argument that none of them has achieved a unified architecture or an equation to assess software team productivity, and most of these investigations [8][9][10][11] have aimed to identify influential factors or the impact of factors on productivity. Thus, in this study, to achieve this end, we need to answer the following research questions: RQ1: how do the agile team effectiveness factors affect the software team's productivity?
RQ2: How software team productivity can be measured? RQ3: How software team productivity can be increased? The organization of this paper is as follows: we review related works in Section II, discuss the adopted research methodology in Section III, present the results and discussions in Section IV, and provide the conclusion and future work in Section V .

II. Literature Review
Teamwork is the principle of software development success. The co-operation of members of the software team is vital to develop successful software [12,13]. Considering the significance of the team for software development, teams have always been in focus. Besides, the productivity of software development through the team of experts and producers has always been of interest. Thus, considerable research has been conducted overseas to identify team factors, which affect software productivity. There have been various studies in this field, some of which have focused on team members' sense of responsibility and level of self-organization in the software development team [14]. In other studies, collaboration, coordination, and team relationships have been identified as key factors [15,16]. Numerous studies have been conducted on team productivity in agile software development. In some studies, the impact of agile methods on team productivity and the factors affecting productivity in agile software development are discussed [17,18].
In 2000, a study was carried out by Faraj and Sproull to investigate the importance of expertise coordination on 69 software development teams. Their results indicated 3 that the expertise coordination component has a close correlation with team performance [19].
Hoegl and Gemuenden, [20] examined the effect of six aspects of teamwork quality (TWQ) on the success of innovative projects such as communication, coordination, the balance of each member contribution, reciprocal support, endeavor, and coherence. In a study conducted by Dingsøyr and Dybå [21], the pros and cons of three team effectiveness models were discussed. All three models concentrated on team effectiveness, especially the internal aspects of the team. Besides, they expressed that the focus of agile software development has increasingly inclined to the analysis of self-managed agile teams that this factor can influence team productivity. Later, Lindsjørn et al. [12] studied the effect of teamwork quality on team performance, learning, and work satisfaction in agile software teams. The results showed that the impact of teamwork quality on team performance was slightly greater for the agile teams than for the traditional teams. In another study, Fatima and Sakib [9] examined the impact of various factors on agile team productivity. Melo et al. presented a study on the investigation factors affecting productivity. They are demonstrated that some factors have had a greater impact on team productivity. The factors are comprised of team combination and allocation, external dependencies, and turnover of people in the organization . Based on agile technical methods, pair programming and team gathering have the most impact on team productivity [22]. Melo showed that team size, variety, personality, proficiency, collocation, and devotion of time are among the key factors to be considered when designing agile teams. They found that team management was the most influential factor in agile team productivity [1,23]. A research conducted by Verner et al. showed that the factors of teamwork productivity vary from country to country and culture to culture could affect teamwork's decision-making process, problem-solving approach, social communication, fulfillment, and expectation. It was also stated that measuring team motivation is a difficult task yet the most important factor in determining software development efficiency. Finally, based on the evidence available, it can be concluded that low motivation in the team can be a major factor in the failure of a software development project [24]. Sulaiman and Mansor also highlighted the important teamwork decision-making process as one of the critical success factors in agile enterprise architecture [25,26]. Fatema and Sakib studied factors that affect Agile teams performance. The results revealed that the team dynamics is a factor that has a direct impact on team-work and productivity of agile teams [9,27]. Qamar and Malik used team homogeneity index (THI) as a criterion of increasing team productivity and software quality. they've resulted in the implementation and testing phase of the software development life cycle (SDLC) demonstrates that teams with a higher homogeneity index are capable of producing more software as well as better quality than other teams [28]. Iqbal et al. cited the factors which affect agile teams and determined how these factors affect software productivity [8]. Considering Iqbal et al.'s research and the importance of the agile team in software development, in this paper, we evaluate the key agile team factors, which affect software productivity in software development companies located in Iran.

III. Methodology
The methodology of this research includes three steps: Critical Factors identification which is done through literature review, Data Collection through Questionnaire, and Statistical Analysis performed on the collected data as shown in Figure 1. 4 Figure 1. The adopted research design.

A. Critical Factors in this study
The factors of the article [8] were exploited in this study, in which they introduced seven factors. However, of the elements, the team membership factor was provided in the section related to demographic results and had no place in statistical analysis.

5
In the following, the factors studied in this research are explained.

1) Team Leader
The team leader is an essential role and should be performed principally [29]. Team leader is responsible for managing the team, facilitating communication within the team, and to manage the changes.

2) Requirements handling by the Team
Requirements serve as a building block of any software product. Inadequate handling of requirements may lead to irrecoverable damages in terms of time and budget overrun. In some cases, even if a product is successful in the start may be abandoned by the users after some time because of not meeting the emerging requirements with time. Requirement quality may have a significant influence on the outcomes of software development projects (e.g., software quality, even in projects with relative success [30,31] . Suitable requirements are one of the best factors to predict the success of a software project [32], whereas faulty or misunderstood requirement induced flaws and are widely known to be fixed at the higher expense [33].

3) Quality Conformance by team
acceptance testing is mainly used to evaluate the conformance quality of a software project with user requirements [34].Software products are divided into elements with a smaller size, and the teams work on such smaller modules or iterations. These modules follow the lifecycle routine including planning, development process, integration test, automated unit test, and product delivery. The efficiency measures of a software team include the functional point (FP) (function per person's effort) and quality conformance (the number of defects), are the two measures of a software team's efficiency [35] .

4) Inter-team Relationship
Some inter-team factors impact the productivity of a team. Such factors involve team collaboration, team empowerment, team member commitment, team self-organization, product ownership, team coordination, and team effectiveness. The performance improvement of a team includes some factors (i.e., collaboration, perception cohesion, and standards) .working teams require self-organization. For instance, agile teams are self-organizing and cross-functional making them more productive than traditional teams [36] .

5) Team Vision
team progress is an important factor for collocated traditional teams [37]. However, it is an equally important factor for self-organizing agile teams. They included an additional indicator known as the line of balance (LOB) in order to track project progress. This is not provided by Gantt charts [38]. [39] argues that the visibility of a project is a paradox. This implies that the clients may make decisions during the progress of the project when the progress of the project is visible, whereas the software team can also make decisions on the next activities.

6) Team Velocity
According to the agile methodology, Agile Velocity is a metric for the management of software projects. It means how fast work can be completed by a team in a given timeframe and can be used to estimate team performance. in other words, Velocity in Agile is a simple calculation measuring units of work completed in a given timeframe.

B. Data Collection
The objective of data collection is to perform statistical analysis and answer the three questions raised in the article. We were used for Literature review, Keywords such as "productivity", "software productivity", "productivity factors" and "agile teams" to search for related work in digital libraries. There are a lot of Data Collection Methods such as semi-structured interviews, non-participant observations, face-to-face interviews [23] but we decided to collect our data by using an online questionnaire where survey links were sent via email. Data collection was carried out in 40 Iranian companies, from October 2019 to January 2020. This companies were the most famous software companies that were using agile methodologies in their software product line.
The respondents were software experts who had at least 3 years' experience in the field and were familiar with productivity issues and factors, as they declared. Also, participation in the study was voluntary without any force and pressure. In this study, the questionnaire of the article [8] was employed for the data collection. This questionnaire consists of 23 questions and 4 parts. The first part includes the general information of the respondents and related companies, the second part contains project management factors, the third part is associated with the agile methodology, and the fourth part encompasses team organization. While the questionnaire of this study is designed in two parts of questions related to team organization and questions associated with agile methodology in the company. The first part of the questionnaire consists of 23 questions. Question 1 addresses the role of the respondents. Questions 2 and 3 constitute the team leader factor, questions 4-10 the inter-team relationship factor, questions 11-13 the requirements handling by the team factor, questions 14 and 15 the team velocity factor, questions 16-20 the quality conformance by team factor, and questions 21-23 the team vision factor, respectively. The team member factor is given in the demographic results section and has no place in the statistical analysis, and the other six factors are the team effectiveness factors.
In the second part of the questionnaire, questions such as company name, history of the organization, experience of respondents in the software development industry, and history of exploiting agile methodology are questioned. This questionnaire was completed by 40 agile experts working in software development companies in Iran. The questions placed in the questionnaire were assessed based on the Likert scale. This means that the numbers 5, 4, 3, 2, and 1 are assigned to strongly agree, agree, neutral, disagree, and strongly disagree responses, respectively. Then, using these data, statistical analysis was conducted.
Before starting data collection process, validity and reliability of the questionnaire had been evaluated. We asked 3 domain experts to give their points regarding the content and structure of the questions, as well as, their relevance and coherence. They approved the questionnaire as is and published in [8]. Also, Cronbach's alpha test was performed to assess the reliability of the questionnaire. This index was 0.747 indicating reliability and internal consistency of the items used in the questionnaire.

1.2) Questionnaire respondents
The questionnaire was sent to 40 software companies in Iran and was provided to professionals via sharing the URL. The companies selected for this study have been employing agile methods for at least 1 year, producing software for overseas markets, and are an international company. Hence, the respondents to the survey questionnaires were aware of the agile team environment and had experiences in this sphere.

C. statistical Analysis
Statistical tests are divided into parametric and non-parametric tests based on the characteristics of data or variables. Usually, to apply parametric tests, some assumptions such as the normal distribution of the population are required because the mean and standard deviation do not reflect the actual image of the data if the distribution of community is not normal. In the case of lacking the establishment of the assumption, non-parametric tests are employed [40].
One of the approaches to investigate the relationship between variables is a correlation. Based on the objectives studied in this paper, the correlation research is divided into two categories of bivariate correlation and regression analysis. Correlation is exploited to examine the type and amount of the relationship between each of the team effectiveness factors and software productivity. The correlation coefficient is a statistical measure that describes the direction and value of the relationship between two variables. If the values of two similar variables change, we can say that there is a correlation between these two variables. Among the most important methods to calculate the correlation between variables is Pearson and Spearman correlation coefficient. Pearson correlation coefficient is a parametric test whose non-parametric equivalent is the Spearman correlation coefficient. Taking into account the nonnormality of team effectiveness factors in subsection 1, thus, the Spearman correlation coefficient is used. The results for the evaluation of the relationship between team effectiveness factors and software productivity by Spearman correlation coefficient are reported in subsection 2.
The next step after the correlation is related to the regression analysis. Regression is the prediction of the future trend of the criterion variable (software productivity using agile methodology) based on a set of relationships between the criterion variable and several predictor variables (team effectiveness factors). The degree of correlation between the two variables specifies the value of regression occurrence. The accuracy of the prediction depends on the strength of the correlation. The higher the correlation between the variables, the more accurate the prediction as much as possible. In subsection 3, the results of multiple regression and the prediction model are reported. As pointed out, the necessity of using any of the parametric tests is the establishment of the assumptions related to that test so that the reported results are reliable and documentable. If the residual independence assumption is not established in regression analysis, the predictor value is estimated to be less than or more than the size. Evaluating independence is performed by the Durbin-Watson test. In the case of colinearity between the independent variables (team effectiveness factors), despite the high coefficient of determination, the regression model does not likely have high validity since when the correlation between the two variables is high, these variables may exactly explain the same variance in the dependent variable (software productivity). The study of collinearity in regression is measured and reported through tolerance statistics and variance inflation factor (VIF) [41]. The results of examining the regression analysis assumptions are reported in subsection 4. In subsection 5, adopting the adjusted coefficient of determination, it is expressed that to what extent the team effectiveness factors can predict software productivity using the agile methodology.

1) Kolmogorov-Smirnov Test
To evaluate the effectiveness of the team on software productivity using agile methodology, first, the normality of distribution of the research factors was examined by the Kolmogorov-Smirnov test. The results are shown in Table 1. 8

2) Spearman test
Due to the abnormality of the distribution of team effectiveness factors, Spearman correlation was used to investigate the relationship between team effectiveness factors and productivity. The results are presented in Table 2.

3) Multiple linear regression test
Stepwise multiple linear regression analysis was used to determine how much each factor affected productivity. For this purpose, we show that there was a significant linear relationship between the team effectiveness factors with productivity. The results are demonstrated in Table 3. Therefore, team effectiveness factors entered into the model one by one based on the degree of correlation with productivity. The results are illustrated in Table 4.

4) Multiple regression assumptions test
In regression analysis, only when the model assumptions are met the obtained results could be valid and dependable. In multiple linear regression models, these assumptions include normality of distribution of residuals, independence of residuals, homogeneity of residuals variance, and non-linearity between the independent variables. The results are shown in Tables 5, 7 and Figure 4.

5) Goodness of Fit
In this section, some goodness of fit indices for team effectiveness factors and productivity is measured. The results in Table 7 indicate multiple correlations between productivity and predicted value, percentage of productivity changes explained by team effectiveness factors, and estimated standard error.

IV. Results and Discussions
In this section, we present the results.

A. Demographic Results
In this section, according to the empirical questions in the questionnaire, out of the 63 completed questionnaires, we have obtained the following results that are shown as a percentage.
The results show the respondents use frameworks such as Scrum framework (71.7%), Kanban (16.9%), Xp (7.55%) and Agile UP (1.89%) and it should be noted that (1.89%) companies use frameworks which have been developed by their own companies. The participants' experience indicates that 54.9% of the participants had an experience of 2-5 years, (37.2%) of members with less than two years of experience. The roles of the participants of this study show in Figure. 2. We can see that most of the participants were Scrum Masters (16.6 %), followed by Project Managers (13.3%). The stats show the expertise level of our participants and also contributes to the authenticity of our findings. Another important aspect is the diversity of opinions that is evident from the wide range of participants' roles participated in the study. Figure. 3. illustrates the different agile tools to develop software by software teams. We acquired that Trello and Jira tools were more of the most popular agile tools with 36.23 and 26.07 usage percentages, respectively. A noticeable point is the use of Taskulu software by Iranian companies. Also, it is necessary to mention that On September 10, 2018, Microsoft renamed Visual Studio Team Services (VSTS) to Azure DevOps Services.

B. Statistical Analysis results
In this section, to answer the research questions, we examined the statistical Analysis results of the questionnaire related to major factors involved in Software Team Productivity. Therefore, the initial result of the normality of distribution of the research factors was examined by the Kolmogorov-Smirnov test are shown in Table 1.
Due to the abnormality of the distribution of team effectiveness factors, and because of the significance level was less than 0.05, Spearman correlation was used to investigate the relationship between team effectiveness factors and productivity. The results are presented in Table 2. The results showed that there was a significant relationship between productivity and the variables whose significance level was less than 0.05.
In the following, using stepwise multiple linear regression analysis determine how much each factor affects productivity. Thus, we indicate that there was a significant linear relationship between the team effectiveness factors with productivity, which is shown in Table 3.
Thus, the independent variables (team effectiveness factors) entered into the model one by one based on the degree of correlation with the dependent variable (productivity). They were removed from the model if their presence in the model was not significant. Table 4 shows that the Just Team Velocity factor was eliminated because its significance level was greater than 0.05.      Based on the results, the following linear relationship could be expressed based on the team effectiveness factors which were significant in the prediction of productivity .
equation (1): Productivity =inter-team relationship × 0.25 + quality conformance by team × 0.21 + team vision × 0.14 + Team leader × 0.12+ requirements handling by the team × 0.11 In regression analysis, only when the model assumptions are met the obtained results could be valid and dependable. In multiple linear regression models, these assumptions include normality of distribution of residuals, independence of residuals, homogeneity of residuals variance, and non-linearity between the independent variables. Therefore, to confirm the validity of equation (1), we investigate each of the following assumptions:

1) Normality of residuals (model errors)
We used the Kolmogorov-Smirnov test to check the normality of errors that the results of Table 5 confirm the normality of errors. 12

2) Independence of residuals
To investigate the independence of residuals, we use statistics called Durbin Watson. The value of this statistic is a number between 0 and 4, and if its value is close to 2, it indicates the independence of the regression residuals. As a criterion, usual numbers between 1.5 and 2.5 or numbers between 1 and 3 indicate the independence of the residuals. In the regression model, the Durbin-Watson statistic value is 1.95, which confirms the assumption of residuals independence.

3) Homogeneity of residual variance
One of the methods to evaluate the homogeneity (equality) of the residual variance of linear regression models is the use of a scatter plot of the residuals versus the predicted values. If the dispersion of the points plotted on the graph does not have any particular trend, it represents the establishment of the residual variance homogeneity hypothesis that this can be seen in Figure 4. That is, based on this plot, the assumption of homogeneity of variance of residuals is established.

4) Lack of co-linearity between independent variables
In multiple regression, the correlation of independent variables should not exceed a certain level, because this (co-linearity between the independent variables) increases the error (variance) in the model. This feature of the independent variables is checked using two factors of the variance inflation factor and tolerance index. Normally, if the VIF is greater than 5, it indicates the presence of co-linearity, and the closer the tolerance index to a value 1, it indicates a lack of co-linearity. The results of Table 6 show that there is an assumption of the lack of co-linearity between the independent variables.   (1), which is the result of multiple regression tests, is valid. Considering our research questions enunciated in the introduction, we try to provide a comprehensive answer to the questions. According to equation (1), we answer the first question of research RQ1) how do the agile team effectiveness factors affect the software team's productivity?
Equation 1 indicates that inter-team relationships increase or decrease by one unit, on average productivity will increase or decrease by 0.25 units; if quality conformance by the team increases or decreases by one unit, on average the productivity will increase or decrease by 0.21 units; if the team vision increases or decreases by one unit, on average the productivity will increase or decrease by 0.14 units; if team leader increases or decreases by one unit, on average productivity will increase or decrease by 0.12 units; if requirements which should be addressed by the team increase or decrease by one unit, on average the productivity will increase or decrease by 0.11 units. Therefore, inter-team relationships, quality conformance by the team, team vision, team leader, and requirements which should be handled by the team, have an impact on productivity in order of mentioning. The second question of the research is: RQ2: How can software team productivity be measured? Given the impact of each factor on productivity, it can be measured in the form of equation (1) The third research question, RQ3 is: How could software team productivity be increased?
By focusing on each of the agile team factors in order of priority that can affect productivity, it can be increased. Thus, we answered the research questions. Then, for the goodness of fit of the multiple correlation indices model, we examine the coefficient of determination, the coefficient of determination corrected, and the standard error of estimation between team effectiveness factors and productivity that their results are presented in Table 7. Based on the obtained results, multiple correlations of 0.90 was observed between productivity and its predicted value. Also, the corrected coefficient of determination of the regression model amounted to 0.80 which indicated that 80% of the changes in productivity were explained by team effectiveness factors alone. Furthermore, in this model, the standard error of estimation was 0.23. The Standard error of estimation is a relative index which the lower its value is the better it is.
Software productivity management is an essential principle for achieving the goals and success of the project. Taking into account that software development is performed as a group and in the form of a team, thus, the calculation of software team productivity is of paramount importance. Hence, we strived to carry out a study on this matter. Given the previous works in this field, a statistical study has not yet been conducted on the software team productivity. The only available analytical study that can be pointed out is the study [8], which focuses on the impact of the agile team on software productivity but has not assessed the software team productivity. In this study [8], they exploited only Spearman statistical techniques and mean and standard deviation. Besides, they used the Spearman correlation test for the relationship between productivity and agile team factors. However, in this article, we have addressed software team productivity and employed statistical techniques such as Kolmogorov-Smirnov (KS) test, Spearman test, multiple regression test, multiple linear regression assumptions tests, and goodness of fit so that we can express to what extent the team effectiveness factors, which are taken from the article [8], predict the level of the software team productivity using the agile methodology. To this end, we provided a comprehensive statistical model that is elaborated in the methodology section. Eventually, after the data analysis, we achieve an equation. It suggests that if the amount of any of the team effectiveness factors increases or decreases by one unit, to what extent team productivity will increase or decrease on average, and the priority of team effectiveness factors was determined in order of the most significant effect on software team productivity. Because the proposed model is presented based on statistical tests and the selection of each test in each phase depends on the answer of the previous step, it can be implemented for companies that employ agile methodology.

C. Threats to the validity
This study, like all survey studies, is subject to the several threats to validity. Several threats to validity have been addressed for questionnaire-based studies [42,43]. Content validity is major in questionnaire-based studies. In this study, prior to data collection, the questions were reviewed by three experts to fulfill the content validity requirement.
Construct validity deals with the relationship between theory and observation. Such threats are survey studies are related to the questions asked, the way they answered, and the scale used. To decrease such threats, we employed the guidelines provided by Ciolkowski et al. [43] to design the questions to be as simple and clear as possible. To check the construct validity and ensure avoiding ambiguity questions, we did a small pilot study with some agile experts to reduce ambiguities and tune the questions. Furthermore, the respondents were supported by phone and face to face communication is case questions were not clear as they expected. Also, incomplete responses were not included in the data analysis.
Internal validity deals with the factors may influence the research's outcomes. However, controlling such factors is too hard in practice because of low control on the participants. In the survey normally, respondents' personality, motivation, experience, knowledge, and culture are the most important factors that impact on the responses. In this study, by explaining the importance of the research's objectives, we tried to motivate the participants to pay attention to the questions and do their best to contribute in the results.
External validity deals with the generalizability of the research findings. We tried to choose the best most qualified companies in the field understudy. Choosing 40 software companies working in various industries and domains, we tried to cover different agile experts who had different experience and industrial background. Also, considering companies with different size (small, medium, and large) and participants with different roles and responsibilities helped us to reduce the threats of generalizability. However, in case of including more companies and experts, we would have been able to generalize the outcomes.

V. Conclusion and Future Works
Software productivity measurement is crucial in agile teams for improving the performance of software development. So in this study, we used a questionnaire to gather data from agile base software industry practitioners and later used statistical analysis to analyze data and deduce results. We show that there was a significant linear relationship between the team effectiveness factors with productivity. That major factors such as team effectiveness factors including inter-team relationship, quality conformance by a team, team vision, team leader, and requirements handled by the team had an impact on team productivity. The equation obtained from the results of multiple regression analysis shows that 25% of company's productivity changes are expressed by inter-team relationships, 21% of productivity changes by quality conformance by the team, 14% of productivity changes by Team Vision, 12% by Team Leader, and 11% by the requirements handling by the Team. However, it is important to mention that the factor Team Velocity was removed from the model because its presence in the model was not significant.
Hence, by focusing on each factor that could affect the productivity, we can increase productivity, and the results of model fit illustrate that the corrected coefficient of determination of the regression model is 0.80, which means that 80% of the changes in productivity were explained by the team effectiveness factors alone.
A possible direction for future research is to conduct an experimental study for the extraction of more effectiveness factors and to conduct the assessment of each of the factors. We can also implement the proposed model in more agile companies so that the amount of importance of factors to be quantitatively and qualitatively determined more precisely.