scholarly journals A Statistical Model to Assess the Team's Productivity in Agile Software Teams

Author(s):  
Amir Mashmool ◽  
Samiyeh Khosravi ◽  
Javad Hassannataj Joloudari ◽  
Irum Inayat ◽  
Taghi Javdani Gandomani ◽  
...  

Agile methods promise to achieve high productivity and provide high-quality software. Agile software development is the most important approach that has spread through the world of software development over the past decade. Software team productivity measurement is essential in agile teams to increase the performance of software development. Due to the prevalence of agile methodologies and increasing competition of software development companies, software team productivity has become one of the crucial challenges for agile software companies and teams. Awareness of the level of team productivity can help them to achieve better estimation results on the time and cost of the projects. However, to measure software productivity, there is no definitive solution or approach whether in traditional and agile software development teams that lead to the occurrence of many problems in achieving a reliable definition of software productivity. Hence, this study aims to propose a statistical model to assess the team’s productivity in agile teams. A survey was conducted with forty software companies and measured the impact of six factors of the team on productivity in these companies. The results show that team effectiveness factors including inter-team relationship, quality conformance by the team, team vision, team leader, and requirements handled by the team had a significant impact on the team’s productivity. Moreover, the results also state that inter-team relations affect the most on software teams’ productivity. Finally, the model fit test showed that 80% of productivity depends on team effectiveness factors.

Author(s):  
Amir Mashmool ◽  
Samiyeh Khosravi ◽  
Javad Hassannataj Joloudari ◽  
Irum Inayat ◽  
Taghi Javdani Gandomani ◽  
...  

Agile methods promise to achieve high productivity and provide high-quality software. Agile software development is the most important approach that has spread through the world of software development over the past decade. The software team’s productivity measurement is essential in agile teams to increase the performance of Software development. Due to the increasing competition of software development companies, software team productivity has become one of the crucial challenges for software companies and teams. Awareness of the level of team productivity can help them to achieve better estimation results on the time and cost of the projects. However, to measure software productivity, there is no definitive solution or approach whether in traditional and agile software development teams that lead to the occurrence of many problems in achieving a reliable definition of software productivity. Hence, this study aims to propose a statistical model to assess the team’s productivity in agile teams. A survey was conducted with forty software companies and measured the impact of six factors of the team on productivity in these companies. The results show that team effectiveness factors including inter-team relationship, quality conformance by the team, team vision, team leader, and requirements handled by the team had a significant impact on team productivity. Moreover, the results also state that inter-team relations affect the most on software teams’ productivity. Finally, the model fit test showed that 80% of productivity depends on team effectiveness factors.


Author(s):  
Amir Mashmool ◽  
Samiyeh Khosravi ◽  
Javad Hassannataj Joloudari ◽  
Irum Inayat ◽  
Zulkefli Mansor ◽  
...  

Agile methods promise to achieve high productivity and provide high-quality software. Agile software development is the most important model that has spread through the world of software development over the past decade. Software productivity measurement is essential in agile teams to increase the performance of Software development. Due to the increasing competition of software development companies, software team productivity has become one of the crucial challenges for software companies and teams. Awareness of the level of team productivity can help them to achieve more accurate estimation results on the time and cost of the projects. However, to measure software productivity, there is no definitive solution or approach whether in traditional and agile software development teams that lead to the occurrence of many problems in achieving a reliable definition of software productivity. Hence, this study aims to evaluate the productivity of the software in an up-to-date view of software development and to present a model for computing software team productivity. A survey was conducted with forty software development organizations located in Iran and measured the impact of six factors of the team on productivity in these companies. The results show that team effectiveness factors including inter-team relationship, quality conformance by the team, team vision, team leader, and requirements handled by the team had an impact on productivity. Moreover, the results also state that inter-team relations affect the most on software teams’ productivity. Finally, using the model fit test, it found that 80% of productivity changes based on team effectiveness factors.


Author(s):  
Mina Ziaei Nafchi ◽  
Taghi Javdani Gandomani

