l

Request A Quote

Five Critical Factors Technical Leaders Should Consider When Estimating Software Costs

This Black Slate Executive Brief shares Five Critical Factors technical leaders should consider when estimating software costs.

  • 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.

 

Executive Brief

by Tom Salonek

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.

 

27% to 200% Projected cost overruns - 1 in 6

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.

Take the worry out of custom software development with Black Slate.

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.

investment in training versus company profits - profits up 24 percent

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.

 

only 2.5 percent of companies finished project on time.

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.

ask the tough questions

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 SCQ 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.

 

two of the three - speed, cost or quality

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.

arrow pointing down

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.

arrow pointing down

Solution

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

R

Problem

Ignoring project dependencies and communication.

arrow pointing down

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.

arrow pointing down

Solution

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

Gear image showing work being done
R

Problem

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

arrow pointing down

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.

Base graphic of arrow rising to right
author image - Tom Salonek

Author: Tom Salonek, Founder and CEO, Black Slate, Inc.

Tom Salonek is the founder and CEO of Black Slate, a technology consulting and training firm. Black Slate 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.

About Black Slate Executive Brief

Black Slate 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.

The Fastest Way To Build Software Is “Right” The First Time!

 

Black Slate Logo

 

Understanding your industry is one thing. Understanding the technology you are using is another. When you read studies that tell you that 75% of projects are doomed from the beginning, it has to make you pause before signing your name to the outcome.

Consider letting our proven professionals take a look at your project. They’ve seen what can go wrong and know how to avoid costly errors.

We build custom software from start to finish. We plug into your environment with the proven expertise you need for us to work independently or in co-development. And, we bring the soft-skills that make the task enjoyable, and the experience to leave your team stronger and ready to take over.

We Bring You…

Team-Complete™ Development

Black Slate’s Team-Complete™ development means we make sure all the right people are seated at the table to assure success the first time. At Black Slate, you always get the best of the best! Proven consultants dive deep into your project, analyze your objectives, and lead your project to success with the expertise and the soft-skills you expect from a leader.

Soft-Skills For A Winning Experience

Sometimes the most critical person in the room is the one with a calm voice and the knowledge to select the right words. Bringing a development team together or presenting a clear concept for stakeholders can make all the difference between success or failure. Black Slate consultants are at the top of their field. They navigate challenging decisions, guide with a confident voice, and know when to get out of the way.

Turn to Black Slate when you need it done right!

Black Slate takes the worry out of custom software development.

Let’s Build Something Great!

Tell us what you need and we’ll get back with you ASAP!