|
|
|
|
|
|
|
|
|
|
|
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.
Wind Chimes and more... Remember the 80:20 rule? You may not get everything perfectly... Read More Go into any bookstore and you will find a big... Read More Imagine for a moment this scenario from a frustrated Senior... Read More When economic conditions turn tough or when the heavy work... Read More Few things are more destructive to a career than a... Read More Attitudes are more important than facts. Dr. Karl Menninger... Read More IntroductionThe role of the Human Resource Manager is evolving with... Read More In any organisation, progress is frequently impaired by the time... Read More In Stephen Covey's great book, "The Seven Habits of Highly... Read More As crazy as it seems, some people spend more time... Read More Criticism has the power to do good when there is... Read More Individual and corporate security stand in the center of the... Read More After a full week of training, you are still a... Read More BUILDING TRUST AS A MANAGER: 1. Be reliable. Follow through... Read More This article begins with a tip of the hat to... Read More This article relates to the Recognition competency, commonly evaluated in... Read More People who work with us often struggle with this dilemma:... Read More Creativity can be defined as problem identification and idea generation... Read More Despite the fact that everyone sighs "How glamorous!", the life... Read More Transitioning from Vertical Hierarchies to Decentralized / Flatter OrganizationsThe need... Read More Every small to mid-sized business owner would love to know... Read More An essential step in managing the performance of salespeople is... Read More Leaders speak 15 to 20 times daily. You speak at... Read More Nearly every office, be it commercial or home-based, may have... Read More Most of us have found ourselves working on a team... Read More
Windchimes
for great gifts!
Top Ten Tips for Outstanding Customer Service
Nine Steps to Help You Develop Your Potential
The High Cost of Employee Turnover Among Project Managers
Morale Boosters: Feed the Troops First
Few Things Are More Destructive Than An Insecure Boss
Just The Facts
The Challenges of Human Resource Management
Time-Wasting Problems - One Question to Move You Forward
Building the Trust in Your Employees - 12 Easy Tips
Selecting a Business Broker or Intermediary to Help You Sell Your Business
Make Them GLAD Youre Their Boss
A Comprehensive Sarbanes Oxley Act Summary
Coaching Employees in the Workplace
How to Create a Trusting Manager-Employee Relationship
The Significance of the Mundane
Tales from the Corporate Frontlines:Choosing an Effective Employee Recognition Program
I Cant Use This Approach Unless My Boss Does - Power, Accountability, and Consequences
Innovation Management ? Rigorous data analysis
Organisation Tips For The Mobile Executive
Improve Operations by Restructuring
Maximizing Sales through the Ultimate Tracking Software
The Power of the Contract in Performance Management
Turbo Charge Your Career With The Most Powerful Leadership Tool Of All: The Leadership Talk: Part 1
Efficiency Around The Office
Help for the Meeting-Weary Manager
If you search on Google for "virtual assistant", you'll find... Read More
Remember the 80:20 rule? You may not get everything perfectly... Read More
Rejection hurts. No one likes to give it or to... Read More
You need to know all that is going on around... Read More
I love tennis both as a spectator and... Read More
The difference between leaders is ears. Good leaders not only... Read More
It seemed like a good decision at the time. A... Read More
Micro-Management and Delegation ... Read More
Do you have piles of paper on your desk. Many... Read More
There is much confusion as to whether competition or collaboration... Read More
My friend Delia is the owner of a small private... Read More
Conflict is a fact of life for all of us,... Read More
You're so excited you're practically bouncing off the walls. This... Read More
AbstractThe electrical products industry is one characterized by fierce competition,... Read More
Like many, I watched the 134th Belmont Stakes hoping to... Read More
We all complain about meetings which are a waste of... Read More
Every small to mid-sized business owner would love to know... Read More
The following tips will help you communicate more effectively with... Read More
Comparing Corporate and Personal goal attainment programs that have developed... Read More
The good news is that a new hire orientation program... Read More
Many business people and managers are spending too much time... Read More
Managers should avoid the tendency to constantly delegate to the... Read More
When looking to outsource overseas for Plastic Injection Molds or... Read More
You had better care! Because what people think usually leads... Read More
Effective project managers know how to get the job done,... Read More
Business Management |