651.288.7000 info@intertech.com

Avoiding the Common Errors in Software Development Cost Estimation

This Intertech Executive Brief shares Five Critical Factors technical leaders should consider when estimating the cost of any development project.

 

  • Hidden project infrastructure costs

  • Costs related to staff turnover and the need for new skills

  • Expenses due to project dependencies and communication

  • Underestimating costs by assuming who is doing what

  • The Triangle, Choose Your Two: Speed, Cost, Quality (SCQ)

It also provides recommended proven strategies for dealing with the challenges of software development cost estimation. Leaders who choose to ignore these factors upfront are invariably confronted by problems they cause during the project development process when it is more costly—both in time and money.

 

Author: Tom Salonek, Founder and CEO, Intertech, Inc.

Tom Salonek is the founder and CEO of Intertech, a technology consulting and training firm. Intertech has won more than 50 awards for growth, innovation, including being named one of the Top 30 Places to Work in Tech by Fortune magazine. He has an undergraduate degree in Quantitative Methods from the University of St. Thomas where he was also an instructor at the Graduate School of Business Management Center and has completed executive education at the Harvard School of Business and MIT.

Hidden project infrastructure costs

Setting up infrastructure is an expensive upfront cost but consider the cost of not getting projects right from the start: runaway average cost overruns as high as 27 percent, with one in six projects overrunning projected costs by 200 percent. 

Commonly Missed Infrastructure Expenses

It’s easy to overlook hidden infrastructure costs when conducting a software development cost estimation. The top commonly missed infrastructure expenses or time commitments include:

  • Setup/Configuration of Source Code Repository

  • Setup/Configuration of CI server

  • Artifact Management server

  • Acquisition of Test servers

  • VMs or physical servers for each

  • Permissions for each of these

Additional Executive Insight

Setting up infrastructure for a software development project often involves engaging time and materials from other groups within an organization. Not surprisingly, these groups have competing priorities.

 

Software Development Cost Estimation

Recommendation

For environmental infrastructure costs, build a complete budget that includes the commonly missed infrastructure expenses outlined in this section. For infrastructure setup and timing, understand schedules of competing groups with whom your project must coordinate. Building both of these items into the project plan avoids cost increases and delays.

Costs related to staff turnover and the need for new skills

The software industry has the highest rate of turnover of any industry, according to LinkedIn based on a recent survey of one-half billion professionals. 

Staff Turnover is Expensive

Staff turnover is an expensive, time-consuming problem for all technical leaders. In an enterprise project spanning years, team members come and go. This could be due to attrition because employees leave the organization, move to other internal projects or are swapped in/out due to technical needs of the project. While teaching new team members the project’s libraries, frameworks and tools will significantly increase developer performance the “down time” to do this usually is missed in estimating a project’s costs. Training is critical, so make sure staff training expenses are included in your software development cost estimation process.

Additional Executive Insight

Some companies hesitate to spend on employee training, but it’s a wise investment. HR Magazine reports that companies who invest $1,500 on training per employee see an average of 24% more profit than companies that invest less.

Recommendation

In your plan and budget, include training new team members as a result of attrition, training ongoing team members on new technologies used in the project, and the use of consultants to help leverage the technology. 

Expenses due to project dependencies and communication

Multiple studies show that a significant share of projects overrun their original timelines or are never completed. A study by PricewaterhouseCoopers, which reviewed 10,640 projects from 200 companies in 30 countries and across various industries, found that only 2.5% of the companies successfully completed 100% of their projects. 

Project Failure Rate is Staggering

While the reasons are wide and varied, the rate of software project failures is staggering. One common factor is project dependencies and less than optimal communication. Integration with systems within an organization or an outside third-party organization – such as accessing a public API to collect weather forecasts or integrating with a credit card company to process payments – need to be included in the estimate, along with a clear plan defining who’s doing what on each side of the integration. Then overcommunicate to make sure everyone’s on the same page.

Additional Executive Insight

During the integration process, it’s not uncommon to find defects or to learn that APIs or integration points don’t work as documented. While third parties or internal groups usually are willing to fix these problems, the time spent on your project will result in more cost and delays. As such, integration with other products is another key item to include in your software development cost estimation and planning.

 

Recommendation

