thats SCRUM and TDD and all the rest; it is all those new ways of managing development projects and being super-productive and modern and buzzword-compliant; all the sprints, scrums, playing cards crass commercial nonsense.

The management pitch is that by getting programmers to follow some process rote you will get good, predictable results out.

See, the thing is, the success of the coding-part of a project is dependent on the calibre of the engineers doing that coding and not the process they follow.

The success of the non-coding part of a project is dependent on the calibre of your sales/management and how they interact with the customer. If you are trying to prescribe some rigid process, however lean, in order to make that interaction effective, then you have a customer interface problem and process isn’t going to help it.



Process is, actually, just tax. If you need to follow a prescribed process in order to be in any way an effective coder then you are mediocre at best and so is your work and your project. If you are a good programmer, you know yourself how to communicate and create your ‘process’ as you go along, lean and tailored to the problem at hand and the political lay of the land. A prescribed process versus an organic process.



Iterative development is what we used to do when we got things done, and we didn’t have some process we had to follow to do it. Common Sense. Get Things Done. A long way from the sham that is the Agile business though.

Dear William,



Tried reaching you many times but unable to hear back from you.



Just want you to recall our earlier email with regards to interest in joining us for the renowned XXXXX in XXXXXX April 2012.



You will be certified as Certified process professional and also receive the SIX Hands-on toolkits on participation at the workshop.



As you have missed the Early bird offer, in order to build the relationship with XXXXXXXX, we are glad to offer you a Extended early bird price of EURO 1135.



Do let me know if you would like to block a seat for you as we have only 5 seats left.



Looking forward for your earlier confirmation.



Best Regards,

XXXXXXXX

Enterprise Architecture Services

As I wade through the rest of my spam folder, it’s chock full of invitations to expensive courses to make me certified this or trained in that. Selling the whole new agile way forward is big business. Some are on-line but most are proper hotel things where, for some four digit number of dollars, I can bring home my own pack of playing cards and be qualified to use them!



Given that I am not a fan of prescribed process as the solution to our problems, you can infer my opinion of the general quality and effectiveness of those programmers who teach these courses ;) Or maybe they are super cool coders who just play the game and laugh at their customers as they exploit a lucrative niche?



A fun anecdote is to consider the belief the TDD crowd entertained that, by creating tests for a problem you couldn’t solve, you could somehow evolve a code that passed the tests and therefore solved the problem! The result was a predictable classic: compare TDD Suduko to a simple solve-problem-first-then-code approach by a clever chap.



My mind races back to my experiments with genetic programming and the evolution of very niche anti-code. That’s a fun aside.



In this fantastic talk Rich Hickey - creator of Clojure and all-round smart chap - talks about complexity in general and observes that the only people who can run fast are those who run very short races. Of course, by firing the starting pistol every 100 yards and calling it a new sprint, Agile solves that problem!



When I was a student I interned and then contracted for British Telecom in a team at their labs called FastTrack. As BT was so big, BT’s IT process was big, ungainly and predictably late. So a skunk-works team for executing stop-gap projects to fit immediate fires grew into FastTrack. And because we were responsive, we got asked to do bigger and bigger projects, and our solutions became more and more relied upon. It’s a cycle.



The agile sales movement is a FastTrack with the fatal flaw that it is not about developer calibre. It’s about grinding programmers and trying to average them out. No-one should be surprised when you get mediocre, predictably late projects.



In time there will be a new movement which paints Agile as broken, inefficient and bad and we’ll get a new brand. That’s the kind of iterative development I’m looking forward to; a new target for our collective disdain ;)

(Disclosure: I have a few of these certificates myself; I think I did it for the trinkets)

Update: Steve Yegge said it in 2006, and its still true. And this is a nice comment on Hacker News.

This from 2009 is brilliant too. Of course we all recall the Coders At Work Duct Tape Programmer jwz saga but I hadn’t read Ravi’s excellent perspective on it. Ravi’s points are very much the points I was trying to make in this article too.



(And to everyone who wants to argue about my lumping all these distinct, separately-certified systems together; well, you’ll come around to my world view and want your money back with time.)

Notes

"share"