Practical Software Estimation Measurement

Blogs

How Much Software Is in your Car? From the 1977 Toronado to the Tesla P85D

It’s easy to imagine there is a lot of complex computer software code required to operate and control a fully autonomous self-driving car, such as the prototype recently unveiled by Google, and that advanced systems engineering and software life cycle management techniques are required to successfully manage its development.  However, you may be surprised to find out that nearly every vehicle under 30 years old on the road today also depends on computer software - and lots of it.

According to an IEEE Spectrum article by Robert Charette entitled: “This Car Runs on Code,” the first production car to incorporate embedded software was the 1977 General Motors Oldsmobile Toronado which had an electronic control unit (ECU) that managed electronic spark timing.  By 1981, GM had deployed about 50,000 lines of engine control software code across their entire domestic passenger car line.  Other auto manufacturers soon followed the same trend.   

Automotive Software Size

1977 General Motors Oldsmobile Toronado (image source)

Blog Post Categories 
Software Sizing Project Management

Introducing QSM's Software Sizing Infographic

QSM Software Sizing Infographic Software size, the amount of functionality in a given software release, is arguably the most important of the five core metrics of software estimation.  There is little point in tracking effort, duration, productivity and quality if you are unable to quantify what you are building.

Yet, despite its critical importance, software sizing is often a difficult concept for many to understand and use properly in the estimation process.  Sometimes a picture is better than 1,000 words.  With that ideal of visual simplicity in mind, we developed a software sizing infographic that helps explain:

  • Why we care about size
  • Challenges in sizing
  • When size should be measured during the software development life cycle (SDLC) to narrow the cone of uncertainty
  • The difference between functional and technical size 
  • The most popular sizing methods and when to use them

The infographic begins by introducing the five core metrics of software estimation (size (scope), schedule (duration), effort (cost), quality (defects) and productivity) and the nonlinear relationship between them.

Blog Post Categories 
Sizing Software Sizing Estimation

New Article - Forecasting from Defect Signals

Forecasting from Defect Signals

On large software development and acquisition programs, testing phases typically extend over many months. It is important to forecast the quality of the software at that future time when the schedule calls for testing to be complete. In this article, originally published in CrossTalk, Paul Below shows how Walter Shewhart’s Control Charts can be applied to this purpose, in order to detect a signal that indicates a significant change in the state of the software. This signal detection is then used to improve mapping of project progress to forecast curves and thereby improve estimates of project schedule.

Blog Post Categories 
Defects Articles Quality

Making Project Decisions Early is Risky Business

At QSM, we have one of the largest industry databases in the world of completed software projects. The data comes from our clients with their permission and this data has been the backbone of our software estimation business for over 35 years. We can see what is reasonable on software development projects as it relates to cost, team size, effort, duration, size, and reliability. Because of our experience we are often asked about risk factors and estimation accuracy early in the project lifecycle. We explain that increased accuracy comes with having historical data and good sizing information.

But what happens on the early estimates when clients don’t have history and detailed sizing information? Can they still generate scope level estimates so they can make good business decisions? The answer is yes. Risk management techniques can be applied and project uncertainty can be calculated so organizations can plan effectively. This is very important because big business decisions are often made early. Decision-makers need to know if they should move forward with a project and they need to know how much time and effort to allocate.

We use SLIM-Estimate, which is a leading estimation tool that leverages the Putnam Model. It generates reliable estimates based on QSM’s time-tested forecasting models and historical data and it also provides scope level estimates when project information is hard to find. It will allow you to see the chance you have of hitting your project goals and it will allow you to factor in your uncertainty.

Blog Post Categories 
Risk Management Estimation

Getting a Good Start in Software Estimation

Software Estimation Good StartHow in the world does landing on an aircraft carrier relate to software estimation? Anyone who has ever experienced the terror joy of landing a jet on an aircraft carrier, especially on that dark, stormy night with no moon and a pitching deck, appreciates the importance of a good start. Your line-up is critical, as is your airspeed, angle-of-attack and attention to the "ball" – that tiny little yellow dot between the rows of green lights. As a former Bombardier/Navigator in the Grumman A6E Intruder, I have teamed with pilots on over 300 landings, all of which I have lived through. My job was to monitor and call the line-up and radar altimeter, handle the radios, manage the fuel and generally avoid sounding terrified for the entire evolution.

