Software Estimation Best Practices

How Can We Fix the Disconnect Between Software Vendors and Their Clients?

QSM is a leading demand and vendor management company. We have many years of experience working with outsource management professionals, evaluating software project vendor bids and monitoring the development progress of those bids for our clients. We are often hired to help them with their vendor management process because their past projects have failed to meet cost, effort, reliability, and duration expectations. 

It starts with the independent estimate and bid evaluation process. Our main clients are CIOs, PMO managers, purchasing managers, software project managers, and business stakeholders. Our clients will usually have a large software development or package configuration project pending. They are initially trying to figure out which vendor to hire. Vendor A will offer them a bid of 20 million dollars with a specified duration commitment and Vendor B will offer them a bid of 30 million dollars with a different duration commitment. How do we know which vendor to choose? Can Vendor A really finish with a lower cost and shorter schedule? Is the system going to work when it’s done?

The way it usually works is the client will make a decision based on their experience or gut feel. Or if they have already worked with a specific vendor in the past they will go with that vendor again based on some personal relationships that have evolved. Then the problems start. The work that was promised doesn’t get done within the promised time or the promised budget. The vendor then comes back and says they will add people to the project and everything will be ok. The client approves the revised project plan since they don’t have a way to confirm the accuracy of the revised proposal. Then even bigger problems start. More money is wasted, the schedule slips even more, and relationships sour.

Does this story sound familiar? It doesn’t have to be that way. By putting some software project measures in place and by leveraging some historical data you can save your company millions of dollars and improve the client to vendor communication and relationship. How do we get started saving ourselves all this money, time and aggravation?

First, the client needs to require that their vendors meet certain criteria. One of the requirements that is necessary is measuring the size of the system. Often clients and vendors think sizing is challenging but there are some very straightforward ways of determining size using information that clients already have available. Some of the standard size measures include lines of code, function points, user stories, configuration units, or use cases to name a few. The important point here is to be talking the same language as the vendor. Make sure the vendor knows how to measure the size of the system and make sure that both sides are doing it the same way.

Next, we need to make sure that there is a way to measure vendor productivity. We need to use historical data when measuring productivity. QSM uses what we call a Productivity Index which is calculated using size, duration, and effort from historical projects. With the Productivity Index we can empirically determine how vendors have performed in the past. Make sure that you require that historical data be provided as part of your RFP. If the vendor doesn’t have historical data we can use QSM industry trend lines or historical data from your own organization.

Once we have size and productivity parameters in place, then we need to forecast the cost, duration, and reliability using a parametric estimation model: a model that can also look at multiple what-if scenarios and a model that can sanity check the estimates with industry trends. We want to have access to industry data to make sure that the bids are competitive and to make sure that promises are realistic. In the chart below we can see the red data point which represents a vendor bid and how that vendor bid compares to an industry trend line of similar projects. The grey data points represent historical projects from the vendor or the client themselves. This type of analysis allows us to determine if the bid is reasonable.

Software Vendor Industry Trendline

We also want to make sure that the estimation model that we use can assess project risk. In addition to seeing the vendor’s proposed cost, duration, and reliability estimates, we also want to see the chance that the vendor has of achieving these estimates. In the chart below we can see that Vendor A has less than a 60% chance of achieving their project bid.

Software Vendor: Risk and Balanced Probabilities

These are some basic tools to implement. For added insight into RFP language, making the vendor management process repeatable across the IT project portfolio, and negotiation techniques specific to project monitoring, it is recommended to hire an expert. Someone that does this professionally can see things below the surface when it comes to data analysis and contract negotiations.

By implementing some software project measurement practices and working with a vendor management professional you can fix the disconnect between your company and its vendors, saving a lot of time and money in the process.