Thursday, 21 February 2013
Agile, it's a funny old word.
It seems to be a common theme in the development world today about being "agile". With recruiters reporting that this "skill" is fast approaching the point where it will take over from "HTML" on developers CV's, the word "agile" is now losing its value. The meaning behind it is being lost to the realms of the buzzword, and as a result it is becoming harder to find the people who truly understand what we mean when we say it.
So what do we really mean by "agile"? This is a question that tends to be asked in interviews, and is greeted by a whole array answers. What we want to hear about is a passion to deliver value faster, incrementally, and collaboratively with the business. We want to hear about minimal marketable features, breaking down work into small chunks and regular releases. We want work to flow through the team via a pull methodology rather than it being pushed into the pipe.
The bottom line of it all is that 'agile' is just a word. It is all about the way you work and how you go about doing things on a day to day basis. To me, a lot of what 'agile' preaches is just common sense. It doesn't need to be badged up as some kind of buzzword, or worshiped as some kind of religion.
Its not just IT, but the whole business that needs to adopt these working practices in order for them to work. It requires a change in mind set, to put trust in the development teams and how they work. Despite common views, developers are just as committed to delivering value as anyone else in the business. They need the support and environment in order to do this the best way possible.
I have often seen departments suffer from "us and them" syndrome. This cannot be the case if you truly want to be a value driven business. These walls need to be knocked down and everyone needs to wake up and smell the coffee and realise that everyone is in this together. Once you reach this point, and everyone starts to work together - that is when you can really start to deliver. End to end delivery teams, responsible for taking an idea from inception to delivery. Quick and responsive feedback loops between the people doing the code and the people driving the ideas. Collaboration and taking everyone's views and inputs to a solution in to consideration in order to get the best possible result. This is the world I want to live in.
The bottom line, ladies and gentlemen, is that we should not get hung up on words or the latest craze - but we should strive to continually improve and take the best common sense approach when developing software.