1
Agile Experience
communication and collaboration in agile software development teams
Elizabeth Whitworth7th September, 2006
2
Research quest?on
What is the experience of being in an agile software development team?
3
Research quest?on
How do agile practices structure and mediate the experience of individuals developing software?
What are the socio-psychological characteristics surrounding agile practices and individuals within a software development team?
4
Study data
18 one-on-one interviews
agile software development literature and community interaction
5
Content of interviews
cohesive vs. non-cohesive teams
agile vs. non-agile teams
personal experiences and/or team activity
project characteristics
6
Grounded theory
theory generation: line-by-line coding
memoing and analysis of data
results of study:high level understanding
confirmation from participants
7
Cohesive teamwork
strong feelings of excitementteams that ‘clicked,’‘gelled,’‘really worked together’’
agile methodologies were seen to support team cohesiveness; more so than traditional software development methodologies
8
Agile practices
the planning game
continuous integration
iterative development and delivery
9
Agile practices
daily stand-ups
information radiators
shared team rooms
pairing
10
Ease & speed
Agile culture:openness, honesty
transparent environment
trust, respect action-based culture
whole team involvement and availability frequent interaction and immersion
11
Collective activity
Buy-in to shared team goals:
provide the most business value to the customer in the least amount of time
12
Collective activity
prioritization & chunking of activitydevelopment around working software
reduce cognitive load
importance and immediacy discipline and rigor
clear measures of success
13
holistic awareness& understanding
of team of project
of product
Context-rich information exchange and activity
14
holistic awareness& understanding
team:familiarity and understanding
observe and refine working relationships
project:involvement and interesthelping and support
product:purpose and meaning
opportunistic action and collaboration
15
Whole team awareness & feedback
constant feedback:whole team awareness and understanding
commitment towards team goalsfrequent and noticeable progress
for example: highly visible information radiators
daily or weekly team meetings
16
Whole team awareness & feedback
whole team agreement, approval, and action
frequent and informal team interactions
social accountability and responsibility
recognition and appreciation
support and motivationshared team goals
self-regulating teams
17
Conclusion detailed and transparent planning and activity
certainty in the project environmentsocial accountability and support
Holistic understanding and competence security and controlinvestment and involvementpride and ownership
balance of structure and freedomindividual freedom and initiative
ability to assess relative importance of goals
18
Next stepsfurther investigation:
observational studiespsychological literature
areas for future study:critical success factorsnegative phenomenaagile practices
application:non-traditional contexts
19
Quest?ons
20
21
22
23
Conceptual frameworkTeamworking‘Self-regulating’, ‘self-managing’, ‘high-performance’
sociotechnical systems theory“the study of the relationships and inter-relationships between the social and technical parts of any system.” - Coakes (2000)
systems thinkingholistic, emergent effects,
dynamics of regulation
24
Study focus: the agile system
This study involved the agile system made up of individuals, agile technology, and the group as a whole
Particularly the relationships between system entities
interdependenciesemergent effects, such as flow
feedback and feedforward mechanismseffects of technology
25
Interview data18 interviews:
five developers, three interaction designers, five project managers, two agile coaches, three developers/project managers
Recruited at conferences, and through contacts in the agile software development community
5 members of the same software development team
Software development community: agile software development conferences and
workshops practitioner literature (print and online ) online correspondence
26
Conducting interviewsExample Questions (initial):
Could you pick a software development team that you found particularly enjoyable or exciting to work in and describe it to me?
Could you describe the physical space the team was in? What was the experience of working in such a team?
Did you feel that [being in the same room] effected your interactions with your team-mates? How so?
Example Questions (later):Did you feel like you were part of the team? Why/why not?
Did you feel that you were able to approach your team members to ask for help? Why/why not?
How was responsibility divided among team members? How did you ensure that everything that needed to get done got done?
27
Coding
Coding occurred line-by-line and provided a means of comparison across diverse participant experiences
Common themes were extracted as categories and explored across situations/participants
28
Theoretical categories
Theoretical categories and related properties and dimensions were developed based on codes and memos
Diversity of data in this study, and complex nature of interactions made it difficult to define a core category about which to construct a comprehensive theory
29
30
31
extra notes - awareness
Details?
32
extra notes - conclusion
Success, progress and change