Agile software development is an often misunderstood and misused term. In an exclusive new series of articles, IDG Connect offers expert insight and opinion on Agile. In this piece, Hamish Tedeschi, a director and senior test consultant at MagenTys, explains why Agile isn't just a methodology, it's a mindset.
I won't say that Agile is the be-all and end-all but done well, it's awesome, delivering faster time to market. Done wrong it can be awful though, and I have seen everything in projects from complete success to complete failures.
Of course there are some differing definitions of Agile. Some people say they ‘do' Agile but what they mean is they have distributed teams. For me, Agile's not really a methodology, it's more of a mindset about collaboration and innovation and the way the two go hand in hand.
It supports the notion that implementing a good idea can only come from close work with workmates. We use what we call Behaviour-Driven Development (BDD) where we treat software test automation and communication as equal goals to help customers get what they want. We make sure that the whole team speaks the same language as the customer to avoid misunderstandings. There's a set of rules you tend to adhere to, but instead of writing it down we tend to use examples.
You need to meet on a regular basis. It might not be on an hourly basis but if you're dropping daily meetings then that's a recipe for disaster.
There are no hiding places in a team of seven or eight people and you need the right balance. It's not just about coders. If your business is taxi driving, you need the expert on that involved, and you need leadership.
You do see companies that are taking elements of Agile but watering it down - I see it a lot in banks - but if you're doing three sprints before production you're really losing the advantages. You don't get innovation in waterfall but different approaches work for different scenarios. I don't want Agile to be behind the software in the next aeroplane I take, but the fast, iterative, lightweight approach suits the new generation of apps.
What might be interesting is the effect all this has on offshore firms, such as Indian outsourcing giants, where the approach has been to go away and not quite throw it over the fence but be very project-based. In Agile you really need cooperation through co-location and if you can't have face-to-face interaction then you should just go waterfall.
Hamish Tedeschi is a director and senior test consultant at MagenTys, software testing company
PREVIOUS ARTICLE«Towards a Faster Agile
Jon Collins’ in-depth look at tech and society
Phil Muncaster reports on China and beyond