Practical Software Estimation Measurement

Blogs

New Resource: QSM Software Almanac: 2019 Edition

QSM Software Almanac: 2019 Edition

We are pleased to announce the release of the QSM Software Almanac: 2019 Edition, an essential resource for anyone involved in the planning, management, or budgeting of software and systems projects and portfolios. This year's almanac focuses on agile development and the continued relevance and application of estimation and metrics.

The 2019 Almanac presents 18 articles from several perspectives, including both private and public. These articles show that there is indeed a compelling need to apply the basic principles of software estimation to projects, regardless of the methodology used, and that traditional metrics – even sizing metrics – can and should be applied to agile projects. Over the course of this book, the authors examine agile sizing approaches, effort and productivity, estimation best practices, as well as project and portfolio management best practices. All the articles offer research and insights into the foundational skills associated with parametric estimation and adapting those existing skills to account for changing conditions.    

Much of the content in the 2019 QSM Software Almanac is derived from the QSM Metrics Database, drawing data from over 13,000 completed software projects from North and South America, Australia, Europe, Africa, and Asia, representing over 1.2 billion lines of code, 600+ development languages, and 120 million person hours of effort.

We invite you to download the full, complimentary version of the 2019 QSM Almanac below.

Blog Post Categories 
Articles QSM News QSM Database Agile Estimation

How Machine Learning Algorithms Can Dramatically Improve your Estimation Predictions

At QSM, we have been on the leading edge of software estimation technology for 40 years.  One of our recent innovations is to incorporate machine learning into our SLIM-Suite of estimation and measurement tools.  If you are not familiar, the whole concept of machine learning is to “train” your algorithms with data to improve the accuracy of their predictions.  Simple in concept, but the devil is in the details.  In software project estimation, we are always asked to provide timely decision-making predictions based on skimpy information.  Depending on the situation, our analysis will typically focus on one or several of the following criteria:

  1. Schedule (Time to market)
  2. Effort (Cost to develop)
  3. Staffing and Resources Required
  4. Required Reliability at Delivery
  5. Minimum-Maximum Capability or Functionality Tradeoffs

We start the training process by utilizing data from completed projects using these five core metrics.  The data usually resides in tools like Jira or PPM products. Once obtained, we run statistical analysis on the data to determine typical behaviors and variability.

Estimation Machine Learning
Figure 1. Project data used in SLIM Machine Learning Training Process.  Triangles represent completed projects.  Lines are curve fits of the average behavior and statistical variation in the positive and negative directions.  These charts show how time, effort and staffing change depending on the size of the product to be developed. 

Blog Post Categories 
Estimation

Webinar Replay: How to Identify Unrealistic Project Expectations and What to Do about Them

Managing Software Project Risk Webinar

If you were unable to attend our recent webinar, "How to Identify Unrealistic Project Expectations and What to Do about Them," a replay is now available.

Many software projects fail simply because customers (internal and external) have unrealistic expectations about schedules and budgets. The desired outcomes do not align with known capabilities - based on industry data or your history. Decision makers are simply unaware, absent an estimation process based on scope and a way to assess the reasonableness of project goals. Presented by Laura Zuber, this PDU-approved webinar will demonstrate how to identify unrealistic expectations and generate estimates that set you up for success. Laura will show you best practices for developing viable estimates that balance risk and opportunity, enabling executives to commit to plans that meet the most important business goals.

Watch the replay!

Blog Post Categories 
Webinars Risk Management

New Webinar: How to Identify Unrealistic Project Expectations and What to Do about Them

Managing Software Project Risk Webinar

Many software projects fail simply because customers (internal and external) have unrealistic expectations about schedules and budgets. The desired outcomes do not align with known capabilities - based on industry data or your history. Decision makers are simply unaware, absent an estimation process based on scope and a way to assess the reasonableness of project goals. Presented by Laura Zuber on Thursday, May 9 at 1:00 PM EDT, this PDU-approved webinar will demonstrate how to identify unrealistic expectations and generate estimates that set you up for success. Laura will show you best practices for developing viable estimates that balance risk and opportunity, enabling executives to commit to plans that meet the most important business goals.

Register now!

Blog Post Categories 
Webinars Risk Management

The Balancing Point between Project Cost and Schedule

In all production environments, there exists a tension between competing outcomes.  Four variables come to mind:

  • Cost/Effort
  • Schedule
  • Quality
  • Productivity

These do not exist independently of one another.  Emphasizing any one impacts the others.  For example, to compress a project’s schedule, additional staff is typically added which increases the cost.  Larger team size also increases communication complexity within a project which leads to more defects (lower quality).  The development of software  presents a unique issue that may not be present or is at least more muted in manufacturing:  non-linearity.  Key examples of this are the relationships between cost/effort and schedule and the one between schedule and quality. 

Let’s look at some examples.  In the charts below, regression trend lines for schedule and effort vs. size were developed from the QSM software project database.  The darker center lines represent average schedule and effort outcomes as delivered product size grows.  The lighter lines are plus and minus 1 standard deviation.  Roughly 2/3 of the projects in the database fall between the standard deviation lines.  Note the scale on the axes, which is log-log.  This is because the relationship between the amount of software developed and schedule duration or effort is non-linear. 

Software Project Solution
6.5 Month Solution

Software Project Solution
5.85 Month Solution

Blog Post Categories 
Estimation Schedule Effort

Can Estimation & Analytics Improve Vendor Client Relations?

It happens time and time again. Clients look to their vendors to provide software development or configuration services and both sides are often left with big questions. Is the price fair? Can we really get the project done within our duration and resource goals? How can we negotiate for a successful outcome?

