Advantages of Off Site Development
Having your software developed off site has numerous advantages from both scheduling and financial perspectives. What follows are some of the advantages of having your development work performed off site.
It is better for you:
- The less time we spend commuting, the more time we have available to work on your project. In our experience most customers want the work done as soon as possible (preferably a few days before we started on the project), the elimination of a daily commute can easily shorten the time to completion of your project by 25% or more because it allows us to work on your project during the hours that would have been spent commuting to your office each day.
- It saves you time and money. Whenever a new employee or contractor starts working for you at your site, it is generally necessary for you to provide desk space, computer(s), software, network connection, telephone, and assorted other basic facilities. The cost of these things when you include setup time, and support costs from various departments can easily run $10,000 to $20,000 or more at many companies. In addition, the time required to set these things up will generally cause delays of a week or more before we can begin work on your project. Having us perform the development work off site eliminates most if not all of these costs as well as the associated time delay, since our office is already completely setup and ready to go. You also benefit financially over the term of the project, because support and maintenance costs that you would normally incur for our "workstation" at your site are now part of our overhead expense instead of yours. We even provide a toll free 800 number in the USA, saving you the long distance toll charges when you call us!
- The computers in our offices are already configured the way we need them, and provide us with software and analysis tools that most of our previous customers do not have available. This often enables us to complete projects much more quickly.
- Our facilities are generally at least comparable to, and usually much better than the facilities that most companies are able or willing to provide their software/embedded systems developers, including:
- Adequate desk and table space
- Sufficient computer systems for development and testing.
- Ethernet and wireless networks.
- File server with automated full network backups
- On site magnetic media rated fire safe
- Secure off site storage for backups
- Completely independent of the power grid (solar powered with large battery bank and backup generator). On more than one occasion we have spent over 1/2 day waiting for power to return after a failure at a customer's site. With our current setup, we don't even notice when there is a grid power failure, and even a failure in our power system does not have any significant impact due to the computers running directly off the battery bank and spare equipment kept on hand.
- A variety of electronic test, assembly, and repair equipment.
- The only equipment that we need from time to time that we do not keep on hand are logic analyzers and high end storage scopes. For these items we prefer to either lease them (at our expense) or use our customer's equipment (usually at the customer's site). Since this type of equipment becomes quickly out-dated, we only need it occasionally, and the capabilities and required features vary tremendously from one project to the next, it makes more sense financially to lease or borrow it as needed.
It is better for the environment (This may not be important to you, but it is important to us):
- No commute means less pollution and less wear on the public roadways
It is better for us (not that it should matter to you):
- It gives us more time to keep up technically.
- Reduces our operating overhead.
Starting with our very first contract in 1988, DeaTech Research has a long and successful track record performing work off site for our customers. While we do from time to time perform the majority of the work on some projects at the customer's site, it is rarely actually necessary. Typical cases where it is actually necessary to work on site include:
- Teaching
- Project Management
- Requirements gathering/specification writing
- Debugging a large complex system that was impractical to setup in our office
- Classified / Secure Projects
A popular management "buzz phrase" floating around today is "team environment" or something similar, generally implying that there is a tight knit group of engineers working together to complete a single project. This is in fact nothing new, but it is currently trendy to talk about projects this way. Unfortunately, this trend has resulted in a number of major misconceptions about how software is developed in a "team environment". Where software is involved, teams can work together to define specifications and interfaces, create overall design, partition work to be done, integrate and test/debug code developed by different programmers, and review each other's work. While these are important tasks, only a small percentage of this work typically involves face to face meetings. Much of this work is often performed by the project leader or one other member of the team working alone, or is partitioned up for each of the team members to work on a separate piece, again alone. Once the work has been completed or has reached a particular goal, a meeting may be held to review the results of their work with the rest of the team. The bulk of a programmer's task is the actual programming work, and this is still performed alone. The one exception to this is when companies decide to embrace one of the current programming buzzword development methodologies such as "Agile Programming" whose proponents support a technique called "pair programming", there is some merit to this approach under specific circumstances, however, these circumstances would rarely if ever apply to work that customers hire us to perform. On many of our past projects, we have worked very successfully in a "team environment", without needing to be on site on a daily basis.
Though we generally prefer to work from our office for the reasons given above, every project is different and for a variety of reasons, there are times when we may find it preferable to work on site for your project, please contact us to discuss your current project requirements.
Debian Linux