Distributed development was largely pioneered by the open-source software community and Affinity was an early and enthusiastic adopter of this form of working. Open-source has taught us how to effectively work in a distributed fashion and we now have developers who work in our own offices, on client sites and remotely – sometimes a combination of all three.
A distributed development project is software writing, design and build that is done across a number of worksites or locations. Although the project members may not see each other face-to-face daily, they are all working collaboratively towards a successful and, as importantly, cost-effective, outcome of the project. Many forms of quick, long-distance communication phone, e-mail, text, intranet and video conferencing, combine to make this long-distance working effective.
Distributed development is different to outsourcing where one organisation outsources the work to a different one in a hierarchical structure. It may involve a virtual team (or teams) which include members from the client side, but the component parts work with each other on an equal, mutually beneficial basis. Near-sourcing, where a developer works adjacent to a client site, is a part of the way it operates.
The reasons for the distributions might include the availability of resources, and especially skilled personnel, in different locations, closeness to certain business centres, proximity to customers or cost advantages Distributed development is very much a part of the Affinity philosophy of working with rather than simply for, our customers and finding the best and most flexible solutions to the many project challenges that may arise.
Some organisations still cling to the idea of co-located development teams, but distributed development may well offer a better way forward. Affinity can advise if, and when, it is right for you.