There are estimation solutions available that can help. The good ones will leverage empirically-based models, historical data, and industry analytics to uncover which proposals are feasible and which ones are risky.

In the first view below, there are two columns: the “Desired Outcome,” which is one vendor’s proposal and the second column, which is the data-driven “Recommended Estimate.”  The vendor is promising to complete the work in 3 months with a $750,000 price tag. You can see that this proposal is “Risky” and that the vendor will probably finish late and will either have to ask for more money or lose money in the long run.  The charts in the view provide a graphical representation.

Vendor Bid

In the second view for the same project, you see a second vendor’s proposal compared to the “Recommended Estimate.” The vendor’s bid is for 8 months with a $1,000,000 price tag and there is a “Moderately Conservative” rating. In other words, this vendor has a much better chance of achieving what they are promising. 

Vendor Bid

Blog Post Categories 
Vendor Management Estimation

SLIM-Collaborate 3.1 Brings Flexible Risk Management Online

If you've been using SLIM-Collaborate's convenient, web-based project access to keep your stakeholders engaged and informed, you know SLIM-Collaborate offers streamlined, role-based estimation and data collection services designed to complement our feature-rich desktop tools. SLIM-Collaborate's simplicity and ease of use make it easier to promote consistent standards and practices to users across the enterprise, while seamless data exchange with the SLIM desktop tools lets your most experienced users leverage the power of advanced features.

Recently we talked with SLIM-Collaborate users, and one request stood out: they wanted us to bring Contingency planning into SLIM-Collaborate.  Release 3.1 of SLIM-Collaborate does just that, and even adds new risk buffering capabilities to the probability-based risk modelling available in SLIM-Estimate.  Here's how it all works.

Step 1: Create Reusable Contingency Profiles (Back Office)

Part of SLIM-Collaborate's innovative approach lies in letting experienced users (the "Back Office") analyze the business, then design and publish reusable building blocks (templates, trends, filters, dashboards, profiles) that simplify and standardize estimation and data collection for less experienced users. 

SLIM-Collaborate Back Office

Blog Post Categories 
SLIM-Collaborate QSM News

QSM Releases SLIM-Suite 10.1 with a New Look and Feel

QSM has recently released an update to the feature-rich SLIM-Suite of tools.  For a detailed list of updates, download the SLIM-Suite 10.1 release notes. The 10.1 desktop release updates the look and feel of SLIM-Suite tools with easier-to-read fonts and a cleaner, simpler color palette inspired by modern Business Intelligence and Data Analysis applications. A new, high resolution theme also offers better support for high DPI and high resolution monitors.

Bird's Eye Staffing View

Many of the visual updates are subtle, so this post will cover the high impact features you're likely to notice on upgrading to SLIM-Suite 10.1. In SLIM-Estimate, cross-hatched phase shading on time series charts has been replaced by lighter, transparent curve fills that grow progressively darker for successive phases.  The view below shows staffing over time, not broken out by role, for a project using a traditional lifecycle.

SLIM-Estimate Staffing View

Detailed Staffing View

Agile projects may prefer a more granular view of project staffing by role, with sprints delineated over the project timeline:

Project Staffing by Role

Task-Based Schedule View

Blog Post Categories 
SLIM Suite QSM News

New Article: Good Planning – Not Development Methodology – Is the Key to Successful Project Delivery

Agile Team Size

Agile is all the rage today and companies are investing lots of capital to work within agile frameworks. Are these new methods the key to reducing project failure? When projects get behind schedule, a common reaction is still to add more people. Doug Putnam recently examined 390 contemporary applications of the same size, a significant portion of which used agile methods and tools, to see what matters more - staffing decisions or methodology. He discovered that while the additional staff reduced the schedule by approximately 30%, the project cost increased by 350%. The additional staff also created 500% more defects that had to be fixed during testing. Over the past 15 years, QSM has performed this same study in five-year increments and has found the same results -- staffing decisions have more of an impact on project success than any development methodology. In this article, Doug Putnam identifies a staffing "sweet spot" and outlines a step-by-step planning process  that uses predictive analysis and early estimation to more accurately account for staffing needs.

Read the article!

Blog Post Categories 
Articles Team Size Agile

Are Your Software Projects Too Small?

We hear a lot about software projects that are too large or attempt to do too much in too short of a time.  They are very visible and negatively impact both budgets and careers in a not positive manner when they fail.  Small projects may fly under the radar.  This is a mistake.  Most IT projects aren’t large undertakings like Healthcare.gov; rather, they are enhancements and customizations to already existing software systems and account for the majority of most enterprises’ software budget.  Planning these projects to be optimally productive is an area in which most companies can realize the greatest returns.

How do you know what is the optimal amount of software to develop in a project?  In a newly published software benchmark study QSM analyzed productivity, cost/effort, and time to market of a large sample (over 600) of business IT projects that have recently completed.  The projects were divided into quartiles based on the amount of software they developed or customized, which were then compared to each other.  Fully ¼ of the projects were smaller than 3,200 implementation units in size or 68 function points for projects that used that size measure.  Projects in this quartile had a median productivity of 200 IU per staff month or 5 function points per staff month.  The median duration of these projects was slightly more than 3 months. The second quartile contained projects from 3,200 IU up to 8,000 (or 69 to 149 function points).  These projects had a median productivity of 377 IU per staff month (or 7.62 function point per staff month) and lasted a little more than 5 months.  This is a productivity improvement of 89%.  The smaller projects were markedly less productive.  So, simply by bundling software work into larger packages there are significant efficiencies to be gained.

Blog Post Categories 
Estimation Sizing Productivity