Are Agile Teams More Effective? Findings from the Teamwork Literature and
Empirical Studies of Agile Teams
National University of Ireland, Galway
10 September 2014
Torgeir Dingsøyr
Senior scientist, SINTEF ICT Adjunct professor, Norwegian University of Science and Technology
2
Overview
n Agile Software Development n Teamwork and Team Effectiveness n Teamwork in Agile Software Development: A Case Study n Are Agile Teams more Effective? n References and Resources
3
Agile Software Development
Agile development, productivity and teamwork
“Scrum significantly increases productivity and reduces time to benefits while facilitating adaptive, empirical systems development” Controlchaos.com "a variety of people work together in interlinking ways to make a project more effective. They have to work together as a group to make each to be succesful" Beck and Andres "The best architectures, requirements, and designs emerge from self-organizing teams"
Principle behind agile manifesto
5
Teamwork and Team Performance
IKT
What is a Team?
“a small number of people with complementary skills who are committed to a common purpose, set of performance goals, and approach for which they hold themselves mutually accountable”
- Katzenbach, J.R., Smith, D.K.: The Discipline of Teams. Harvard Business Review 71, 111–120 (1993)
IKT
Team leadership
Team orientation
Mutual performance monitoring
Adaptability
Back-up behaviour
Shared mental models
Mutual trust
Closed-loop communication Salas, E. 2005. Is there a “Big Five” in
Teamwork? Small Group Research 36, no. 5: 555-599.
8
Teamwork in Agile Software Development: A Case Study
ICT
Research Design
n Research questions n How does Scrum arrange for the mechanisms that influence
teamwork? n How can challenges that arise when Scrum is introduced be
explained by the mechanisms that influence teamwork?
n Study n Development of an office application for public departments n 5 developers, scrum master and product owner n 4000 hours n Start: May 2006, end October 2007 n 6 sprints n First Scrum project
Moe, N.B., Dingsøyr, T., and Dybå, T., A teamwork model for understanding an agile team: A case study of a Scrum project, Information and Software Technology 52 (2010) 480–491.
ICT
Project Overview
9
Data Collection and Analysis
n 60 Direct observations: from 10 minutes to 8 hours n 15 interviews n Project documents n Analysed according to teamwork model
ICT
In Theory: Team Leadership
n Definition: n Direct and coordinate the
activities of other team members
n Assess team performance n Assign tasks n Develop team knowledge,
skills, and abilities n Motivate team members n Plan, organize, and establish a
positive atmosphere
n The Scrum team: n Planning n Scheduling n Assigning tasks to members n Making decisions
n The Scrum master: n Removes impediments of the
process n Facilitates meetings
ICT
In Practice: Team Leadership
n Problems not reported n “We classified tasks as finished before they were completed, and we
knew there was still work to be done. It seems that the scrum master wants to show progress and make us look a little better than we really are” – developer
n “It turned out that certain parts of the system were simply forgotten. There has been a failure somewhere... The product owner and the client asked for things that no-one had thought of and that were not in the backlog” – developer
n “The daily meetings are mostly about reporting to the Scrum master. When he is not there, the meetings are better because then we communicate with each other” – developer
ICT
In Theory: Team Orientation
n Definition: n Take other’s behaviour into
account during group interaction
n The belief in the importance of team goal’s over individual members’ goals
n Scrum: n The team does high level goal
setting n The Product owner provides a
vision n Sprint planning, daily meetings
and retrospectives
ICT
In Practice: Team Orientation
From a daily stand-up meeting: Developer: The customer databases will be used by several applications, so I have implemented support for dealing with various technologies, including Oracle. It took a lot of time. Scrum-master: Did we not agree on postponing this? Developer: We need this later and now it is done. n “When it comes to the daily scrum, I do not pay attention when Ann is talking. For me what she talks about is a bit off the topic, and I cannot stay focused. She talks about the things she is working on.” – developer n Monthly planning meetings somehow excluded the developers and turned out to be discussions between the Scrum master and the Product owner – notes after observing sprint planning
ICT
In Practice: Team Orientation
n “When we discover new problems, we feel we own them ourselves, and that we will manage to solve them before the next meeting tomorrow. But this is not the case, it always takes longer time” – developer
ICT
In Theory: Backup Behaviour
n Definition: n Anticipate other team
members’ needs through accurate knowledge about their responsibilities
n Includes the ability to shift workload among members to achieve balance during high periods of workload or pressure
n Scrum: n The team is seen as
multifunctional n Self-organizing
ICT
In Practice: Backup Behaviour
n “Let the person that knows most about the task solve it! We cannot afford several people doing the same thing in this project. We need to continue working like we have done before” – scrum master
n “We are having problems in one of the modules, but other developers do not want to fix the problem. They want to wait for the developer who created the module” – scrum master
n “This was a shock to us. The end-users could not start testing, and we had to spend a lot of time trying to fix this. It took almost a month to locate the problems” - developer
n “It’s chaotic now. We work long hours, but I do not do too much. I have done what I was supposed to, and I cannot help them. I do not know anything about what they are doing, so it does not help if I try” – developer
20
Are Agile Teams more Effective?
ICT
Productivity
Dybå, Tore and Dingsøyr, Torgeir, “Empirical Studies of Agile Software Development: A Systematic Review,” Information and Software Technology, vol. 50, 2008, pp. 833-859.
IKT
Team leadership
Team orientation
Mutual performance monitoring
Adaptability
Back-up behaviour
Shared mental models
Mutual trust
Closed-loop communication
Scrum Case
ICT
Conclusion
n Difficult transition from individual work to teamwork n There are many factors that influence team performance
in established team performance models n Scrum has many mechanisms for teamwork in place, but
some were difficult to implement in the case organization n There is a vast literature on teamwork that is very relevant
for agile development and that deserves more attention
24
References and Resources
IKT
Rising, L. and Janoff, N.S., The Scrum software development process for small teams, IEEE Software 17 (2000).!
ICT
n Moe, Nils Brede, Dingsøyr, Torgeir and Dybå, Tore, “A teamwork model for understanding an agile team: A case study of a Scrum project,” Information and Software Technology, vol. 52, 2010, pp. 480–491.
n Moe, Nils Brede, Dingsøyr, Torgeir and Dybå, Tore, “Overcoming Barriers to Self-Management in Software Teams,” IEEE Software, vol. 26, no. 6, 2009, pp. 20-26.