Praise for Scrum

I have been accused of two things in the last few days. One is true, the other isn't. The one that is true is that I'm always looking for what's missing and not acknowledging enough what has been done. The one that isn't true is that I don't like Scrum. Although as CEO of a global training/consulting company I feel I need to look for what is missing, I also need to praise and acknowledge the good things around me. Something I don't do this as much as I could. Since I am a firm believer in the ability of people to create magic in their lives, I guess this makes me a very optimistic, half-empty glass kind of guy. J

However, I am committed to acknowledging more about what is good and less about focusing on the negative. As a start down this path of personal transformation, I wanted to take an opportunity to praise Scrum and discuss many of the things I like about it. So here goes.

Iterative nature of Scrum affords quick learning. Scrum is based on an iterative approach. This requires building some of the system, either delivering it to the customer or at least getting feedback from them and moving forward. This iterative nature allows both learning what the customer needs as well as learning how to improve the process of delivering value to the customer.

The inclusion of the customer, so more value can be delivered quickly. By focusing on the customer relationship with the team, Scrum highlights one of the bigger challenges teams face – getting reliable information on what to build. This is a very significant challenge that must be addressed. Scrum provides many insights into dealing with customers in a product way. By building software in stages with close customer contact, the most important functionality can be built and delivered quickly.

The elimination of building the wrong thing. By focusing on delivering high value items to the customer and by delivering (or at least demonstrating) this to the customer, the team can significantly lower the risk of building the wrong thing. Since this is the greatest risk to software development, this is very important. Building functionality that isn't used has the obvious disadvantage of wasting resources. However, it is much worse than the mere cost of actually writing the software. The complexity this extra, unused, software causes results in higher maintenance costs that are typically much higher than the cost of building the software in the first place.

Scrum's emphasis on removing impediments. While Scrum is a great process to start with, it emphasizes the need for the team to figure out how to continuously improve the process. This not only enables the team to create more value, it assists in the creation of the team itself. A great team will produce more value with a bad process than a poor team will. A great team with a great process will be truly amazing.

Gives people the opportunity to realize they can control their destiny. Removing impediments from one's life has a spiritual affect. It makes one aware that they are not a victim in their lives but rather are the captain of their lives. I find this wonderful and very consistent with my company's vision of "effective software development without suffering."

Scrum's ability to incorporate (and be incorporated into) other processes. Scrum is a framework for improving the software development process of a team. Therefore, it can be tailored, integrated and integrate in any number of ways. For example, Scrum can be easily integrated into a Lean-Enterprise endeavor as well as incorporate lower level technologies such as many Extreme Programming practices (e.g., automated testing) and design patterns. This enables a team to start where it needs to, be it with Lean, with Scrum or with improving technical skills.

Easy to implement at the team level. All of the above are great, but the fact that Scrum is easy to implement makes it even better. I recall assisting a team to use Scrum seven years ago where it took less than a day to get started. Quick wins are the best ones to get.

Thanks for reading this.

Technorati Tags: