SEER for Software Quick Start: Sizing an Entire Corporate Software Portfolio in Less Than One Week

January 14, 2009 · Filed Under Estimation Process, General, Software Estimating  - 1 Comment(s)

We hear, so often…. “We need to estimate our entire portfolio… and we have no time, and we have no function point counts” SEER users generate rough estimates of size, then cost, schedule, risk, and value with the SEER suite and a simple process, making this task not only possible but quick and easy.

Introduction

Many organizations using SEER must estimate the cost and effort of enhancements or new functionality to large existing applications. SEER accurately estimates such enhancements by sizing and estimating the enhancement as well as estimating the amount of rework to the existing application, such as reverse engineering, modification, and retest.

Sizing the new functionality and sizing the rework is straightforward. If the organization has estimating sizes for the existing applications, those can be used directly, along with the redesign, reimplementation, and retest percentages, to produce a full estimate of effort and schedule.

This paper covers processes to establish estimates of existing applications for organizations that do not have existing sizes. Organizations need not count function points or perform other labor intensive exercises to accomplish this. The sizing process for one application can be accomplished in less than a day. The sizing of the entire portfolio can be accomplished in less than a week (involving a small group of customer organization personnel familiar with the applications).

Background

SEER estimates effort and schedule based partly on the effective size of the work. Effective size is the combination of new and pre-existing software and the redesign, reimplementation, and retest of the preexisting software. See figure 1 for an illustration of sizing.

Figure 1 SEER evaluates new and pre-existing

Many organizations do not have size of their existing applications. This paper covers a few simple approaches to obtain viable estimates of both the new and rework with SEER. This process will provide size for a single application and / or an entire portfolio.

Two most commonly used methods of capturing the full effort of a largely pre-existing system include:

  • Size the preexisting application, allowing SEER to evaluate the rework effort
  • Calibrate based on extra retest effort (size the new functionality and let SEER add the additional rework effort)

This paper primarily covers sizing the preexisting applications.

Sizing a Single Preexisting Application

 

Sizing a preexisting application merely requires personnel familiar with the application to answer the SEER Function Based Sizing questions, including their best estimateof number of databases, tables, screens, reports, etc. as illustrated in Figure 2, SEER Function Based Sizing. An approximation is acceptable. For a large application this should take no more than a few hours. Once these parameters are approximated by the team, SEER outputs an approximate range of Function Points. See Figure 3 for an example of SEER’s function point approximation.

Figure 2 Function Based Sizing Questions Are Usually Easily Approximated By Application Experts

The process includes the following:

  1. Use Function Based Sizing To Approximate Preexisting Application (one Time)
  2. Size the enhancement (each estimate)
  3. Estimate Rework of Pre-existing application for this enhancement (kbases or manually)

 

Figure 3 Process: Quickly Size Existing Application

 

 

Figure 4 Estimated Function Points of an Application Bases on Function Based Sizing

 

From this, there is a size range of an existing application. Now, estimating an enhancement merely requires entering the preexisting size as the number of function points (approximated by function based sizing) and sizing the new effort.

Estimate Rework of Pre-Existing Application for this Enhancement (kbases or manually)

Figure 5 Estimating Rework With Knowledge Base selection

 

Of course, there are other methods of sizing an existing application including counting the source lines of code using a code counter, manually counting function points, using use cases, and many more. SEER Comparison Sizing (AKA SEER-AccuScope) also quickly provides size for an application based on its relative value when compared to other previously sized applications. This is described in the section “quick sizing an entire portfolio” below.

Quick Sizing an Entire Portfolio 4 Step Process

 

An entire portfolio of existing applications can also be sized using this approach and SEER comparison sizing with the following steps:

  1. Determine Application Architecture (High Level)
  2. Size a small sample using Function Based Sizing (Approximates Function Points)
  3. Perform relative sizing to size rest of portfolio
  4. Determine Rework Effort

Figure 6 Process: Quickly Size a Portfolio Process

 

Determine Application Architecture (High Level)

 

