Forecasting Support Costs

Did you know that maintenance accounts for 50% to 80% of the overall product cost? Well, it does! And while most project managers are fairly good at sizing new product features, many are terrible at estimating the effort required to support a product once it becomes generally available. As a result, maintenance projects are inadequately staffed, companies can't respond to customer requests in a timely manner, and products never reach payback.

This article presents a methodology to help you guesstimate and therefore plan for the maintenance phase of generally available products. But first, let's define a few terms that are important to the comprehension of this article.

Maintenance

Maintenance is defined as the effort associated with fixing defects in a software system after general availability (GA). In other words, how many person-months will it take your organization to fix bugs discovered by your customers in the field?

Maintenance can be subdivided in three sub-categories.

Corrective maintenance involves fixing bugs that are discovered in the system after it becomes generally available. An example of a corrective maintenance activity is a developer fixing a Java method that causes a compilation error.

Adaptive maintenance involves changing the system to work in a different environment such as a different network topology, platform, or operating system. An example of an adaptive maintenance activity is a developer fixing a Java method that works on BEA WebLogic but not on IBM Websphere.

Perfective maintenance involves changes that allow the software to meet the same requirements but in a more acceptable manner. For example, the designer might change some code simply to make the system more efficient or easier to maintain.

Enhancements

Enhancements, also known as change requests, are defined as the effort associated with adding new capability to a software system, or modifying a software system to meet newly defined non-functional requirements.

Imagine an application that requires the user to authenticate using a username and password. Pretty standard stuff, right? Maybe, but some customers might want to add a third credential to the password mechanism such as a domain. Others might want the username to adhere to an email address pattern. Finally, others might want the application to remember the user's credentials over sessions, thereby authenticating the user automatically.

Support

Support is defined as the sum of the maintenance and enhancements efforts performed after the product is GA. In other words, support includes all the activities that go on after a product is declared generally available.

Methodology

Early in my career, I realized that simple rule of thumbs could be applied to estimating the support cost of certain projects. For example, the annual cost of supporting a static Web site after it goes live is more or less equivalent to the cost of developing it. In other words, if developing a static Web site costs $10,000, you can expect to spend $10,000 per year maintaining it.

Understanding such rules is very practical. Unfortunately, few of them are transferable. In other words, the same rule would not apply to an e-commerce enabled dynamic Web site distributed across 3 tiers.

Various models have been developed over the years to predict maintenance costs based on defect-density (e.g. Raleigh Curve, Weibull Analysis), KLOC and KDSI, and development efforts. Unfortunately, these models are not without any shortcomings either. Many of them are either highly inaccurate or too complex to bother learning them. As a matter of fact, some are so complex that you need to purchase an application worth thousands of dollars and enter 100+ parameters in order to have it compute the effort required to maintain your product.

After having studied over a dozen forecasting models, there is one methodology that I highly recommend to any beginner or seasoned project manager.

Boehm's Model

Boehm's model is widely accepted in the industry as a valid model for predicting maintenance costs. It's relatively simple to understand, and more importantly, it allows you to refine your forecast thanks to cost multipliers, which will be explained later in this article.

Boehm's formula is the following:

AME = ACT X SDT, where

  • AME is the annual maintenance effort measured in person months
  • ACT is the annual change traffic, which represents a fraction of a software product's source instructions that undergo change during a typical year through addition or modification
  • SDT is the software development time in person months
  • Say a software project required 100 person-months of development effort and it was estimated that 15% of the code would be modified in a typical year. The basic annual maintenance effort estimate (AME) is therefore:

    AME = 0.15 x 100 = 15 person-months

    In other words, you should plan to spend 15 person-months of effort per year to maintain this specific software project.

    The basic annual maintenance cost estimate may be refined by judging the importance of each factor that affects the cost and selecting the appropriate cost multiplier. The basic maintenance cost is then multiplied by each cost multiplier to give the revised maintenance cost estimate.

    Say in the previous system the factors having most effect on maintenance costs were Product Complexity (CPLX), which was very high, and the availability of support staff with application experience (AEXP), which was very low.

    If CPLX = 1.30 and AEXP = 1.29, then:

    AEM = 15 x 1.30 x 1.29 = 25.2 person-months

    Forecasting Enhancements

    The revised maintenance cost does include the impact of the cost multipliers but does not include product enhancements, also known as change requests.

    The bad news is that forecasting enhancements is extremely difficult because it requires you to know ahead of time what additional capabilities your future customers will request. The good news is that you can charge your customers for any enhancements they require. As a result, a good organization does not consider enhancements to represent a cost but rather a source of incremental revenue.

    Conclusion

    When forecasting the cost of maintaining a product that is generally available, follow this advice:

    • Learn and use this (simplified) version of Boehm's Model to forecast maintenance costs.
    • Track your SDT.
    • Measure your ACT.
    • Define cost multipliers to refine your forecast.

    Furthermore, make sure you have a professional services team to implement change requests required by your customers, but do not treat them as costs since they are in fact a source of revenue.

    Luc Richard holds an MBA with a major in high technology. For the past 10 years, he's been managing the development of software applications. He is the founder of The Project Mangler (http://www.projectmangler.com), an online resource that publishes free articles, stories, and other ready-to-use tools to help developers, team leaders and managers deliver software projects on time, according to specs, and within budget.

    In The News:


