Reflective practices in Agile project development
Can you remember your best or worst day of high school? Can you still remember your emotions at the time? Have you thought about what you’ve learnt from that day? Or how it has changed you? Maybe you can remember what you were doing on September 11, 2001?
The process of reflection gives us insights that we do not have at the time. Neuroscience explains how memories are strengthened during emotional stress. A moment’s reflection will persuade most people that events like these—events that were emotional when they occurred—provide many of their most vivid, most detailed, most compelling autobiographical memories.
There are many benefits to adopting active, ongoing reflection during projects, in particular in Agile software development. Agile development reflects a method that promotes “iterative and incremental development”. The ‘Agile Manifesto’ includes a principle that loosely describes a reflective process: “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.”
The paper Reflective Practices in Agile development of the On-Demand Virtual Lab will aim to enhance the Agile methodology with tools and techniques that help the individual and the team describe their reflection, creating a baseline for communication and synthesis of ideas.
It aims to understand how Agile development has been used in a technically complex ‘proof-of-concept’ project, using a systems thinking approach to understand the components of this On-Demand Virtual Lab: both a hard systems approach to understand the technical issues, as well as a soft systems approach to understand the personal issues.
My investigation found that there were weaknesses in understanding the complexity and length of this project. There was a lack of support from management, as well as a lack of knowledge transfer.
Finally, the paper presents two reflective tools, known as Agile-Jazz and Agile-ECG that have been demonstrated to be beneficial for teams involved in complex projects. Agile-Jazz is an enhanced management structure, which brings stakeholders together to reflect and understand the problems, and seek solutions together. Agile-ECG classifies the reflection into Emotions, Cognition and Growth – providing a convention to reflection and aiding discussion within the team.