Trend: Software developers can work from any location with a broadband connection as long as appropriate procedures and tools are implemented.
Here are excerpts from an interview by GL Ness of Always On with Borland senior vice president Chris Barbin about distributed software development. (Disclosure: I do distributed development.)
There's something to be said for having a critical mass of people in one location: It makes it easier to communicate, collaborate, and learn. However, with the right technology, people skills, and processes in place, an individual working in a home office can just as effectively contribute to the team as someone working at headquarters or in a branch office.
...we're really only at the beginning of the virtual enterprise with software development. People used to think that knowledge capital had to exist in one place for software development to be most effective, but our customers have found this isn't necessarily the case. What is important is that the employer defines roles, responsibilities, and business goals up front and then properly aligns teams to accomplish those goals—regardless of where those teams are located.
Distributed development is a broader term that refers to software that's being developed by team members in different locations: It could be in a different city, a different country, or by a different company altogether (as in outsourcing). Outsourcing, in contrast, is just one type of distributed development scenario.