May 30, 2012
When The Only Tool You're Allowed...
I keep getting pitches for "Agile" this and "Agile" that. It's baloney. When the only tool you allowed is a hammer, and that hammer is pitched as the golden solution to all your problems, you are in serious trouble when it comes to installing screws or putting on nuts, nevermind polishing your work. When the only workflow a company will allow it's people to use is "agile" development, even in non-development arenas, you are just a slave to a management guru who sold you a bill of goods and your company will sink.
You can't do sales in an agile framework - some contacts and contracts take months to develop, and don't fit on a sprint and scrum cycle. You can't run HR or accounting as an "agile" development group - they are steady state, not change driven. Their whole goal is to maintain a steady strem of work, keeping the company on an even keel.
If you put your operations team in with your developers on the development cycle, you will constantly have nothing but crap on your systems, and your customers will vanish about as fast as your operations people. They will constantly be fixing the crap that got broken in your developers' "agile" rush to produce, with inadequate testing, because development will be under pressure in your little "scrum" to slap code on it and move on to the next "sprint", with inadequate testing or thought. And the goals for operations people will look like development, and that will fail, when your operations group needs to make sure things change little, in a controlled, considered and safe manner - the opposite of "agile" development which is synonymous with "constant churn" development.
"Agile" is not a one size fits all tool, and many of the things associated with it are detrimental to serious, intensive programming - daily meetings, constant interruptions, task switching - all of which contribute to crap code and a crap work environment. Breaking down tasks into small steps? Good. Trying to "have 9 women make a baby in a month" - 5 people do in a day what one person does in a week? Bad. Letting programmers get in "the zone"? Good. Strapping a bunch of meetings into their workday? Bad. Cross-functional teams? Good. Letting the wrong side of the team/task drive? Bad.
I find "Agile" is just as overhyped and full of baloney as the whole "Cloud" hype. It's just another way to let trainers and gurus make money out of making the working stiff's life suck anew. I know lots of managers who say it's "great" (just like the emperor's new clothes), but not many who have to live under it who like it.