Activity Theory for Manifesting Agile
Agile development means self-management, collaboration, and working towards shared goals. Agile practices support much of this, but we can still learn more, both to better understand current practices and to develop new ones. This session is an introduction to cultural-historical activity theory, a psychological framework for understand collaborative behaviour. The framework has shown the role of tools in cognition and collaboration, and understanding structural tension between different activity systems: it can also be used to understand and improve agile software development.
NOTE: I had earlier proposed this for the Coaching stage, and someone recommend this stage would be more suitable. I therefore offer it here at well. I am willing to be flexible in any way that will help.
Agenda (Offset 0:00)
0:00 Introduction to activity structure 0:15 Task 1: activity and tool stucture mapping 0:30 Introduction to tension analysis 0:45 Task 2: contradiction identification and resolution. 1:15 Activity theory and design of new practices
This presentation is based on the use of activity theory in research on software design and development by the presenter and his students and colleagues.
Activity Theory was initially developed 80 years ago by Vygotsky and his students and colleagues. It has been a key framework in developing ideas for education, such as scaffolding with cognitive tools (Brunner), interaction design with externalization (Nardi), and collaboration in the workplace (Engestrom). In this session, we will focus on two aspects that have importance for agile development: tools and contradictions.
Activity and Tools:
The perspective of activity theory is that tools play a key role in reaching goals, and not only because the tools help reduce the effort. Tools, which include both physical and conceptual devices, also help by being distinct embodiments of processes. This helps individuals because they are guided in the learning processes by the existence of the tools, and indeed the tools then shape the cognitive work of the task. Moreover, they also help collaboration, because they provide a distinct element on which to form shared understanding and coordination of work. In the session, we will show how this model explains how tools in agile development work, ranging from standup meetings, to the planning game, to information radiators.
Activity and Contradictions:
In the course of our work and play, many different people, tools, goals, and even systems of activity are involved. While a simple activity system might appear to involve a person or group using tools to accomplish goals, the reality is much more complex because of the various alignments and tensions that can result. The term “contradiction” is used to indicate misalignments sufficient to impair the smooth functioning of the activity systems. Several kinds of contraction are distinguished, including mutually incompatible goals, mismatches between tools and goals, and different systems working together but seeking different goals. Whereas discussion in agile software development often has a focus on “impediments”, activity theory suggests identifying and addressing misalignments. This can be a more helpful approach because it recognizes that there are different perspectives involved and that the solution may not be removing impediments, but rather re-aligning the activity systems. This approach also offers a fresh perspective on the agile idea of the “whole team”, because it recognises that any rich environment always has many teams with many goals. Even one person on a single day belongs to many “teams”, ranging from software development to family life. The activity theory approach facilities dialog and collaboration in a way that accommodates different stakeholders and levels of business value beyond software development and its impediments.
Robert Biddle is Professor of Human Computer Interaction at Carleton University in Ottawa, Canada: he is on the graduate faculty of both Computer Science and Psychology. He has degrees in Applied Analysis and Computer Science from the University of Waterloo, a Ph.D. from the University of Canterbury, has diplomas in both childhood and adult education, and has lived and worked in several countries. His active research is in human aspects of agile software process and design, especially for computer security and computer games. Robert has published widely in all these areas, winning awards for research work in game studies (2006) and usable security (2007). He is recognized as an outstanding communicator, has received awards for teaching excellence, and has been an invited speaker at conferences in all his research areas.
Minh Tran and Robert Biddle. Collaboration in serious game development: A case study. In International Academic Conference on the Future of Game Design and Technology, Toronto, Canada, 2008. ACM.
J. Brown, G. Lindgaard, and R. Biddle. Stories, sketches, and lists: Developers and interaction designers interacting through artefacts. Agile, 2008. AGILE ’08. Conference, pages 39–50, Aug. 2008.
Judith Brown, Gitte Lindgaard, and Robert Biddle. Analyzing talk and artefact mediated interactions from a cultutal historical psychology perspective. In Proceedings of ISCAR 2008, San Diego, CA, USA, 2008. International Society for Cultural and Activity Research.
Elizabeth Whitworth and Robert Biddle. Motivation and cohesion in agile teams. In Proceedings of the 8th International Conference on eXtreme Pro- gramming and Agile Processes in Software Engineering, Como, Italy, 2007. Lecture Notes in Computer Science, Springer-Verlag.
Elizabeth Whitworth and Robert Biddle. The social nature of agile teams. In Proceedings of the Agile Software Development Conferennce, Washington D.C., 2007. IEEE.
Pippin Barr, James Noble, and Robert Biddle. Videogame values: Human-computer interaction and games. Interacting with Computers, 19(2):180—195, 2006.
- Understand the basic structure of activity theory
- Learn the role of tools in internalization and externalization
- Identify sources of tension in collaborative activity systems
- Understand the different kinds of system contradictions
- Experience techniques for contradiction resolution