Agile methods are widely used in software companies in recent years. Many software companies are replacing their traditional development methods with agile methods. Nonetheless, measuring agility that they have achieved has been a topic of debate. Software teams and companies need to know how agile they are or how much is the agility degree of their organization. Unlike traditional methods in software development, there is no standard or universal model (like CMM/CMMI) to measure maturity of agile teams and software companies. So far, only a few methods and tools have been proposed to measure the agility of software companies. The main aim of this chapter is introducing the structure and main features of the existing agile assessment methods and providing a brief discussion on drawbacks of these methods. This chapter tries to elucidate the actual position of agility measurement methods in measuring agility degree of companies who are trying to adapt to agile methods and practices.


2020 ◽  
Vol 25 (6) ◽  
pp. 4962-5005
Author(s):  
Zainab Masood ◽  
Rashina Hoda ◽  
Kelly Blincoe

Abstract Self-assignment, a self-directed method of task allocation in which teams and individuals assign and choose work for themselves, is considered one of the hallmark practices of empowered, self-organizing agile teams. Despite all the benefits it promises, agile software teams do not practice it as regularly as other agile practices such as iteration planning and daily stand-ups, indicating that it is likely not an easy and straighforward practice. There has been very little empirical research on self-assignment. This Grounded Theory study explores how self-assignment works in agile projects. We collected data through interviews with 42 participants representing 28 agile teams from 23 software companies and supplemented these interviews with observations. Based on rigorous application of Grounded Theory analysis procedures such as open, axial, and selective coding, we present a comprehensive grounded theory of making self-assignment work that explains the (a) context and (b) causal conditions that give rise to the need for self-assignment, (c) a set of facilitating conditions that mediate how self-assignment may be enabled, (d) a set of constraining conditions that mediate how self-assignment may be constrained and which are overcome by a set of (e) strategies applied by agile teams, which in turn result in (f) a set of consequences, all in an attempt to make the central phenomenon, self-assignment, work. The findings of this study will help agile practitioners and companies understand different aspects of self-assignment and practice it with confidence regularly as a valuable practice. Additionally, it will help teams already practicing self-assignment to apply strategies to overcome the challenges they face on an everyday basis.


Author(s):  
Ernest Mnkandla

This chapter aims to reveal agile techniques that have been applied to software development and have resulted in meaningful improvements in software productivity. Available literature generally state some claims on the gains associated with the use of particular agile methodologies in software development. What lacks however, is a comprehensive analysis of how the application of agile techniques as a family will lead to improvement in software productivity. This chapter therefore provides such details. Software productivity techniques provide ways of measuring three things in order to determine the productivity of software; software products, software production processes and structures, and software production setting. Agile methodologies improve software productivity by focusing on the software production process and structures. The fundamental concern of this chapter is to show that agile methodologies measure the production process activities in a different but effective way from the more traditional approaches. For example, time-to-market is reduced by use of an iterative incremental development approach.


Author(s):  
Darja Smite ◽  
Marius Mikalsen ◽  
Nils Brede Moe ◽  
Viktoria Stray ◽  
Eriks Klotins

AbstractAlong with the increasing popularity of agile software development, software work has become much more social than ever. Contemporary software teams rely on a variety of collaborative practices, such as pair programming, the topic of our study. Many agilists advocated the importance of collocation, face-to-face interaction, and physical artefacts incorporated in the shared workspace, which the COVID-19 pandemic made unavailable; most software companies around the world were forced to send their engineers to work from home. As software projects and teams overnight turned into distributed collaborations, we question what happened to the pair programming practice in the work-from-home mode. This paper reports on a longitudinal study of remote pair programming in two companies. We conducted 38 interviews with 30 engineers from Norway, Sweden, and the USA, and used the results of a survey in one of the case companies. Our study is unique as we collected the data longitudinally in April/May 2020, Sep/Oct 2020, and Jan/Feb 2021. We found that pair programming has decreased and some interviewees report not pairing at all for almost a full year. The experiences of those who paired vary from actively co-editing the code by using special tools to more passively co-reading and discussing the code and solutions by sharing the screen. Finally, we found that the interest in and the use of PP over time, since the first months of the forced work from home to early 2021, has admittedly increased, also as a social practice.


