9.28.2006

what do i do for a living?

I received an email from a colleague today. It talked about software's annoying characteristic of deteriorating over time, across changes. This, he wrote, was as much a part of the business of creating software as are computers. He then went on to stress the importance of developer testing aka unit testing. He mentioned how developers spend less than 20% of their time writing unit tests according to a recent industrywide survey. He encouraged, in fact, insisted that developers write unit tests that ensure coverage of all changes and additions, and review older unit tests for regression.

The key to being ahead of the competition, he wrote, was being nimble, and that meant having short release cycles. But if software was not well-tested, if developers did not write unit tests, or there were no automated regression tests, developers would be afraid of making changes. Even if they did dare to make changes, those would take longer to get tested, or worse, lead to failures.

How logical! Being a testing freak, I was ecstatic to read someone else speak the same words I have been crying out loud during my whole professional life.

But that was just the cake; here's the icing. The colleague who wrote the email was the vp of engineering & research.

For anyone wondering what I do here, this should quell any doubts about its importance!

2 comments:

keerat said...

I've found that unit tests have a nifty side effect- you tend to write code that can be tested easily. That tends to help in the long run since you land up with something (by virtue of easy testing design) that can be re-learned quick and is generally modular enough to be tampered with in specific areas. Best of all- you've got your regression suite waiting for you on demand.

pohl said...

lol, vishal.