Cost Management | By ExecutiveBrief | Read time minutes
The accuracy of your cost estimation process can make or break project success. Learn the strategies that will help you gain control of this key area and ensure future project profitability!
One of the greatest challenges for a project leader is to successfully deliver on all aspects of a project both according to the client's specifications and within the allotted budget. It is often the case that either one aspect or the other can be accomplished, but not necessarily both. When it comes to controlling costs, it is a critical first step to make appropriate estimations at the outset of a project. Being able to control costs is largely a matter of adhering to established guidelines, oftentimes by learning from previous projects and reacting to current circumstances efficiently and effectively.
Before You Begin, Estimate
In order to best examine how to maintain control of the costs involved in a software development project, it is important to begin with a sound guideline based on estimation. In researching the subject, an interesting model for cost estimation was uncovered.
Dr. Ricardo Valerdi, creator of the Constructive Systems Engineering Cost Model (COSYSMO), offers clarification on the subject and cites the motivation for pioneering COSYSMO as follows:
The COSYSMO model filled a need for organisations that needed to systematically estimate the cost (or effort) of their systems engineering. Some benefits include the ability to understand why certain systems are more complex than others and how certain characteristics of teams make them less efficient (e.g., disturbed development, unfamiliarity with product, low process maturity). 
Estimating Initial Costs
From the outset, initial financial guidelines for the project can be established. Using data and lessons learned from previous projects is certainly a good place to start. According to Dr. Valerdi,
Estimate your existing project by analogy…comparing it to other very similar projects. Reuse, reuse, reuse. The information gained during the past project(s) and the results at project completion can assist in establishing the financials and the resources in total that are needed for the project at hand. It is important, though, to carefully consider the requirements unique to each initiative and to make the necessary allotments.
Most organisations use multiple methods for estimating projects, notes Dr. Valerdi.
My favourite ones are parametric cost models and analogy. In the case of analogy, it is beneficial to consider the similarities between a previous system and the new system being estimated. This also provides an opportunity to explore the feasibility of reusing components from a similar system, he adds.
A good example is the Joint Strike Fighter. Rather than building brand new airplanes for each type of customer (e.g., the U.S., the U.K., Italy, and so on), Lockheed Martin simply made modifications to a common platform. This form of reuse makes cost estimation much easier because it allows different countries to ask, 'How similar is my version of the Joint Strike Fighter to the common configuration?'
Another important consideration in building and maintaining a financially sound software development project is having an effective risk management plan in place to help in offsetting the unforeseeable costs. While learning from prior projects is an important cornerstone, incorporating risk management as a factor into the estimates provides cushioning for unexpected scenarios that may arise.
All cost models contain some sort of risk assessment of their output, Dr. Valerdi notes.
Since a cost estimate is both a subjective and an objective probability, it can feed directly into a risk management plan. Government agencies are asking for estimates to be submitted at 80 percent confidence levels.
Examine aspects that potentially could cause setbacks and what affects the "budgeted" cost vs. the "true" cost. It's simple enough to consider a risk management plan, but there are still setbacks that can occur during a software development project that will affect the actual cost. Dr. Valerdi suggests being alert to the following scenarios:
- The customer does not know what they want (the requirements are unstable). Finances can become a complicated matter in an environment where the client is continually changing or making additions to their software needs. It can become difficult to present the client with realistic goals of meeting deadlines within the allotted budget. The client, once idealistic from the onset of the project, can grow disgruntled, and breakdowns in the IT-client relationship can develop. Assist the client in making an informed decision by presenting their options clearly and reasonably.
- Unproven technologies.
Unproven technologies are a major risk factor that can drive true cost upward,Dr. Valerdi explains.
One way to operationalise this is through the NASA Technology Readiness Levels (TRLs), which describe nine levels of technology maturity. In terms of cost, a lower TRL level (1 or 2) will cost much more to develop into a mature technology as compared to something that has been commercially proven already (TRL 8 or 9).When a client is looking for the latest and greatest in software to advance their own business practices and needs, the demand for such new technologies occasionally will come with a higher price and longer time frame, depending on the degree of complexity related to the requirements.
- Optimistic estimates. Being realistic about the financial outlook of the project is an important part of being honest with the customer as to what is truly required in order to make their software needs a reality; it eliminates some surprises. Everyone in the industry wants to present the best estimate to land an account, but truth in software development is more important, especially when specific requirements to the client's unique needs are considered.
Dr. Valerdi adds,
An optimistic estimate might help to get a project approved, but it will lead to problems as the project evolves. The U.S. government has been advocating for realistic cost estimates from their contractors because they realise that underestimating the effort involved with developing a product can lead a project to failure. One example of optimism is manifested in the estimation of a project schedule. Engineers tend to be optimists and often may overestimate their ability to complete tasks, leading to tight project schedules that become difficult to meet.
- Use a software engineer to handle cost estimations. According to Dr. Valerdi,
The best people for that job are the software engineers, as they need domain experience. In a sense, you need both expert opinion and a software cost model in order to get a reliable estimate.
Overcoming Financial Hurdles
If a project leader could foresee every financial hurdle or circumstance that would arise during the course of a project, then each one would be completed on time and under budget. While there are often set parameters as established by the client, expecting the unexpected is part of being prepared to handle these variables when they do crop up.
While holding meetings, collecting data, and generating reports are excellent ways of maintaining up-to-date project information internally, being able to translate this information into actual financials and react to changes quickly and effectively is critical. Use of such technologies can help an already over-burdened project leader to make the most of their time, and efficient time management is essential to sustaining the flow of a project. In this respect, everything affects the budget.
Through his experience, Dr. Valerdi has found the best methods for overcoming financial hurdles that arise during a project to be iterative development methods, i.e., spiral models that are risk-driven. Continual review and repetition of what has truly worked on past projects sets the groundwork for current projects and those to come. Dr. Valerdi also recommends researching software programs that are available to offer assistance with cost estimation and control throughout a development project.
One of the benefits of using a parametric model for cost control and estimation is that it is built on historical data. This provides a good idea of whether your project falls within the range of possibility compared to the repository of experience contained in the calibration data underlying the model, Dr. Valerdi asserts.
When organisations incorporate their own data in the calibration of parametric models, there are almost always improvements in estimation accuracy. One drawback of relying on parametric models that are based on historical data is that they are fundamentally biased by the fact that successful programmes were used for the calibration, he adds.
The programmes were successful because they were completed on time or nearly on time, unlike failed programmes that never end up making it into the calibration database.
Financially Sound From Start to Finish
While even the best-laid plans will require changes as time reveals the unforeseen and unexpected, it is essential to be prepared and lay the necessary groundwork at the outset of a project as a fundamental guideline to follow in maintaining cost control throughout the life of the project. This guideline should incorporate consideration for unexpected circumstances that will crop up by including the establishment and implementation of an effective risk management plan. Costs can be controlled through a combination of team members, appropriate technologies, and other resources available to the IT company. Communication is always the most effective tool, key to the success of the project and to delivering on all aspects of a project, both according to the client's specifications and within the allotted budget.
Dr. Ricardo Valerdi, research associate and lecturer at the Massachusetts Institute of Technology in Cambridge, Massachusetts.
ExecutiveBrief, the technology management resource for business leaders, offers proven tips, techniques, and action plans that companies can use to better manage people, processes and tools - the keys to improving their business performance. To learn more, please visit: SoftServe Blog
© ExecutiveBrief 2008
Recommended read: 11 Rules for Estimating Project Costs by Duncan Haughey.