The traditional mindset is a mindset of knowing. Best Practices are for the purpose of knowing. “I know how to do it because it’s written in a manual, I know how to read, and I love to follow instructions.” The Agile mindset is a mindset of learning. “I don’t really know how to do this exactly, but I’ve done things before that are something like it and I’m sure I can figure it out.”
The Dreyfus Model sheds some interesting light on where I’m going with this. The Dreyfus Model was created by two professors named Dreyfus. You may notice from their picture below that they kind of look like two versions of the same guy, well that’s because they're brothers.
They came up with a model that defines five levels of expertise that can inform how people function best based on which level they are at.
Dreyfus Model Levels
- Novice = wants to be given a manual, told what to do, with no decisions possible
- Advanced beginner = needs a bit of freedom, but is unable to quickly describe a hierarchy of which parts are more important than others
- Competent = wants the ability to make plans, create routines and choose among activities
- Proficient = the more freedom you offer, the more you expect, the more you’ll get
- Expert = writes the manual, doesn’t follow it
People that are at the Novice level might tend to find the Agile mindset more difficult to embrace. If you’re a novice and don’t really have a clue of how to proceed along a path of learning a thing without direction, the Agile mindset would be more uncomfortable. Just give me the directions so that I can follow step by step to the finish. But when you've reached an expert level, a path forward is more clear and optimism is high that you will actually succeed even though you don’t know exactly what that path or destination will look like. Strong preparation in a domain helps the practitioner to gain the confidence needed to follow the learning path to success.
That’s where Best Practices fit in. Best Practices fill the role of building confidence for the learning path. As a novice I can do things by the book. As I get comfortable with things by the book, then I can advance to letting go of the book and adapting to a particular situation. It’s when you can start letting go of the book that you are really on the path of becoming Agile.