Software Estimation Best Practices

Blogs

How to Choose a Software Sizing Method That Works With Your Data

So, you're ready to estimate the size of a planned software development project or capture the actual size of an in-progress or completed project. The good news is SLIM-Suite® tools are incredibly flexible. You can model almost any software development lifecycle methodology and choose from a wide variety of size metrics and techniques. The bad news is, with so many components and sizing methods to choose from, how do you select the right one for your project?


Episode 4 of our video series, Software Size Matters: Why Quantifying Software Size is Critical for Project Estimating, Tracking and Forecasting, and Performance Benchmarking, focuses on choosing a sizing method that fits the information you have on hand and your project's lifecycle stage. In previous videos, we discussed why quantifying software size is important, what software size is and is not, and looked at familiar metrics you're probably using now. It turns out there are a variety of sizing methods to choose from. Asking a few simple questions up front can quickly point you in the right direction.

Blog Post Categories 
Software Sizing Estimation

How to Measure Software Project Scope

You intuitively know that the scope of your software development project determines your team size, schedule, and budget. How do you measure software project scope, especially when you don’t have much information to go on?

Episode 3: Sizing Terms & Metrics is part of our Software Size Matters video series that explores how you not only can, but should be using software size measures at every stage of software project, program, and portfolio management. In Episode 1, we introduced QSM's Software Lifecycle Management top-down scope-based project estimating simulation model. In Episode 2, we explained why quantifying software size is so important. In this episode, we'll discuss sizing terms and metrics you're likely familiar with and already using.

Watch Episode 3: Sizing Terms & Metrics

 

Size is one of Five Core Metrics used to understand and manage software projects.

Five Core Metrics for understanding and managing software projects: Size, Effort, Time, Productivity, and Defects

 

Why Software Size is Critical for Measuring Software Development Performance

In today's world, Data Analytics is everywhere helping us recognize patterns and trends, providing insights, and driving business decisions. Software engineers, cost analysts, and project and portfolio managers need data to:

  • Sanity check vendor bids
  • Prioritize software projects with the highest ROI or to achieve strategic goals
  • Secure resources for projects in their pipeline
  • Calculate and benchmark productivity and capacity
  • Create realistic estimates and plans for new projects.

So ensuring your data is valid and relevant is crucial.

Episode 2: Why Quantify Software Size? is part of our video series, Software Size Matters! Why Quantifying Software Size is Critical for Project Estimating, Tracking, and Performance Benchmarking, that explores how you not only can but should be using software size measures at every stage of the software project, program, or portfolio management process. In this episode, we'll talk about how to keep your measurement process simple and useful and show key software project performance insights gained from software size.

 

Watch Episode 2: Why Quantify Software Size?

 

Why You Should Use Software Size Measures to Improve Software Development Estimation

Our new video series, Software Size Matters! Why Quantifying Software Size is Critical for Project Estimating, Tracking, and Performance Benchmarking, explores how you not only can but should be using software size measures at every stage of the software project, program, or portfolio management process. We created this video series to help you improve the accuracy of your software estimates, plans and forecasts because software size matters. 

The core management metrics used for software estimation and software project management - schedule (duration), effort (cost), quality (defects) and developer productivity - all increase with software size (scope).  This may not surprise you. But did you know that they increase in a nonlinear fashion?  This is why estimating and managing software projects is challenging!

How good are your software project estimates compared to the actual time and money spent when the project's completed? If you want to improve your software estimation accuracy, this video series is for you!

 

Watch Episode 1: Introduction

 

Quantifying software size helps you with:

3 Ways Historical Data Improves Software Development Negotiations

Two people reviewing software project performance data to support software vendor negotiations

How many times have you been involved with a software project or a portfolio of projects where the schedule or budget is doomed from the start? It happens all the time. One of the best ways to avoid this problem is to leverage historical data – actual performance of completed software projects. QSM has over 46 years experience in software estimation and control. We have seen thousands of projects and products delivered, both in-house and vendor driven. One of the biggest problems we help our clients solve is negotiating the right cost and schedule targets. Whether advising a client on an in-house project, a vendor on their proposal, or an end user with a bid evaluation decision, one thing becomes very clear − all sides are trying to negotiate a cost and timeline that they feel comfortable with. The problem is that they often negotiate with little to no data of past performance.

Negotiating Initial Schedule and Budget Commitments

You don't need data from hundreds of projects, and it doesn’t need to be granular. Software project or release level data is a great place to start. It establishes a baseline that you can count on because the delivery targets have been achieved in the past. It is tough to argue with cost and schedule numbers that have already been proven, and of course, having the data at your fingertips gives you a leg to stand on when negotiating.

The best practice we recommend is to capture a few core metrics:

Political Marketing and Software Project Estimation: Managing Promises and Realities

Plastic figure politician giving a speed to a crowd

