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
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:
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.
INTERNAL PUBLIC RELATIONS: Never overlook an opportunity to do internal... Read More
"Experience is not what happens to a man; it is... Read More
Successful enterprise building requires seven elements. These are:1. People, who... Read More
You've made the plans, built the quality system and conducted... Read More
Creativity can be defined as problem identification and idea generation... Read More
Does the idea of program evaluation make your stomach churn?... Read More
At some point, your business is going to need to... Read More
MANAGING A MARGINAL PERFORMER: Often a marginal performer, even after... Read More
Kicking Winning Business Goals The competition for business... Read More
It's all very well having a flashy (and expensive) advertising... Read More
The senior flight attendant on the WestJet flight was starting... Read More
Someone can say, 'Why do you oppose this?' So I'd... Read More
The purpose of any selection process is to discriminate (albeit... Read More
The Fundamentals of Strategic Marketing, Some Key Traits for Greater... Read More
I remember once seeing a cartoon which showed two people... Read More
Now that it is January, many of you are putting... Read More
Most firms have intelligent, capable, knowledgeable managers who are very... Read More
When we're selling to business people, our value proposition has... Read More
One of the most difficult tasks you will face as... Read More
Definition From http://www.merriamwebster.com -- "Virtual: - being such in essence... Read More
One of the most difficult and emotionally draining situations you... Read More
What is Six Sigma?Six Sigma is a quality management program... Read More
Human Resource Employee Risk ProfileIs your business at risk? Do... Read More
Does your organisation have one of those annual 'occasions' that... Read More
This article relates to the Training competency, commonly evaluated in... Read More
Managing a meeting is like setting off on a long... Read More
Many kinds of interferences or disturbances can confuse a message.... Read More
If you have company delivery vehicles at your small or... Read More
In the fitness room the other day, I caught a... Read More
As you look around your office, is everyone just like... Read More
Okay, so you've figured out what kind of meeting is... Read More
For centuries companies have used on-the-job training (OJT). OJT works... Read More
As we near the end of summer, here is a... Read More
Every one of us, in reality, has two people inside:... Read More
When asked what part of their job they find a... Read More
Ten or so years ago, an international consultant, specializing in... Read More
The great majority of family businesses in North America are... Read More
On communication: One of the biggest strains on the communication... Read More
In numerous programs I've conducted on performance appraisals, with Human... Read More
JUGGLING DEMANDS: All leaders constantly juggle a multifarious array of... Read More
Perhaps the most common theme I've heard in working with... Read More
Does being managed by others smack more of "Survivor" than... Read More
Firstly you should decide your own reasoning behind considering ISO... Read More
ACTIVE LISTENING: The most frequent cause of failure in therapeutic... Read More
KEEP WRITTEN RECORDS: "Document !Document! Document!" Keep a record of... Read More
Being a leader isn't easy. Every one looks to you... Read More
Is your online business disaster-proof? Online businesses face a unique... Read More
How many times have you asked someone to do something... Read More
I sit on the board of an organization and at... Read More
A major source of communication breakdowns is incongruence between the... Read More
I have been an entrepreneur for over twenty years and... Read More
Few Decision makers see the link between between creativity and... Read More
This article relates to the Senior/Top Level management of an... Read More
They say that management can be a lonely place. A... Read More
Nothing has changed. Your ancestors lived by faith. Some planted... Read More
Have you ever worked with someone who always seemed to... Read More
DECIDING WHAT TO DELEGATE: Once the benefits of delegation are... Read More
How can I make my community of practice truly effective?How... Read More
If you're old enough and were living in America about... Read More
A paper manufacturer with over 300 employees once announced that... Read More
Integrity is very important to me, and I try hard... Read More
In today's chaotic world and uncertain economic times too many... Read More
It is 9:00 am on a Monday morning. Do you... Read More
We obtain strategic results by aligning HR mission, vision and... Read More
As a manager our role is to:1. Establish the vision,... Read More
Fear, Incentives and GrowthZig Ziglar says that there are three... Read More
Business Management |