The process was made significantly easier if we arrived at the 3/4 mile point behind the ship at the right airspeed, gross weight, angle of attack, altitude and line up. Sort of like juggling a bunch of skittish cats.

But when all those parameters came together, we had a good start. When embarking on a software development project, or any engineering project, it’s equally important to have a strong foundation. That means having a solid idea of the characteristics of the project, what resources are (or should be) available, what duration is most likely and how good does it have to be. A software estimation tool can provide the project manager with this essential information.

Blog Post Categories 
Estimation

Webinar Replay - Avoiding Disaster in IT Outsourcing: A Quantitative Solution for Vendor Management

If you were unable to attend our recent webinar, "Avoiding Disaster in IT Outsourcing: A Quantitative Solution for Vendor Management," a replay is now available.

In the Forbes article “Now Every Company is a Software Company,” David Kirkpatrick argues “regardless of industry your company is now a software company, and pretending that it’s not spells serious peril.”

As organizations in nearly every industry sector transform into software companies, many executives, project managers, and procurement departments are being thrust into the role of managing IT vendors on software projects, yet they do not have the expertise to do so effectively. Typical pain points include:

Blog Post Categories 
Webinars Consulting

New QSM Software Estimation Workshop Series

QSM is pleased to announce the launch of a new workshop series focused on addressing the challenges organizations encounter when implementing software estimation processes. The series offers eight customizable workshops that are tailored to meet the unique needs of each individual company and its business goals.

Workshops include product training for users of QSM's SLIM Suite, as well as estimation fundamentals that are tool agnostic:

Blog Post Categories 
Estimation Training

Managing Project Risk through Early Defect Detection

Managing Software Project RiskWith the most recent spurt of inclement weather, there is really no denying that winter is here.  After awaking to about 4 inches of snow accumulation, I begrudgingly bundled myself up in my warmest winter gear and proceeded to dig out my car.  Perhaps the brisk air woke me up faster than usual because as I dug a path to the car, I began to think about software testing, specifically how effective early testing can reduce the chances of schedule slippages and cost overruns.  Allow me to explain.

Being an eternal optimist, I was grateful that the snow I was shoveling and later brushing off my car was light and powdery.  Despite the frigid temperature and large quantity of snow, I realized that it was good that I had decided to complete this task first thing in the morning.  At the time the snow was relatively easy to clear, and had I waited until the afternoon, the sun would have melted enough of the snow to make this task significantly more difficult and time consuming.

Webinar - Avoiding Disaster in IT Outsourcing: A Quantitative Solution for Vendor Management

On Thursday, Jan 29th at 1:00 PM EST, QSM's Joseph Madden will present "Avoiding Disaster in IT Outsourcing: A Quantitative Solution for Vendor Management."

In the Forbes article “Now Every Company is a Software Company,” David Kirkpatrick argues “regardless of industry your company is now a software company, and pretending that it’s not spells serious peril.”

As organizations in nearly every industry sector transform into software companies, many executives, project managers, and procurement departments are being thrust into the role of managing IT vendors on software projects, yet they do not have the expertise to do so effectively. Typical pain points include:

Blog Post Categories 
Webinars Consulting

Resource Demand Management - Are the Right People Working on the Right Thing?

I am excited about the resource demand management capabilities in our newest SLIM-Estimate release (8.2). Software project estimates can now provide a breakout of Full Time Equivalent (FTE) staffing requirements by role by month. The staffing profile below shows how different roles, or skills, are required at different points in the schedule, based upon a particular development methodology. You can see that 6 FTE Programmers are needed by the month of May. Producing a high-level, scope-based estimate early in the software development lifecycle with detailed resource demand data helps the PMO and portfolio managers determine the best timing for project resource allocation, and setting project start dates that maximize productivity and reduce bottlenecks.

Software Resource Demand Management

Once the estimate and resulting project skills allocation plan has been approved, resource demand management has not ended. Tracking actual staffing at the skill and task level for in-flight projects not only ensures the right people are working on the right things, meaning that product development is on track, it also allows timely resource plan adjustments to address unforeseen staffing needs.