In my experience, co-location is a must for real agile development. You can do something approximating agile with distributed teams – but an approximation is all it’ll ever be.