We have a truly virtual environment. Our programmers and developers work from their own homes. Most use their own equipment with some accessories and software supplied by our company. They set their own hours with a minimum number weekly requirement. They get to choose when they have off. Around each software release, there is an exclusionary period when vacations are not allowed unless there are extenuating circumstances.
Our programmers and developers get to choose from a list of tasks what they are working on at any given time based on the priorities set for each task. The list is kept online allowing all of our web developers to access their lists, then attach notes, diagrams, or documents, reassign it or request feedback. When they have finished an item they can flag it as ready for review or testing. Each item has a priority which is set by the manager or the team leader. Each item also has a detailed billing code that allows the customer to track work at the detail level. Our workflow management programming is available to everyone, no matter what their location, over the internet.
Programming code is stored in an online repository that contains version control as well as the ability to merge versions etc. For each client, four repositories are used: Production (the current release of the software), Supp (a copy of the current release for fixing issues), Test (where the code ready for testing is placed weekly by the developers), and Dev (one per developer) where they can create their software and unit test it without impacting any of the other code in Test. All repositories are backed up daily to a location 3 states away from the server.
Programmer documentation, tools, manuals, and vacation schedules are all listed online so all they need is an Internet connection. The sub-contractors frequently work from locations other than their homes – just as you will be able to – from anywhere.