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.)