I work with agile software development teams a lot. These days as a coach rather than a scrum master or developer. With the Scrum methodology, a ‘retrospective’ is the recognised mechanism for improving as individuals and as a team.
For anyone unfamiliar with Agile and Scrum methodology, www.scrum.org is a good place to begin, but in layman’s terms a retrospective is an opportunity for the team to come together and inspect how they performed and what actions to take to improve their collective performance.
The widely adopted format is to hold a regular meeting and discuss
- What went well ?
- What could be improved ?
- What will the team commit to improve ?
In the past I have found that it helps to add some further structure to this discussion and encourage teams to consider the above in the context of:
In the last few years, I’ve continued to encourage the above structure but have supplemented this by asking teams to consider another question.
What is our purpose?
Increasingly the teams I work with approach software development in a discovery led way. Determining the underlying user needs and motivation before making a single keystroke However, its not unusual for this valuable context (the purpose) to fade or become lost entirely as software development progresses.
Artistic representations of the vision placed centrally in the teams physical location, regular user research involving all team members and close working with end users through test phases does help to avoid this, but I find that including a purpose discussion within the retrospective is a useful trigger point for re-aligning on ‘the big WHY?’
Asking the team to regularly consider the purpose question can reveal some patterns that allow for specific improvement actions to be agreed.
Stories about NASA janitors may help to us understand the motivational value of being part of the big picture (check out Mark Zuckerberg’s speech in July 2017).
However, developing a clear understanding of purpose also makes good commercial sense, certainly within software engineering for customer facing services keeping teams aligned with an increasingly dynamic environment and ever-evolving customer needs.