Imagine yourself as the owner of a fishing company in need of improvement. Fortunately, a management consultant has come to you with his Fishing Maturity Model and its promises to save the day. Now, as a fisherman or a software tester, will you accept the maturity model hook, line, and sinker?
Imagine, for a moment, you own a fishing company. Perhaps it is in Louisiana, something like Bubba Gump Shrimp Company from the movie Forrest Gump. What you do is very simple. Every day, you cast your nets and bring in a few hundred pounds of shrimp. Minus the cost of gasoline and maintenance on the boat, you can "make a good living."
But Benjamin Buford "Bubba" Blue's family members were not professional shrimp fishers; they were shrimp cookers, so let's assume that of your company as well.
Enter me, the management consultant, and my Fishing Maturity Model. I point out that you've been running your business in an ad-hoc fashion-just running out into the water and dragging the nets. You don't know if you're doing well or not, and you have no plan for improvement. I'd like to help.
The Five Levels of the Fishing Maturity Model
- Ad hoc: Fishing is an improvised process.
- Planned: The location and timing of our ships is planned. With knowledge of how we did during the past two weeks and knowing we will go to the same places, we can predict our shrimp intake.
- Managed: If we can take the shrimp-fishing process and create standard processes-how fast to drive the boat, how deep and how quickly to let out the nets, etc.-we can improve our estimates over time.
- Measured: We track our results over time to know exactly how many pounds of shrimp are delivered at what time with what processes.
- Optimizing: We experiment with different techniques to see what gathers more shrimp and what does not. This leads us to continual improvement.
Sounds good, right? Why, with a little work, this would make a decent one-hour conference presentation. We could write a little book, create a certification, start running conferences ...
The problem
I've never fished with nets in my entire life. In fact, the last time I fished with a pole, I was ten years old at Webelo's camp. You see, I actually have no idea what I am talking about. I made it all up by inserting a process improvement framework over a specific activity. It's junk. It's garbage.
Or is it?
The beauty of maturity model mania is that it's a non-falsifiable argument. If you boil it down, all it says is: do the same thing every time, measure what you do, experiment, and then do what works best. How can you argue with that?
I won't argue with the idea that evaluation when picking changes to technique is good, but that's not what we're talking about. We're talking about a specific framework that, when you get down to it, introduces a series of wasteful and expensive processes that don't really pay off until level five.
I will argue that, as testers and quality experts-or, heck, anyone doing knowledge work-it's our job not to be fooled by the software, the project plan, or even by the people in suits with fancy ideas and PowerPoint presentations. If Forrest Gump wants to run a successful fishing business, he probably wants to listen to just enough of the idea to see what parts of it apply and then use his own good judgment and discernment on what to implement. (On the other hand, if the guy actually fishes every day and has been wildly successful, you might want to listen to him.)
There are a lot of bogus ideas in software development. This is just one little reminder to trust your gut; don't be afraid to say, "This whole thing smells fishy to me."