2019 ◽  
Vol 2019 ◽  
pp. 1-14
Author(s):  
Aleksander Bai ◽  
Viktoria Stray ◽  
Heidi Mork

Accessibility has become an important focus in software development; the goal is to allow as many people as possible, regardless of their capabilities, to use software. We have investigated the methods that software teams prefer when testing the accessibility of their software. We conducted a large-scale study to evaluate six methods, using a sample of 53 people who work on various software teams. We present a detailed breakdown of the results for each testing method and analyze the differences between the methods. Our findings show that there are statistically significant differences in team members’ preferences, particularly for those with different roles. This implies that a software team should not choose a single method for all team members.


Author(s):  
Kim Man Lui ◽  
Keith C.C. Chan

Given that the number of qualified programmers cannot be increased drastically and rapidly, software managers in most parts of the world will likely have to live with a human resources shortage in this area for some time. One way of dealing with this shortage is to form global software teams in which members are recruited from all over the world and software is developed in a distributed manner. Forming such a global software teams can have many advantages. In addition to alleviating the problems caused by scarcity of human resources, programmers on a global team would be free to work without being confined by physical location. Although forming global software teams may increase the size of the pool of programmers that can be recruited, both team quality and software quality are issues of great concern. Some software companies would prefer to establish a global software team with software programmers in developing countries, such as China, Poland, and South Africa (Sanford, 2003). Given the tremendous salary gap between skilled and unskilled developers or between developed and developing countries, it is not difficult to see that maintaining a team with a proportion of less experienced members significantly reduces running expenses (Figure 1). On the other hand, however, it would present the problem of managing inexperienced programmers. This chatper shares our experience of managing inexperienced software teams in China. To simplify our discussion, we deal separately with the two topics of inexperienced software teams and global software teams. However, it should be noted that a global software team can be composed of both inexperienced and experienced software subteams. We categorize the problems in these two types of software teams which will help software managers learn more how to manage the two types of software teams.


2021 ◽  
Author(s):  
◽  
Michael Grant Waterman

<p>The purpose of agile software development is to enable the software development team to respond to change and learn from change so that it can better deliver value to its customer. If an agile software development team spends too much time planning and designing architecture up-front then the delivery of value to the customer is delayed or otherwise compromised, and responding to change can become extremely difficult. Not doing enough architecture design increases exposure to risk and increases the chance of failure. The balance between architecture and agility is not well understood by agile practitioners or researchers.  This thesis is based on grounded theory research involving 44 participants from 36 organisations, all working in agile software development and who are either experienced in architecture design or are closely involved with architecture. The thesis presents a theory that describes how agile software teams design an agile architecture with reduced up-front design and which is able to respond to change, helping teams find a balance between architecture and agility.  The theory describes six forces that affect the agility of the architecture and up-front design, and five strategies that teams use in response to those forces to determine how much effort they put into up-front design. Understanding these forces and strategies helps agile teams to determine how much up-front design is appropriate in their contexts.</p>


2021 ◽  
Author(s):  
◽  
Mawarny Md. Rejab

<p>Agile software development projects rely on the diversity of team members’ expertise. This expertise, however, is not adequate on its own: it is important to leverage available expertise through expertise coordination. Expertise coordination requires team members to rely on each other for recognizing who has particular expertise, when and where they are needed, and how to access the expertise effectively. Agile teams also need to rely on outside expertise such as user experience designers, architects, and database administrators. This thesis presents a theory of expertise coordination in Agile Software Development projects. We employed semi-structured interviews, observations, and document analysis in a Grounded Theory study involving 48 Agile practitioners and external specialists. This study discovered three main categories of expertise coordination: processes of expertise coordination, strategies of managing external expertise, and management roles in supporting expertise coordination. The theory provides a new insight into how Agile teams coordinate internal and external expertise, how they utilize external specialists and outsourcers’ expertise, and how management can support expertise coordination.</p>


Sign in / Sign up

Export Citation Format

Share Document