Will the application be estimated as a single system (one WBS element in SEER terminology) or as multiple subsystems (multiple WBS elements in SEER)? If the application consists of several major subsystems, and changes are identified by subsystem(s), it is generally best to size the subsystems rather than the entire application (all at once).

Size a Few Applications Using Function Based Sizing (Approximates Function Points

 

Size a few applications (or subsystems) as described above. With user subject matter experts available this should take less than a day each. Of course detailed function point counts can be prepared as well if desired by the organization, but this is not necessary. Sizing three applications provides appropriate input to SEER comparison sizing.

 

Perform Relative Sizing to Size the Rest of the Portfolio

 

This involves choosing the applications that have been sized as actual, then entering a portion of the portfolio to be estimated into SEER comparison sizing.

Figure 7 SEER Comparison Sizing 4 Step Process

 

The time for running SEER Comparison sizing ranges from an hour to more than a day, depending on the number of items being estimated. It is generally best to size several items during one run and break the entire portfolio into 20 applications per run. Sizing 20 applications per session would require about 250 comparisons and will take less than an hour per session. Figure 8 is an example of a SEER Comparison Sizing screen.

 

Figure 8 Example SEER Comparison Sizing

Note: The number of comparisons can become very large if sizing the entire portfolio at once. For example, sizing 200 applications all at once would require about 18,000 comparisons while 10 at a time would require 75 * 10, or about 750 comparisons total.

Determine Rework Effort

 

Rework effort is established by estimating the amount of reverse engineering, retesting, and other rework of the preexisting software in order to successfully complete the changes or enhancements. See the SEER manuals and online help for complete guidance on this process, or use a knowledge base that most correctly reflects the work involved.

Conclusions

 

Lack of sizing should not be a deterrent for deploying SEER for Software in your organization. This paper covers the most commonly used techniques to accomplish this quickly. However, there are many other alternative methods. Your Galorath support person can provide them.

Frequently Asked Questions

 

Are there advantages to manually counting the entire portfolio?

You can spend a lot of time and effort manually counting the entire portfolio. There may be many reasons to do so for benchmarking reasons, etc. However, for estimating, manual counting not necessary to obtain viable estimates.

How accurate is the relative sizing that is obtained from SEER Comparison Sizing (AccuScope)?

SEER Comparison Sizing will approximate sizes for applications. Its most likely estimation is generally accurate within 10% of the actual size counted by a manual function point counter.

If I have a manual function point counting initiative in progress should I stop it?

Not necessarily. There are many reasons to count function points. Estimation input is only one of them. If counting function points manually, use those counts rather than the SEER comparison sizing results for traceability. When counting additions to systems manually, be sure the new functionality and changed functionality are identified.

If I don’t want to size existing applications how do I determine the calibration factor to capture rework?

Calibration involves taking information from completed projects, along with the size of the enhancement, and running SEER’s calibration mode to establish the incremental effort to rework the preexisting application. To carry out this process, effort hours or months and size information are needed. Use the standard SEER Design To / Calibrate mode to find the factors based on the known information. Next, put that information into a knowledge base. Then, when estimating a new item, simply estimate the new size and the general rework will be added automatically.



Thank you for reading “Dan on Estimating”, if you would like more information about Galorath’s estimation models, please visit our contact page or call us at +1 310 414-3222.

Related posts:

  1. Lines of Code Versus Functon Points Versus Use Cases For Sizing
  2. Step Four: Software Sizing
  3. COSMIC Function Points In SEER
  4. How Galorath Quantified the Salesforce.com Platform With SEER For Software (SEER-SEM)
  5. List of Documents On Software Sizing

Comments

One Response to “SEER for Software Quick Start: Sizing an Entire Corporate Software Portfolio in Less Than One Week”

  1. Lee on January 14th, 2009 8:41 pm

    In fact, we once sized an entire corporate portfolio — 3000 projects — in two days over Christmas. It was Y2K work and boy were they pleased to get all that info back so fast.

Leave a Reply