Scrum can be a solid foundation for software development teams. In the 24 years since it’s creation, many concepts new to software developers have come forth. I believe classic Scrum can be greatly improved by adding 8 relatively straightforward concepts/agreements to it. Some of these steps are more of an attitude shift that actual work. Some of the steps have different degrees of adoption. In this case it is suggested that at least a beginning step is taken.
Eight Steps to Improvement
Step 1: Consider Scrum as an example of what can be done. Anything in it can be changed as long as the objective of what’s being replaced is still met. See how to improve or change your practices. This removes the immutability of Scrum’s roles, rules, events and artifacts. These were put in place because without an underlying model of why Scrum works they can’t be changed.
Step 2: Use flow theory to create a focus on finishing and to avoid handoffs, handbacks, and delays in workflow/feedback. Flow tells us to remove delays from inception through realization of value.
Step 3: Base this new Scrum on Lean. Include systems-thinking to help you see the big picture and have explicit workflow to facilitate collaboration.
Step 4: Test-first to some extent relating both to requirements and development understanding and requirements to implementation. Ask the questions:
- When given a requirement: how will I know I’ve done this? See How to Start with ATDD using BDD
- When about to implement it: how will I test this? See Define Tests up Front.
Step 5: use Minimum Business Increments. While MVPs are in vogue, most companies are not making an investment to see if a new product is useful but rather are trying to create additional value for an existing product/service.
Step 6: include management in improving the process. Servant leadership is to the organization not to the team. See Toward Middle-Up-Down Management: Accelerating Information Creation
Step 7: Have everyone agree to the guardrails. The basic agreements are:
- Work on items that will realize the greatest amount of business value across the enterprise.
- Collaborate with each other in order to maximize the realization of business value across the enterprise.
- Ensure that all work will be made visible.
- Take the necessary steps to sustain or increase predictability.
- Keep the work throughout the value stream within capacity.
- Encourage everyone to strive for continuous improvement.
Step 8: Continuously improve by deepening your understanding of software development with PDSA.