The Scrum framework provides a number of Scrum Events at which it is possible to reflect and learn, and, inspect and adapt using the progress that has been made to date as a yard stick. These events may occur at the beginning, during or end of a Sprint and include:-
- The Sprint Review. What have we done and what we should do next to ensure that value is optimised?
- The Sprint Retrospective. What can we do as a team to improve the way we work together and/or proactively prevent the likelihood of impediments?
- Sprint Planning. Based upon what we have previously been able to complete (using empirical evidence such as throughput and/or velocity), which priority Product Backlog items do we believe that we can deliver during the next Sprint?
- Daily Scrum. In the last 24 hours, what have we been able to complete? In the next 24 hours, what do we plan to complete? And, what may impede us from completing work towards the Sprint Goal?
It is likely that the processes being used to deliver a user story will also contain feedback loops and opportunities to learn. For example, many teams use physical and/or electronic boards in order to monitor the progress of a user story, bug, or task. Each column on the board might have entry and/or exit criteria. As the card moves on the board it will need to meet these conditions in order to progress. If they cannot be met, or problems are found at any stage, there is the opportunity for the card to move back one or more columns in order to have the problem resolved. Similarly tasks/columns such as code review, demonstration or testing also allow for feedback to be captured.
To be able to inspect and adapt in each of the brief scenarios listed above, members of a software delivery team will need to be ‘Reflective Learners’. Some of the criteria of a Reflective Learner (as defined by Focus Education Ltd.) are listed below:-
- Takes feedback on board and suitably moderates actions and behaviours
- Tries something different if previous actions have not worked
- Understands what he or she needs to do next to improve
- Recognises where work could have been better
- Shares learning with others
- Is happy to make changes from an original idea
- Takes time to consider experiences and what needs to be done next
- Checks and edits own work
- Values and uses feedback to improve quality of work and learning
- Accepts different types of feedback and learns from them
- Identifies strengths and weaknesses in his or her work and gives reasons
- Copes with criticism and learns from it
These attributes do not come from a software delivery guide or a book on Agile or Scrum. These attributes were used by teachers at my daughter’s school as assessment criteria for the Reflective Learner skills of 5- to 11-year olds. The purpose of teaching these skills is to empower the pupils’ learning.
I have previously blogged about the skills of Self Managers, Effective Participators, and Team Workers, which are other skills that the pupils have been learning.
If a group of 5 to 11-year olds can display these skills, then so can the members of a software delivery team. The ability to inspect and adapt and learn from work previously completed and/or in progress is key to being able improve the way in which you work, with the goal of delivering value as early as possible.
A version of this post was originally published as an article on the Scrum Alliance website on 13th June 2016. Read the original article at https://www.scrumalliance.org/community/member-articles/1483