Whenever I hear the term waterfall model, I start wondering: Which organizations would actually do that? Who has ever done programming without changing the specs along the way? Maybe the contracts or formal specs weren't changed during the project, but I still lack to see a big system that was actually programmed exactly as it was originally specified.
My first experience with XP was, that somebody put words on how things were actually done, added a few more techniques, and wrote a book. I really enjoyed that. Then came Agile as a term, because Scrum, RUP etc. were all trying to fix the same problem, and the Agile Manifesto. Brilliant.
But today it seems that something is going wrong. I see more and more Scrum fanatics, which are actually trying to discuss "is 14 days or 21 days the best iteration length?" That's actually a violation of the agile manifesto: You need to respond to change, and focus on people and interactions, instead of focusing on a process.
Looking retrospectively at the last many years, I can only conclude, that it's not a question of choosing a method for developing software. It's about being good at understanding and managing software projects.
I don't think that "Agile" is the last buzzword in software development. To some people it has already gotten the meaning "less predictability", whereas to others it means "Iterations". Others immediately think "Scrum". To me, Agile means better management. One day, someone will write a new book, with a new title, and that title will contain a new buzzword.
Crystal Clear is an overlooked methodology and I think it so close of what you are talking about: is not a methodology but a set of priciples and proposed ways for solving certain needs, including changes of the actual metodology.
And indeed, I think this is the idea of what the Agile Manifesto is all about.
You say "Agile" I say "RAD" or "DSDM".
It's all Snake-Oil, or Coals To Newcastle a.k.a (snowballs to Eskimos), SSDD, Money for Old Rope.
The industry will keep on reinventing itself/finding new says to sell the same-ol'-same-ol', meanwhile most of us will just keep plugging away and getting the job done, whilst the gullible will be fooled into buying a whole new load of recycled dead trees and rethinking their processes (only to realise that - in the majority of cases - it's not the process that's the problem, but the thinking that goes on INSIDE the process).
When our shop went Agile back three years ago, we hired Ron Jeffries and Brian Marick (two of the Agile Manifesto authors) to come and "set us up". You are correct... the process is dynamic because the definition of Agile is how fast can you deliver a 'tested and proven' product to your customer with their desired features... AND they like it.
So for starters take your current process regardless of what it is and cut the time in half and up the quality by 4x and deliver with double the customer satisfaction. Something about your process, the way you test, the way you code, the way to gather requirements will change.
Now you are on the road to become Agile. Companies will claim to be Agile, but they can not deliver feature (reasonable size) requested from a customer in one iteration... are they Agile? Why do some Scrum folk would argue for a three week iteration? Would this make them more or less Agile?
Post a Comment