Geeks With Blogs
Dynamic Concepts (in) Development Musings of TheCPUWizard

Considering the current economy in the United States, and the crisis on Wall Street, it is no suprise that companies are doing everything to manage costs. This is especially true in the IT and Software Development areas. Some companies are putting critical projects on hold, others are drastically scaling back, and many are lloking for lower costs alternatives.

Based on postings on various job boards the average posted hourly / per diem contract rate has decreased by nearly 20% from 18 months ago. In many cases this means that the client is attempting to utilize a resource with less experience.

While this does lower the cost on paper, the question really should be "Is it truly saving any money?". Remember that much of the current financial crisis is because of sub-prime mortgages and artificially (sometimes fraudulent)  inflated appraisals . The previous economic bubble (the “DotCom” boom/bust) was also largely based on valuations that looked good on paper, without the real value to back up the pricing.

At a software developer’s conference earlier this year, one of the discussion groups focused on this specific issue. Everyone that participated agreed that getting “the best quality per dollar” was the single most important metric;  so the discussion turned to “What is Quality?” with respect to the entire software development life cycle. This is where the discussion got very interesting.

Classic metrics such as “Lines of Code per Day”, “Bug Rates”, “Code Churn” were all discussed and while useful, were found to be lacking. When metrics such as these are used (especially if one is given a very high priority), then the development team will often adjust their behavior to provide “good numbers”. If you want lots of code per day, write the code fast; skip the analysis, let the QA team do ALL the testing. If you want a very low bug rate; spend hours one each line of code, and let the delivery schedule slip. If you want very low code churn; don’t check anything into the source control system and let the team members become serverly out-of-sync.

After the discussion had been going on a while, I proposed an alternative. Instead of trying to determine what quality WAS, could we define “What Indicates a LACK OF QUALITY?”. I also proposed a one word answer to the question: SUPRISES.

If you look at any of the current design methodologies, they all promise to help with one thing, predictability. This is impossible if there are too many surprises. The surprises can take many forms ranging from simple bugs not being detected until late in the design cycle to fatal flaws in the underlying architecture or design. Sometimes these surprises are not revealed until the product is released, or a maintenance update is attempted.

Many years ago “The Rules of Ten” were published. This stated that an issue found at any step in the design cycle would cost 10 times as much to fix at the next stage. While the exact number may be debatable, the basic premise that addressing issues as early as possible is the most cost effective approach is generally agreed upon

The statement of “You Get What You Pay For” also applies to the issue of quality. The experienced professional will know what works and what only appears to work from direct experience. This goes far beyond specific technical knowledge of a language or tool. It also involves the project management structure, team dynamics, and other factors in the specific environment. What works extremely well at one company, can fail miserably at another. Less experienced people, while often possessing excellent technical skills at the tactical level, typically lack the ability to consider the more strategic view.

In the end, the company that hires employees or engage consultants must make the decision between a low cost on paper (salary/rate) versus a lower overall development cost (also known as Total Cost of Ownership or TCO). They must ask questions such as “How do I improve reliability, and maintainability?”, “How do I ensure on time delivery of a program that meets all of the requirements and goals?”, and most importantly “How do I spend my money in the most effective manner of addressing these issues?

The CPUWizard is a trademark of Dynamic Concepts Development Corp. We are a full service software consulting firm, that has been providing quality software solutions to business since 1984. Located in New York, NY we provide a full range of on-site and remote consulting services. Please visit us on the web at www.dynconcepts.com or e-mail, TheCPUWizard@dynconcepts.com

Posted on Tuesday, September 30, 2008 11:32 AM Random Musings | Back to top


Comments on this post: Managing Costs in Today's Economy

# re: Managing Costs in Today's Economy
Requesting Gravatar...
Cheap labor is a bubble waiting to happen. No one in IT talks about it because it is an unpopular topic. Look into the electronic health record applications being outsourced to the lowest bidders, as well as the financial companies that outsourced overseas to save costs. I am not really against cheap labor or outsourcing overseas but I think the risks have not been considered... only cost. It seems so smart before be bubble burst and so stupid later. Greed is over taking common sense.
Left by dtinsley on Sep 30, 2008 12:07 PM

# re: Managing Costs in Today's Economy
Requesting Gravatar...
Dtinsley,

Thanks for your comments, and I agree to an extent.

I will never forget what happened when a company I worked with outsourced all of their documentation to a global provider. Unfortunately the provider did not speak idiomatic english and the results were totally scrapped, the product shipment delayed, and significant revenue lost.

On the other hand, alot of this has already started to self-correct. "Emerging" markets of a few years ago have raised their quality (and their rates) significantly. At the same time, new countries have entered the space.

It is also important to remember that a given dollar figure may represent "poverty" here in the United States, but may be a "very comfortable" income stream in the providers homeland.

Properly handled, these alternatives CAN save alot of money; but the cost of managing this environment must also be factored in, if it is not to incur a significant risk of disaster.
Left by TheCPUWizard on Sep 30, 2008 12:47 PM

Your comment:
 (will show your gravatar)


Copyright © David V. Corbin | Powered by: GeeksWithBlogs.net