Treasury Board of Canada Secretariat
Symbol of the Government of Canada

ARCHIVED - Estimate Software Product Size - Basic Procedure


Warning This page has been archived.

Archived Content

Information identified as archived on the Web is for reference, research or recordkeeping purposes. It has not been altered or updated after the date of archiving. Web pages that are archived on the Web are not subject to the Government of Canada Web Standards. As per the Communications Policy of the Government of Canada, you can request alternate formats on the "Contact Us" page.

2. Procedure

2.1 Entry Criteria

The following entry criteria describe the input's state, an event, or an expired amount of time, which is required before this procedure can begin.

Details of Entry Criteria
  • Approved Business Case
  • Approved Project Charter
  • Approved Set of Requirements
  • Initial Project Plan

2.2 Procedure Map

The overall procedure flow given below shows the interaction and flow among the activities. More details about the activity steps can be found in 2.4 Activities.

Procedure Map

2.3 Inputs

The following inputs are used in this procedure Where they don't exist, identify any associated risks.

Input Detail of Inputs and Remarks Ref.
Business Case The identification and justification of an IM/IT project that relates the IM/IT project to program priorities and the measurable improvements in program performance.
  • Identifies the opportunity
  • Describes the added value
  • Describes the IM/IT solution
  • Identifies the indicators to measure improvements in program performance
EMF Business Case Guideline
Project Charter An agreement between technical and business groups defining:
  • Partners & external stakeholders
  • Project management framework
  • Roles, responsibilities, accountabilities and activities
  • Management commitments
  • Empowerment framework
EMF Project Charter Template
Initial Project Plan Living agreement between the technical and business groups describing in greater detail the:
  • What: interim and final deliverables
  • Why: purpose and objectives
  • Where: scope
  • Who: roles, responsibilities, accountabilities
  • How: managerial and technical processes, supporting plans
  • When: schedule estimates
  • How much: resource estimates
Document what detail is known.

PPTO-TM-002
 
  • The above document decisions made to date that will affect the risks, constraints, assumptions and estimates.
 
Requirements
  • Requirements should be documented in accordance with the methodologies used.
 
Enterprise Database
  • Actuals from previous IM/IT projects for comparison and verification of the planning process
 

2.4 Activities

Use your organisation's standards, estimation methods, tools and techniques to estimate software product size.

Here is a partial list of industry standards for estimating software size.

If your organisation has no standard method, use the following method as an interim solution until your organisation selects a method to estimate software size.

The following activities are performed in this procedure. Document all assumptions, risks, constraints, etc. in the Project Plan.

No. Activities Action by Detail of Activities and Remarks Ref.
1 Calculate Functional Size Measure

 

Document the assumptions used to calculate functional size measurement.

PM - Count and enter the following elements into the Count Column:

  - inputs
  - outputs
  - master files
  - inquiries
  - interfaces

- algorithm – optional to use where algorithms are heavily used (PKI) and project managers choose to document separately.
- Each Count (1A) is automatically multiplied by its corresponding Weight (1B) generating a Total for each row
- The Functional Size Measure (1C) automatically sums the row totals

Counting Guidelines:

- Application Programming Interface (API) calls to Commercial Off-the-Shelf (COTS) and other reused software are counted as interfaces.

- Functions are associated with logical groups or screens of data rather than individual data parameters.

- Ensure that the requirements/functions are not counted multiple times when described in multiple locations.

- Error messages are generally counted as one output and one Master file.
Annex F

PPTO-TM-003

2 Determine Problem Complexity

Document the assumptions used to determine problem complexity.
PM - Assess the complexity of algorithms and calculations using the description that best describes your software

- Select and enter the Problem Complexity Adjustment (2B) from the table (2A)

- This number is automatically multiplied by the Functional Size Measure (1C) to produce the Problem Complexity (2C)
PPTO-TM-003
3 Determine Data Complexity

Document the assumptions used to determine data complexity.
PM - Assess the complexity of the data stored and manipulated by the system using the description that best describes your software

- Select and enter the Data Complexity Adjustment (3B) from the table (3A)

- This number is automatically multiplied by the Functional Size Measure (1C) to produce the Data Complexity (3C)

- The Problem Complexity (2C), the Data Complexity (3C) and the Functional Size Measure (1C) are summed to produce the Total Functional Size Measure (3D)
PPTO-TM-003
4 Determine Language Multiplier

Document the assumptions used to determine language multiplier
PM - Determine the language(s) used to develop the software

- Select and enter Language Multiplier (4B) from the table (4A)

- The Language Multiplier is automatically multiplied by the Total Functional Size Measure (3D) and divided by 1000 (to convert to KLOC) to produce the Estimated KSLOC (4C)

Note: For additional languages see the Programming Languages Table at: http://www.spr.com/library/0langtbl.htm

Find the particular language and enter the number from the Average Source Statements Per Function Point (last column)
PPTO-TM-003
5 Determine the Confidence Level

Document the assumptions used to determine confidence level
PM - Evaluate the condition that best describes the specification or other documents describing the software.

- Using the description that best describes your document, select and enter the Confidence Level (5B) from the column (5A)

The Confidence Level is automatically multiplied by the Estimated KSLOC (4C) to produce the Total KSLOC (5C) to arrive at the value for the Confidence Level.
PPTO-TM-003
6 Review Estimate PM - Compare Total KSLOC with projects of similar size in the Enterprise (historical) database. If the size estimate varies dramatically, revisit the Functional Size Measure in activity 1 for omissions or extra counts

- Review the size estimate and the documented assumptions with affected groups and individuals and sign-off

Note: Estimates of less than 30 KSLOC should be viewed with caution as it is almost impossible to provide any real functionality at this level
PPTO-TM-003

PEER-PS-001

2.5 Outputs

The following outputs are produced or modified by the activities in this procedure.

Output Detail of Outputs and remarks Ref.
Software Size
  • Background Information (Assumptions)
  • Use the spreadsheet to calculate the software size estimate
  • Append the spreadsheet to the project plan
  • Document all assumptions, risks, constraints, etc. in the project plan
PPTO-TM-002

PPTO-TM-003

2.6 Verification and Validation

Output Validation See Activity 6 – Review Estimate

To determine if the outputs are within specification,

  • Use the (PEER-PS-001) Peer Review Process and any techniques described in your IM/IT methodology.
  • Use validation techniques referred to in your IM\IT methodology such as testing, demonstration, analysis and inspection.
 

2.7 Exit Criteria

Details of Exit Criteria
  • All affected groups and individuals agree upon the product size estimate and sign-off

2.8 Metrics

Refer to Enhanced Management Framework, Exposure Draft Executive Toolkit, November 22, 1999 for the Project Health Check Dashboard.

2.9 Records Control Table

Not applicable at this time. Populate table if seeking ISO certification. For more information, refer to (PPTO-TM-001) Process/Procedure Template.

Description
(no. and name)
Storage Location Filing / Index Minimum Storage Period
       
       

2.10 Controlled Documents Table

Not applicable at this time. Populate if seeking ISO certification. For more information, refer to (PPTO-TM-001) Process/Procedure Template.

Number Name Revision Date
(or version)
Owner