Last week I
ranted posted about how some members of the agile community are engaging in pointless debates about complexity theory, kanban maestros & scrum blockades. I pointed to a post by Liz Keogh as an archetype of the genre (as I said to Liz, there’s plenty of other authors I could have used). Liz asked for some feedback and was generous enough to agree that I had a point.
If we try to ignore the first commenter, who hilariously and spectacularly, misses the point by wondering if the issue is a “complex problem, possibly even chaotic”. I think Liz has drawn all the wrong conclusions, about the state of the industry.
It is the best of times, it is the worst of times
In my 14 years in the industry I’m confident that there has never been a better time to be a programmer or to work in IT. But thanks to a community of well intentioned “agilists” many in the industry are flagellating themselves into believing themselves hopeless programmers.
I live in Scotland and there’s an old joke about the definition of a Scottish Calvinist:
“Someone who is paralysed by the fear that someone, somewhere, is enjoying themselves”
Similarly the definition of a modern programmer could be:
“Someone who is paralysed by the fear that someone, somewhere, is doing BDD better than they are”
Many programmers are so obsessed with writing better unit tests, understanding the problem better, worrying about their kanban wall, working through Martin Fowlers pattern library, trying to be “masters” not “journeymen” that they’ve forgotten the basic joy of cranking out some code and solving a users problem, and are paralysed by the fear that they’re doing it wrong or poorly.
Ironically, it’s never been easier to write some code and get it downloaded and used. Individual devs can create and upload apps to the App-store for a potential audience of millions. Cloud computing means the home coder can create apps that can scale massively on demand for an initial outlay of a less than £20 quid. While you’ve been worrying about your BDD adverbs the iFart dev just made $40,000.
It’s not that improving your skills isn’t important, it just shouldn’t become all consuming and derail shipping software. Apart from my blog posts, there is no such thing as perfection, and guess what, you learn from your mistakes. And we certainly shouldn’t be putting up barriers to welcome all and sundry into the industry, it sure beats working at Tesco. If you are a “master” your one mission in life should be to make it easier not harder for “journeymen” to improve (BTW I loathe this master/journeyman patronising nonsense, it just succeeds in making programmers more paranoid).
Are you as punk as Ward?
I like to think of Ward Cunningham, Kent Beck, et al as the first punks in our industry. Just like the original punk rock was a reaction to the complex and multi-instrumented prog music as epitomised by bands like Yes and Emerson Lake and Palmer. XP was a reaction against the “analysis paralysis” caused by, as they saw it, the complex and formal software development methodologies of the day. By turning things like TDD, Small releases, CI up to 11 they managed to break the deadlock and start rocking out the code.
XP was the forefather to agile, and sadly since those heady simple days of XP, we’ve slowly been adding the complexity back in – until I overheard someone say recently “I’m not sure I understand the definition of a story, properly” as if that were important. We’re now in a state of “over-analysis paralysis”.
Anarchy in the IDE
I’m not the only one thinking like this, Jeff Atwood recently tweeted:
“all this process stuff at #ordev is boring. At Stack Exchange, we have one process: kicking ass and chewing gum. And we’re all out of gum.”
Zed Shaw sends up the agile community far better than I can using a tad more colourful language at Programming Motherf***ker
So I propose we need to bring back some of that original punk rock spirit. There was a famous punk t-shirt which said “Here’s 3 chords, now form a band”
Similarly in programming we could do with something similar:
- Here’s an IF statement
- Here’s a loop
- Here’s an editor
- Now write an app
Or as Johnny Rotten said “Don’t accept the old order. Get rid of it.”