|Recently, I became older. Over the course of my life, this has been a disturbing trend. However, the alternative doesn't seem much more appealing. I'd be willing to "Benjamin Button" it for a few years, but that doesn't seem to be on the menu.
Now, don't get me wrong, I'm simply getting older. "I'm not old", he says, quickly concealing his gray hair.
I've noticed many older people ranting. It seems like it might be fun? So, I thought I'd experiment with it (in this post). I originally wanted to post this to my blog, but then realized I don't have one.
So, I'm posting it here instead. I'm hoping that the villagers will keep their pitchforks and Tiki torches in the shed. At the moment, I can't afford to pay a bridge troll its fare to pass.
So, anyhow, here goes...ranting powers activate...
I've been thinking a lot about software methodologies lately. Mostly, because there is no beer left in the fridge.
They always start out well-intentioned. "We keep falling behind our delivery schedules. Let's do something about that." Yeah!
Initially, much like a Mogwai, they start out all "cute and fuzzy". Then, someone feeds them after dark. Suddenly, they're trying to eat your face off.
OK, I digress, that might be some other critter. Honestly, I don't know much about Gremlins. I just know they're bad!
I think a better name might be software ideology. After the good intentions are long forgotten, the dogmatic elements become dominant.
"You can't do it that way." Why? Because, the methodology says its wrong.
My favorite example is the Manifesto for Agile Software Development (http://agilemanifesto.org/).
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
I continue to agree with absolutely every one of these goals. If anything, its almost an anti-methodology. I suspect, but cannot prove, the pain of those well-intentioned heroes.
However, it suffers the fate of most good intentions. It follows a life-cycle familiar to many of us.
Step 1: Save the World - Some people with good intentions, recognize a problem and try to fix it. "Let's write a few simple guidelines. That should help."
Step 2: Build a Better World - Inevitably, that damned imperfect "real" world refuses to cooperate. "It doesn't always work for us. Let's fuss with it. If we just add a few simple rules, it will be even better."
Step 3: Write a Book - People start to interpret or misinterpret those few simple rules. A couple more rules should add clarity. "These rules are a little unclear. Can someone maybe write a book on the topic?"
Step 4: Hire an Expert - Companies have difficulty consistently implementing the rules. A couple more rules are added to help. "We're having some trouble with those rules. Can we get one of the folks who wrote that book to help us with a lecture?"
Step 5: Get Certified - Companies recognize that people experience uneven success following the rules. A couple more rules are added to help. "Folks aren't consistently following the rules. Is there some certification they can get to make sure they understand?"
Step 6: Enforce The Rules - Companies recognize the results are still inconsistent. A couple more rules are added to help. "Folks are still inconsistently following the rules. Can we hire some management experts to help enforce them?"
Step 7: Build a Culture - Countless studies (with little peer review) conclude that this is THE WAY to develop software. "This is definitely the way to go, let's make it part of our corporate culture."
Step 8: Build a Religion - Evidence of a problem with the methodology seems to exist. "It didn't work for you? The methodology isn't wrong. You're just doing it wrong."
Step 9: Attend Seminars - – Fans of the methodology assemble. "Those dumb people still don't understand our methodology. Let's start a seminar so we can discuss it!"
Step 10: Recognize a Problem - The industry as a whole comes to realize the methodology is flawed, return to step 1. “Hey, this isn’t working. I heard about this new methodology. Let’s try it.”
I wish people would allow software methodologies to serve them instead of making it the other way around.
I wish people would recognize the wisdom in common clichés: all things in moderation, no solution fits all problems, etc.
If a methodology is working for a project, great! Use it. If its not, use a different methodology for a while.
Methodologies shouldn't be a suicide pact. Multiple methodologies can co-exist. Let's end the rule that new methodologies must kill off their predecessors. This isn't Thunderdome.
Ultimately, in the software industry, we're making sausages. It's sometimes an ugly business. However, if the product is of good quality and affordable, the process used to create it shouldn't matter too much.
Ranting wasn't as much fun as I hoped. I tried it. I don't think its the thing for me after all.
Ah well, there's beer in the fridge again...problem solved...ranting powers deactivate.
P.S. Apologies for originally posting this on Soap Box. After reading a few posts there, it seemed misplaced, so I moved it here. Long time author, but first new post on a forum, so hopefully I'm not too off base
modified 19-May-18 19:47pm.