To start with I want to thank all the guys at Forward that created such an environment, they are in the credits at the end of the presentation, but for this blog post I want to put them first.
Secondly, I want to say thank you to all the audience, I never had such a brilliant audience, the room was full and I struggled to finish the presentation cos there were something like ten hands up or more.
And the conversation didn’t finish there, outside and for the whole day I did talk with so many great developers who gave me so many insights that I am now struggling to remember all of them.
And that’s the reason of this blog post.
To give you an opportunity to better understand my presentation (especially if you weren’t there) and to write what I learned after it.
Agile is now mainstream, with all the consequences
Nusco gave us an awesome keynote, at a certain point he did quote the original paper of the waterfall methodology which sounded weirdly similar to the agile one.
I did check and he was right, not only.
I saw the waterfall diagrams and now I remember where I saw them the first time.
Craig Larman showed them to the audience, at the Italian Java Conference. It must have been 2004 or 2005. I can’t remember.
I love the part on the paper where the author admits:
I believe in this concept, but the implementation described above is risky and invites failure.
The point is that since Agile is becoming mainstream it’s getting polluted by certifications, labels, zealots, people reading and learning about agile but forgetting that implementation can be risky and lead to fail, same as waterfall.
My presentation tried to explain that you should use just the right tools for the context you are in and avoid using the full stack just because you heard of it.
I have to say that it’s pretty sad to be called a revolutionary in 2010, as I said before, we are just following the Agile Manifesto. So, what’s going on? What happened to Agile?
Why Agile these days does mean following books and papers over individuals?
Why Agile in these days does mean writing tons of tests rather than delivering working software?
Why Agile these days does mean strictly following a set of practises rather than responding to change?
Why Agile these days does use external business analysts rather than direct customer collaboration?
These are the questions to reflect on. I don’t want to be a revolutionary, we just follow the manifesto, but so many teams lost the original plot these days.
Agile is not dead, agile now needs to prove that he can survive in a mainstream/enterprise context without getting polluted.