While continuing to prep for my families move to Colorado next month I have decided to revisit a post or two from before. I may take a week off from writing as well.
This post found widespread reading when it was first published in November of 2013. I’m adding it here as it was early in this blogs life and many people may have missed it back then. If you have seen it before all is not lost. I have gone through it and done some editing to make sure it’s still relevant.
When looking for information on Agile, software development is the most common industry represented. Within those results more often than not Scrum is used as the implementation. Many articles that try to talk about Agile in a generic sense use terminology from Scrum. A common side effect of this is that many people associate Agile and Scrum on a 1 to 1 level. This is a problem.
Agile is flexible.
One of the main concepts in Agile is that we do not know what we do not know. As we go through a project there will be new information. In being Agile we admit that up front. We start the project when we have the least information needed. We make decisions at the last responsible moment. We often take breaks to see what we have learned. We look at what has changed from our original understanding. We examine what works and what doesn’t. Most importantly, we use that information to incorporate changes to the project or process as needed.
Scrum is well-defined.
To be considered Scrum there are very specific rules that must be adhered to. If any of them are missing Scrum is not truly taking place. If any of them are in place in name only then at best “Scrum-but” is taking place. The entirety of what is required for Scrum to happen can be condensed into a 16 page guide or a 20 page primer. Anything less and it is not Scrum. Adding doesn’t mean it isn’t Scrum, but the additions are not Scrum.
Agile guides decision.
The heart of Agile is a set of values. Drilling down to the next level of Agile as defined for software development are a set of guiding principles. In none of the values or principles is an edict for activity made. They are all ideals to keep at the forefront of decision-making. They are meant to shape how a project is approached, not dictate the method used for accomplishing work. Gil Broza’s upcoming book The Agile Mindset goes into much more detail on this.
Scrum dictates process structure.
The heart of scrum is a set of roles, events, and artifacts. The roles people play on a project team are consolidated to one of three named positions. There are specific meetings that must take place every iteration. Work must be structured and queued in a certain way. Inside of this defined shell is Scrum. Outside of it is something else. It may be more, it may be less. It may contain Scrum, but it is not Scrum.
Agile is a way of thinking.
Agile thinking can benefit any project. Agile thinking is something that can be done in many different working environments. An Emergency Room can be run as an Agile project using a method such as Kanban. Agile thinking is open thinking. Open to change. Open to improvement. Open to modifications. Agile thinking allows for bonds to be as broad as practical. Agile accepts risks and work with them, trying to minimize them instead of eliminate them.
Scrum is a framework for getting work done.
Scrum is specific to product development, specifically software development. Scrum allows for flexibility, but only inside of the framework. Anything that is outside of the framework is an addition to scrum. It is allowed, but only if it does not undermine the framework itself. Anything removed from the framework means Scrum is no longer happening.
Scrum is Agile but Agile is not Scrum.
Just as all cars are vehicles but not all vehicles are cars Scrum is Agile but Agile is not Scrum. Scrum is something that, when used properly, is Agile. It allows for constant, short feedback cycles. It allows for continuous improvement. It gives transparency to the people who need it. Agile allows for more. Agile allows the framework to change as needed to best deliver value to the customer. Agile allows people to be placed in front of defined roles.
Scrum is a good place to start an Agile journey. It is simple on paper and in concept. It is widespread and shows a lot of success over the last decade. It is well understood and the benefits can easily be explained to the organization at large. The structure for Scrum can be mapped out and placed in an organization in a very short time frame. As an Agile Coach I would default to Scrum for most software development environments at the outset. In the end though, Agile needs to be more important than Scrum. Scrum is going to work. It might even be the best solution. Once a team trends towards high-performing the framework of Scrum must not be a limiting factor in improving the product and performance of that team. For this reason, even though I would start as Scrum, as an Agile Coach I would be open Scrum-but over Pure Scrum in more cases than I would be blatantly against it,.