I've spent a lot of time over the past year thinking about and working with the Dreyfus learning model and the concepts of Shu-Ha-Ri as they apply to the evolution of agile software development teams. During that time, I've also seen that much has been written about the Nokia Test. This test, developed by one of the co-creators of Scrum, aims to assess a team's level of adoption of Scrum practices and principles. Specifically this test was developed to help teams avoid the traps of 'Scrum but'. Scrum is a fantastic approach to software development that I heartily endorse but I'm not sure that assessing adherence to the approach should come before assessing a team's ability to deliver what the business needs.
Rather than worry about whether 'we are agile', teams should primarily be concerned with whether they are providing the business with what it needs: a continuous flow of potentially shippable functionality and information pertaining to a realistic rate of progress which can be used to make timely business decisions.
How about asking these three questions to start instead:
- Does the team regularly deliver potentially shippable and incrementally valuable functionality at the end of each 2-4 week iteration?
- Can the team's product owner, given the team's historical velocity, predict with a satisfactory level of confidence, what value from the Release Backlog is likely to be shipped by a particular date?
- Is the team actively improving on 1 and 2 above?
If a team cannot answer 'Yes' to all three of these questions, using Agile techniques (and specifically following the Scrum framework) will likely lead the team in a direction consistent with one of the primary reasons to use agile techniques - project risk mitigation.
If the team can answer 'Yes' to all three of these questions, applying Agile techniques (and specifically following the Scrum framework) will likely lead the team to an increase in velocity.