Equinox IT Blog

Can agile software development be used if you don't have developers on site?

Agile methodologies instruct us to co-locate our agile software development teams to encourage a high bandwidth of communication between team members. However, at the same time, enabled by modern technology, there is a trend to more and more people working remotely or from home to reduce environmental impact, save commute times, provide access to global talent and so on. In New Zealand we also see many software development projects where a vendor runs a development team at their premises, away from the business and potentially the business analyst. So this raises the question:

Can agile software development be used if you don't have developers on site?

At Equinox IT we take a very pragmatic approach to agile software development. In other words, we do what we have found works best on our agile software development projects (agile with a little 'a') rather than stick rigidly to a particular agile methodology, such as Scrum (Agile with a big 'A').

So the simple answer is that yes, of course you can be agile (with a little 'a') if the team is not co-located, but you'll be more agile if you can co-locate. If not, you can use rich communication and collaboration technologies to enable your agile team and the business to work together daily and you should still be able to run agile software development projects.

Companies such as 37 Signals, the developers of the Basecamp project management product, state that for them access to global talent is more important than co-location. 37 Signals practice agile software development approaches with communication that is facilitated through their own collaboration tools. See their recent post Rethinking Agile in an office-less world.

In our experience, it is always better if you can communicate face-to-face, and so co-location if at all possible is preferred as it can make things easier and more effective. But, just because you can’t do that, doesn’t mean you can’t be agile. Where you do outsource or use remote developers then its effectiveness will depend on how you structure their deliverables. How often do you get a delivery from your remote developers? If you can get a delivery daily or every two weeks and test it straight away, then that is more agile than getting a delivery every three months. Are there ways that you can use appropriate technology to facilitate team involvement in agile face-to-face activities such as planning, retrospecting and reviews?

In summary, being agile is not a binary state, it is a spectrum. The more agile practices you follow, the further along that spectrum you'll be. Few teams follow every single agile practice in existence!

recorded webinar: how agile development teams succeed

Subscribe by email