The Scrum framework provides a number of Scrum events in which it is possible to inspect and adapt and reflect and learn from progress to date. These events may occur at the sprint end or start, or daily. They include:
- The sprint review. What have we done and what we should do next to ensure that value is optimized.
- The sprint retrospective. This is an opportunity for the Scrum team to inspect themselves and create a plan to enact on the improvements in the next sprint.
- Sprint planning. The team forecasts which product backlog items it will be able to deliver during the sprint. This is likely to be based on the average velocity of the team and what they have learned about the development to date.
- Daily Scrum. This event allows the team to plan the next 24 hours by inspecting the work done in the previous 24 hours.
In addition, it is likely that the processes that are used to deliver a user story will also contain feedback loops and opportunities to learn. For example, many teams use Kanban boards in order to monitor the progress of a user story, bug, or task. Each column on the board might have an entry and/or exit criteria, and 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 possibility for the card to move back one or more columns in order to have the problem resolved. Moving back can prevent generating new bugs.
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 are listed below:
- Takes feedback on board and suitably moderates actions and behaviors
- Tries something different if previous actions have not worked
- Understands what he or she needs to do next to improve
- Recognizes 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 are 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. So far my 7-year-old daughter has been a Self Manager,
an Effective Participator,
a Team Worker,
and now a Reflective Learner. She has yet to be a Resourceful Thinker and an Independent Enquirer.
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 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.
© Focus Education Ltd. 2014