Successful Collaboration in Agile Software Development Teams Martin Kropp, Magdalena Mateescu University of Applied Sciences Northwestern Switzerland School of Engineering & School of Applied Psychology Scrum Breakfast Basel, 9. October 2014
Agenda Agile a different View Agile Communication & Collaboration in Practice A Study Report Conclusions Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 2
Agenda Agile a different View Agile Communication & Collaboration in Practice A Study Report Conclusions Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 3
Scrum Agile Not even half-way Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 4
Agile Competences Agile development requires many different competences on different levels Agile Values Trust, motivation, courage, self-organization, Management Practices Iterative, Incremental, team management, Engineering Practices TDD, Unit Testing, CI, Clean Code, Automation, The Agile Competence Pyramid (Kropp, Meier, 2013) Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 5
The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Source: http://www.agilemanifesto.org/ Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 6
and its Twelve Principles Satisfy customer through early delivery Welcome changing requirements Deliver frequently Business people and developers work together Motivated individuals Face-to-face conversation Working software Sustainable development Attention to technical excellence Simplicity Self-organizing teams Regular reflection Flexibility Improvement Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 7
Agile is not a Process it Defines a Culture Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 8
Organizational Culture What is the preferred culture in an agile team? Michael Spayed, http://collectiveedgecoaching.com/2010/07/agile culture/ (Spayed 2010) Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 9
What is Agile Collaboration? Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 10
Agile Collaboration is Challenging Agile Principles sharply contrast to classical Command-And-Control leadership Self-organization Highly interactive Close collaboration Openness Different mind-set Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 11
Agenda Agile a different View Agile Communication & Collaboration in Practice A Study Report Conclusions Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 12
Agile Collaboration in Practice Main question of the Interview Study How do (successful) agile teams collaborate and communicate? The Study Setup group interviews (2h) in 10 agile companies with 41 participants individual interviews (1) in one agile company with 3 participants Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 13
Method All interviews were audiotaped The transcribed interviews were segmented into small units of analysis and coded using MAXQDA A category system for the analysis was developed and continuously refined Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 14
No successful agile project without agile collaboration Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 15
Lessons learned from the interviews 1. Put People Together 2. Make Teams Self-organized 3. Establish Continuity 4. Foster Formal and Informal Communication 5. Make Information Transparent 6. Use Appropriate Agile Collaboration Tools Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 16
1. Put People Together Open work place not only for work Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 17
and distributed teams? Always a compromise Generates extra effort and right tools are still missing Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 18
, the big challenge are two locations. Video conferencing, yes, but it is not always easy. It would be better to sit in the same room and talk to each other directly.. It was clear from the beginning, that we have to meet these people in certain phases here, so the connection remains. It makes no difference if they check in or we, they have the same access rights as our team.. That means, you have to know each other, and you should communicate with each other. This is easier if you see each other every now and then. Then we also planned to make Joint Retros, and we tried with workshops and Retros with teams at two different locations. But they are just not fluently possible. If have to hold each post-it into the camera, so the other see, what was written, it is just boring. It doesn t work well. So with distributed teams, we always look, that the teams meet each other several times a year. After a longer break, it starts to become harder again. Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 19
What you can do Integrate into daily stand-up Use video-conferencing, skype, chat Organize face-to-face work phases (3-5 days) fly them in or fly to them Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 20
2. Make Team Self-Organized No hidden leader Can be difficult if the team leader is part of the agile team Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 21
Under Equals Person 5: Ein gutes Daily für mich ist, wenn die Leute nicht am Grandmaster erzählen, wo sie sind, sondern, dass sie sich gegenseitig erzählen, wo sie sind. Und, dass die, die im Team schon ein Weile dabei sind, da muss man halt ein bisschen drein kommen in das Ganze. Wenn denn die Leute dann so matur sind und auch einmal sagen: ich habe dazu etwas zu sagen. [...] Aber am Anfang, muss man sie fast ein bisschen dazu zwingen: "Hast du nicht auch noch ein Thema" Also das hat ein bisschen mit der Maturität zu tun. Wir haben natürlich vieles erlebt, wo dann auch negativ gewesen ist, weil man gewusst hat, es gibt Impediments aber diese sind nicht geäussert worden. Dann sind alle nach draussen und 10 Minuten später hat einer gesagt: "Oh nein, das geht nicht". Das ist dann schade, weil da investiert man in das Daily und aber die Leute kommen nicht aus sich raus. Ich denke aber, das ist ein einschleichen vom Team. Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 22
3. Establish Continuity Apply Standard meetings all Iteration planning, stand-ups, review, retro Keep them focused Keep them short Adapt as necessary Keep on with Retrospectives Also in long lasting projects Introduce variations (different locations, thematic retros, different structures) Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 23
The Value of Meetings in Agile Collaboration Agile teams value self-organization The collaborative work is regulated and monitored through team meetings Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 24
4. Foster Formal and Informal Meetings multiple Teams-Meetings Classical Meetings Technical Meetings Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 25
Meetings: Success Factor Levels Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 26
Meeting Level Clear agenda and goals Strict time boxing Adjusted duration Discussion platform Appropriate tools Ja, was gehört alles dazu. Eine Einladung mit einer konkreten Agenda. Dann Einhalten der Zeit im Sinne der Time Box. (...) Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 27
Individual Level Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 28
Individual Level Understanding of the meeting scope Communications skills of each participant Give and receive feedback Willingness to talk about problems and impediments Active participation "Aber wenn Sie fragen, was grundsätzlich schlechte Meetings sind, ja, agil lebt über die Transparenz. Und wenn jemand nicht willig ist, transparent zu sein und auch eine gewisse Fehlerkultur zu leben und nicht offen für gewisse Kritik ist, dann kann das Meeting geraucht werden. Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 29
Individual Level Person 2: Und der Qualitätstreiber vom Austausch, von den Meetings, von den Inhalten, die platziert werden, ist für mich schon bei den Menschen. Das ist ein wenig ein humaner Faktor. Ausser man hat wirklich solche technische Blocker wie Du hast. A fool with a tool is still a fool. Ich meine, das ist für mich immer wieder gültig, das sehe ich einfach immer wieder. Da kannst Du noch so fancy Tools haben. Wenn Du die Leute nicht zum sprechen bringst, um die Messages wirklich zu platzieren, dann war es auch für nichts. Person 3: Ja, ein Tool bietet einem als Person auch immer ein wenig die Möglichkeit, sich dahinter zu verstecken. Hingegen ohne Tools ist quasi jeder wie nackt. Das ist wichtig. Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 30
Team Level Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 31
Team Level The whole team attends the meeting Common understanding of the aim of the meeting and of the roles (shared mental model) Transparent information Ability to take decisions as a team, as I have observed in most of my professional career, one talks with colleagues for one hour and at the end they all have a different picture in mind meetings that are not that efficient, are those, when after the meeting one says: We sat and discussed things, but no decisions were made and the issues were still open [after the meeting] Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 32
Organization Level Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 33
Organization Level Institutionalized meetings Clear decision-making process Wenn man natürlich nicht so klar definierte Meetings hat, die auch nicht regelmässig stattfinden, dann läuft man natürlich immer Gefahr, dass es ein wenig ausartet. "Das Geheim-Rezept ist, wenn das Wissen am Tisch sitzt und die Entscheidungskompetenz am Tisch sitzt. Dann ist eigentlich die Sitzung schon fast erfolgreich. Und wenn die beiden nicht am Tisch sitzen, dann wird es mühsam." (I9, 192) Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 34
4. Foster also Informal Meetings Technical meetings As needed architecture, design meetings Pair programming See 1. Put people together! Other meetings User Story Groomings Code Reviews (Git) Test competitions Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 35
5. Make Information Transparent Use Boards Physical or digital Instant availability All-in-one view Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 36
6. How about Agile Collab Tools? Yes, but Jeff Langr in Pragmatic Programmer Magazine http://pragprog.com/magazines /2011-09/the-only-agile-toolsyoull-ever-need Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 37
6. How about Agile Collab Tools? Yes, but Jeff Langr in Pragmatic Programmer Magazine http://pragprog.com/magazines /2011-09/the-only-agile-toolsyoull-ever-need Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 38
Use Appropriate Agile Collaboration Tools Agile Tools General Development Tools Physical Tools Communication and Collaboration Tools Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 39
Role of Email. however it is similar with the Email, frankly spoken, you cannot send any assignments per email, it simply does not work. I must construe it (the meaning of the message), there is no feedback possible as to what and about the accuracy. This is similar to Daily, one has to interpret assets. I have to look the others in the eye. This is extremely important. I11:362 Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 40
The Agile Tool Set is more Automation Infrastructure CI, VCS, Automation, Test (unit and acceptance), Deployment Collaboration Infrastructure Issue Tracker, Collaboration Platforms (wiki, forums), Instant messenger Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 41
Physical boards In some things unbeatable Flexible Touchable Transparent All-in-one view Usually in the office But Not revisable Not persistent Not distributable No links to the digital information Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 42
How about Agile PM Tools? Mostly used in combination with physical boards Always seen as extra effort Think about benefit E.g. for accounting, needed persistency Master-Slave problem All variations applied Just make clear which way you go Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 43
Digital Master Meetings with Beamer One writer Print out new US, tasks for physical board Print customized overviews Physical task board for detailed task planning Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 44
Physical Master Team works with the physical board Changes are added to digital tools afterwards by one person (PO, SM) Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 45
Pro- and Cons of digital Agile PM Tools Pros Persistence Historization Distributed Traceability Concurrent editing Cons Lack flexibility Lack haptic experience Not suited for team work Lack visibility Lack instant availability Lack easy overview Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 46
Advantages of Physical Tools Provide good overview Foster internal and external visibility Availability of information Low cost Very flexible Activates team and brings it together Haptic experience Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 47
Disadvantages of Physical Tools Only locally available Limited space Missing planning tools No connection to digital tools No documentation and history Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 48
Advantages of Digital Tools Easy modification of information Historization Transparency/Controlling Provide rich information Adaptability/Extensability of tools Accessibility of information Other helpful features: statistics, etc. Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 49
Disadvantages of Digital Tools Complexity High operation effort Need customization Missing control over tool Visualization often not optimal Missing overall overview / big picture Missing permanent visibility Not as fast as paper Technical Limitations No haptic experience To some extend contradicts agile philosophy (not for team work, detailed planning required) Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 50
Conclusion Agile development is a cultural issue Successful agile teams are self-organized, colocated, under equals, disciplined, reach for technical excellence, have intensive communication and very close collaboration Agile collaboration is challenging, but good practices and tools can help Appropriate digital tools are still missing Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 51
Agile Collaboration is Face-to-face Regular Often Informal Open Under equals Focused Transparent Respectful Flexible Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 52
The Future! Project SI-ATAM Agile Technologies for Agile Methods http://www.fhnw.ch/technik/imvs/forschung/projekte/si-atam/si-atam Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 53
Thanks for your attention! Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 54
References M. Kropp; A. Meier. Teaching Agile Software Development Competences - The Agile Competence Pyramid. 9th European Computer Science Summit, 7.-9. Oct. 2013. ECSS '13, Amsterdam, Netherlands M. Spayd. Survey Agile & Culture, http://collectiveedgecoaching.com/2010/07/agile culture/, 29.4.2014 William Schneider. The Reengineering Alternative. McGraw-Hill Companies; 1 edition (January 1, 2000). Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 55
Contact Martin Kropp Institute of Mobile And Distributed Systems University of Applied Sciences and Arts Northwestern Switzerland martin.kropp@fhnw.ch Magdalena Mateescu Institute for Research and Development of Collaborative Processes University of Applied Sciences and Arts Northwestern Switzerland magdalena.mateescu@fhnw.ch Agile Breakfast Basel, 09.10.2014 M. Kropp, M. Mateescu 56