Absolutely this can be done and in my opinion is the best way to build a great software team. I am the CTO of Openair.com and this is how we have always operated. We have a dozen developers, about half in the Boston area and the other half spread across the US and we all work from home. Using this approach we have built a successful startup that has steadily and profitably grown every year for the last decade and we are now the dominant vendor in our space.
I believe that this approach creates a work environment that allows us to attract and retain great developers. The kind of developer that really likes to write software and has the maturity and discipline to manage their own time and decisions.
Some implementation notes:
1. We release a new version every two months, the continual releases keep everyone on track with constant customer feedback.
2. We all see and read the check-in diff's, absolutely the best way to know what someone is doing and how well they are doing it.
3. There are great developers outside of the traditional Valley/Boston/Austin areas and a telecommuting team lets you find them and hire them.
4. After about 6 months it becomes very clear who can handle the telecommuting setup and who can't.
I believe that this approach creates a work environment that allows us to attract and retain great developers. The kind of developer that really likes to write software and has the maturity and discipline to manage their own time and decisions.
Some implementation notes:
1. We release a new version every two months, the continual releases keep everyone on track with constant customer feedback.
2. We all see and read the check-in diff's, absolutely the best way to know what someone is doing and how well they are doing it.
3. There are great developers outside of the traditional Valley/Boston/Austin areas and a telecommuting team lets you find them and hire them.
4. After about 6 months it becomes very clear who can handle the telecommuting setup and who can't.