Tuesday, July 03, 2007

Investing in backup technology

There are some standard desktop hardware technologies around that can maintain developer productivity in the event of common failures.

A longstanding thing is desktop uninterruptible power system. Our office is in an industrial park. Power outages are a fact of life here. They occur during the day several times a year. A very basic desktop UPS for around $30 each gives the users 10 minutes backup power on their desktop to save their work in progress, shut everything down cleanly, and log out.

In some cases in addition to lost unsaved work it can be difficult and time consuming to restart some applications if they do not stop cleanly. JBoss and WebLogic are like this.

Without desktop UPS people can lose up to several hours work. When this happens it is very frustrating for the user. In addition to lost productivity it also affects morale. The power is going to go out at least once a year. What's three hours of productivity plus employee satisfaction worth? Is it worth a one time expenditure of $30 per desk? I'd think and hope so. What's the marginal cost of a $30 UPS relative to the amount spent on each cubicle?

A more recent innovation is the dual hard drive PC. With hard drive costs coming down these can now be added to a PC for around $300. With dual HD, when your primary hard drive fails, which it inevitably will, your backup is right there and you don't lose anything you had set up on your PC.

For a programmer, we have all kinds of stuff on our PC hard drives. Little Python and shell scripts we write. Stuff we download like Ethereal and all kinds of other stuff, JDBC drivers, JBoss, all kinds of other stuff we use every day. PDF and Javadoc documentation. Plus all the settings like Firefox bookmarks and Office settings, Eclipse. Getting a PC set up again is a tedious, frustrating and unenjoyable process for a developer to go through.

When a programmer loses his hard drive, then the time to get back in business is around two full business days. And hard drives fail. I'd say around 50% fail in the first 30 months in a new PC. I'd guess about 75% fail in the first 5 years. In my office I've been there 6 years. In that time I've been lucky to only lose a hard drive once at work. However almost everyone else I work with has had at least two HD fails in the last two years. Some have had three. Everyone has had at least one.

Is two days of developer productivity worth the $300 extra to include a dual HD on new PCs. I'd think so. If not then why is he working there, it costs more than $150 per day for him to be there. This is a small investment that will enhance productivity and morale and is well worth it.


I guess something that could inhibit a company from making these small investments to enhance productivity and employee satisfaction would be the concept of visible vs. invisible costs. If the employees time is not billable then the immediate cost of lost employee time to things like power outages and hard disk crashes is zero. There's no direct and immediate cost to things like employee frustration at avoidable lost time. However there is a real and measurable cost to things like desktop UPS or dual HD. So unfortunately the visible cost outweighs the much larger though invisible cost and the investment is not made.

For billable employees, if billable time is lost then that's financially painful to the employer and they should be inclined to make these small investments to keep that billable tap open. Still, for non billable programmers their time should be really just as valuable to the employer as billable programmer time is to a consulting type software company.