Political marketing was in full force a couple weeks ago. Whether watching a football game, the news, or a favorite TV show, it seemed every commercial break was filled with political ads—candidates trying to persuade voters and making promises about what they plan to accomplish in office. When a political candidate presents an agenda for their potential term, they often outline big plans and ambitious commitments. For instance, President John F. Kennedy’s famous pledge to land a man on the moon and return him safely to Earth was a bold promise—especially given that much of the required technology had yet to be invented. While such promises are inspiring, voters naturally want details about how these goals will be achieved. How much will they cost? How long will they take to implement? How much manpower will be required?

To evaluate these questions, politicians and their advisors rely on estimates to determine what resources are needed to deliver on their plans. Based on this analysis, campaign advisors can make informed recommendations on whether the plans are realistic and set expectations about what can realistically be accomplished within the term. Businesses developing new software applications go through a similar process to assess whether their efforts will truly benefit end users. The business side of the organization and stakeholders ask for estimates from the software team so they can make data-driven decisions about whether to proceed with development. Is the cost of creating the application worth the anticipated benefits? To answer that, they need a good estimate of what the project will cost, how long it will take, and what level of effort it will require.

Blog Post Categories 
Software Estimation Risk Assessment

Software Estimation Process Maturity is Relative

Software Estimation Process Maturity

 

Do you feel your organization is immature when it comes to software development estimation?  Software estimation process maturity isn’t all or nothing! And chances are you’re selling yourself short. Let me share one client’s journey to higher software estimation maturity and the lessons they learned along the way.

 

A Common Perception

Many organizations don’t feel mature enough to estimate their software development releases and portfolios using something other than a spreadsheet or expert judgement.  That’s understandable to a degree, because spreadsheets are familiar, they are often introduced to us when we first learn about computers. There’s a comfort we feel in the spreadsheet world.  And spreadsheets and expert judgement don’t typically incur any significant extra costs. The overall feeling that their processes are immature is due to the misconception that formal software process assessments are required to validate the good practices already in use.

Making small improvements relative to current practices increases your maturity. To get real value out of accurately estimating software projects — delivering quality features on time and within budget — consider using a software estimation tool that offers objective analytics and insights a spreadsheet cannot.  You don’t have to be very mature to glean the benefits from an estimation tool and your maturity will grow with continued use.

Blog Post Categories 
Estimation Process Improvement

Quantifying and Managing Software Project Risk

Quantifying software project risk and having a systematic way of accounting for it in software estimates helps firms determine how much contingency (or management reserve) is needed to protect against factors like scope growth, lower than anticipated productivity, or technical challenges that keep teams from executing project plans as originally intended.  When risk mitigation is an explicit part of the software estimate, we can set reasonable client and management expectations and negotiate practical project plans with a higher likelihood of success.

Dealing with Uncertainty

At the time most software estimates are performed, detailed design is incomplete and major decisions about how the system will be designed, coded, tested, and delivered have not yet been made.  Faced with imperfect information, estimators must supply educated guesses – hopefully based on sound requirements and performance data from completed projects - about the final delivered size, productivity, team size, and schedule.  Because the inputs to the estimate are uncertain, the final outcomes are also uncertain.

When we estimate that a project will most likely take 6 months and 8 full-time staff to execute, we really should say, “Based on our analysis and past performance data, we expect the project to take 6 months and use 8 people, but the schedule could vary by as much as 15% and the budget by up to 20%.” But all too often, clients and management expect “single point” estimates based more on optimism than careful risk analysis.

New Video: Benefits of Top-Down Estimation for Software Projects

 

Larry Putnam, Jr. recently presented a short tutorial on the benefits of Top-Down Estimation for Software Projects:

  • Top-Down Estimation methods provide the data needed to make early decisions because most software project schedule and cost decisions are made early in the project or product lifecycle 
  • Savings Associated with Top-Down Estimation
  • Top-Down Estimation vs. Detailed Planning
  • Sum of the Parts Don’t Equal the Total Time & Effort Required
  • SLIM Software Equation Supports Effective Negotiation

Watch the video or continue reading to learn why the QSM SLIM methodology gets you the data and analytics to make software project commitments with confidence.

 

Benefit: Provides Data Needed for Early Software Project Cost and Schedule Decisions

Blog Post Categories 
Video

New Video: SLIM-Control Software Project Tracking & Forecasting Tool

What you measure matters! Your data analysis is only as good as the data you are collecting. As a project manager and process improvement consultant, I was so excited when I first learned about QSM's project tracking software, SLIM-Control®, because product size, quality, and custom metrics are the best metrics to show the true project status.

Mind you, this discovery took place a long time ago when project tracking was primarily limited to data on staff levels, cost, and duration. These measures provided indirect evidence that work was being done, but gave little insight into exactly what work was actually being done and when it would be completed. I remember a large project team at my company that got into hot water because they overran a fixed-priced project by $1 Million!  My process improvement team member said, "You don't overrun by $1 Million overnight!"  There were probably several issues that contributed to this colossal failure, but certainly one was the lack of visibility into the project status or health on a regular basis to help managers and teams identify potential problems and fix them before they became unsurmountable.

Blog Post Categories 
Video