pen paper and inkwell


cat break through


Project Management, A Forgotten Perspective

Effective project managers know how to get the job done,... Read More

Marketing Miracle: Outsource Your Creative Services

The current economy is causing most companies to tighten their... Read More

Poly Bags and Pallet Shrouds - Just Get it Right

For many companies, procuring the right packaging, such as Poly... Read More

Want to Manage Your Time? Get Real!

You know the drill - the ridiculous deadlines, the relentless... Read More

Jack Welch--Success Is Getting Back Up on the Horse

A few months ago I had the opportunity to spend... Read More

Creativity and Innovation Management ? Psychological Reward

Creativity can be defined as problem identification and idea generation... Read More

Bye-Bye Boring Meetings! Make Yours Remarkable!

It's the middle of the night. You've woken up with... Read More

Outsourcing NOT Just for Big Business

Outsourcing has become a controversial issue and a hot topic... Read More

Which ITIL Process Should We Implement First?

The following question is usually debated a lot amongst IT... Read More

Assertive Communication - 6 Tips For Effective Use

What IS assertive communication? Assertive communication is the... Read More

Solve Problems Permanently - Ask WHY

As Albert Einstein said:-"The significant problems we face today, cannot... Read More

ISO 9001 What Records Does My Business Need To Keep?

Which documents must I keep for ISO 9001?In addition to... Read More

Christmas Carol Coaching - Help to Get Ahead at Holiday Time!

I've always been fascinated by situations where art imitates real... Read More

Partnering for Performance

"The difference between a boss and a leader: a boss... Read More

How to Create a Trusting Manager-Employee Relationship

BUILDING TRUST AS A MANAGER: 1. Be reliable. Follow through... Read More

The Seven Cs: Partnership Danger Signs - Conflict Becoming the Norm ? Part 1

A series of articles exploring the seven critical areas that... Read More

Retaining An Expert -- What Every Business Owner Needs To Know

As an entrepreneur, hiring an expert can be one of... Read More

Improving Patient Sensitivity in Doctors and Hospital Staff

COMPANY/ORGANIZATIONA South Florida hospital. The CEO of the hospital saw... Read More

Presenteeism: The Hidden Costs of Business

(prez.un.TEE.iz.um) nPresenteeism, a relatively unknown concept, is the complement of... Read More

How to Delegate Effectively

ACCOUNTABILITY: Delegation is not complete unless subordinates are held accountable... Read More

Organizational Capital in Politics, War, Sports and Business

Intangible Corporate Assets such as Organizational Capital, Blue Sky and... Read More

The Business Shaman: Exploring the Mystery of Success!

Note: This article was written for a internet business site.... Read More

Why Business Owners Need Security

The main reason is to stop any potential lawsuits from... Read More

Across The Interview Table!

Job interviews are easier for the interviewer or the interviewee... Read More

How To Decrease Profits Without Really Trying

Hurting your sales efforts can be accomplished easily with the... Read More

The 70% Solution: Practical Testing and Version Control

"What do you mean you need to push back the... Read More

Understanding How Change Has Changed

There seems to be an assumption that change is a... Read More

Does Your Management Style Remind People Of Something They Read In Dilbert?

With thanks to Jeff Foxworthy, the comedian who does the... Read More

Are You the Culprit?

Are you a business, non-profit or association manager who pretty... Read More

Faith is the LIFE-blood of Your ACTIONS before the Benefit -

Nothing has changed. Your ancestors lived by faith. Some planted... Read More

Twitch Speed: Reaching Younger Workers Who Think Differently

Every parent, educator, and manager knows that "Nintendo children"--those born... Read More

This Old Business

Not long ago I was asked to come out and... Read More

Hiring Your First Business Personal Assistant: Some Guidelines for Successful Hiring

Hiring the first personal business assistant is an exciting time... Read More