Factor in time and cost for internal and external system integration. To avoid delays, early on, create sandboxes to prove out integrations. For internal integration points, create communication-channels between your team and the members of other projects where your system is integrating. If any of the systems your system is integrating with are in development, continuously monitor those projects’ development rates, bug counts and other key trends.

In the Agile methodology, even though you’re a busy executive, attend the demo of your project’s dependencies to understand how well all is working.

Underestimating costs by assuming who is doing what

Bill Gates once paraphrased Winston Churchill when he said about the Internet that “Now this is not the end, it is even not the beginning of the end. But it is, perhaps, the end of the beginning.” 

Far From The Ends

The same can be said about software development projects. When the final line of code is written and the final test passes, it’s the end of the beginning but far from the end! A new process begins in deployment, including maintenance and upgrades. Failure to plan for this next phase may result in software that is not easily maintainable in production.

Additional Executive Insight

Infrastructure projects are fairly self-contained, such as upgrading all the servers in a data center. Once that project is finished, it’s set for years. “Compared to successful application projects where the business owner — defined in Agile as the funding source — will frequently return with new ideas for modules and features.” Successful application projects are different because the business owner—defined in Agile as the funding source versus the actual business owner—will frequently return with ideas for new modules and features.

Recommendation

Ask key questions before your project begins to ensure the resulting software can be successfully deployed and maintained: “What supported network configurations are supported? Are upgrades installed by professional services or by the customer? Who monitors the software to make sure it’s running properly, and do they have sufficient information to do so?” Asking these tough questions in advance during your software development cost estimation phase will help to get a plan in place, listing clear lines of responsibility.

The Triangle. Speed, Cost, Quality. Choose Two.

Deciding where a project lies in the SQC triangle is essential. As a leader, if you don’t know, you can’t expect your team too. 

SCQ Triangle

Speed. Cost. Quality. This is the “SCQ Triangle.” Here’s the SQC fact: you can have two not three. It is important to decide which two of these three outcomes are most critical to meeting a project’s unique requirements.

Additional Executive Insight

A lot of time, energy and money are wasted when clear direction and communication about where a project sits on the SCQ triangle is lacking. In the day-to-day work of a project, when decisions are being made and work is being done, everyone needs to know the top two project priorities.

Like a risk mitigation plan, the time to determine the two top SCQ priorities is well in advance, not when the project is under deadline pressure.

 

Recommendation

Bring together key stakeholders – product owner, project manager, sales/marketing manager and the system designer/architect – before the project begins during the software development cost estimation process. Together, hash out a clear understanding of where the project lands on the SCQ triangle. Let all know where on the Triangle the project sits to facilitate strategic daily decision making. Overcommunicate the two that drive the project’s decisions.

Successful Software Development Cost Estimation: At a Glance

R

Problem

Failing to plan for infrastructure costs.

Solution

Develop a realistic budget, including frequently overlooked hidden costs. Factor dependencies for internal groups.

R

Problem

Failing to anticipate turnover in the project team/need for new skill sets.

Solution

Training, including cross training, new team training, new technology training and use of consultants.

R

Problem

Ignoring project dependencies and communication.

Solution

Verify integration points early on; add communications channels between your team and leaders of other projects. Demo project dependencies.

R

Problem

Forgetting to plan for ongoing maintenance and upgrades.

Solution

Know who’s responsible for what. Get a plan in place, including lines of responsibility.

R

Problem

Failing to determine where a project sits on the SCQ Triangle.

Solution

Decide the two priorities for the project and communicate early and often.

Conclusion

Many software projects end badly: late, over-budget or simply canceled. A 2012 Gartner user survey found that, while large IT projects are more likely to fail than small projects, around half of all project failures, irrespective of project size, were put down to functionality issues and substantial delays. Other research in the ensuing years has come to similar conclusions. But there is much technology leaders can do to change this equation. Paying close attention to project dependencies, communicating early and often, understanding the project’s SCQ quality position, planning for maintenance, and keeping team members engaged and trained on relevant and emerging technology tools all can help shift the software development cost estimation odds of success in your favor.

About Intertech Executive Brief

Intertech publishes original articles, reports and periodicals that provide insights for business leaders. Our goal is to draw upon research and experience from throughout our professional services organization, to include consulting and training, as well as coauthors in academia and business throughout the world, to advance the understanding of important principles of interest to executives throughout the IT world.

651. 288. 7000

Pin It on Pinterest

Share This