Recently I had the pleasure to meet two developers with very different “styles” of software development. The first have never heard of SCRUM and never practiced any of the agile methodologies while the second is a certified SCRUM master and has used SCRUM to manage his team.
Both were given a problem to solve in one hour, although both haven't finished writing when time was up I learnt quite a lot from the bits they did finish.
Both finished about 50% of the required functionality but while one had one working feature the other only managed to finish the “infrastructure” needed to solve the problem. Although it can be argued who done a better job, it is clear which of the solutions is “more agile” (hint – the one that provide value).
The weird thing is that the developer without any “formal” agile experience choose to implement the solution vertically one feature at a time while the agile savvy developer got stuck implementing “architecture” showing zero value when his time was up.
So what do you think – which one knows more about what agile means?