Cost Estimation: Defining the Scope of a Project
I am frequently asked how
much a project will cost, after being given no more than a hazy idea of requirements –
what may seem a "simple" system to the Client, can often turn out to have many complexities.
To give a meaningful estimate of the cost of a project and the time to completion, it is necessary
for the system requirements and functional specifications to be defined and summarised. This will
also ensure that client expectations are met.
The more imprecise the specifications are, the more imprecise any estimate of costs will be.
Even with exact specifications, it is always necessary to add a contingency margin. Estimates
are notoriously over optimistic – project cost estimation is not an exact science. Unanticipated
problems, incorrect analysis, hazy logic and changes of mind will all cause cost overruns.
The Project Scope
The Project's scope defines the broad parameters of a project. It specifies the required features
and functionality that needs to be delivered. The scope provides a blueprint for all the stages
of the development process.
The more aspects of the project scope that are identified, the more accurate cost estimations
and the system design process will be.
Fixed Quote Projects
Defining the scope is the most important part of the initial planning process. A well-defined
project will set the boundaries of the work to be done.
If the boundaries of a project are properly defined, there is a good chance that expectations
will be met. The result will be a successful project and a happy client. The scoping may also
result in a project getting abandoned or scaled down – when the objectives are found
to be too costly to achieve.
The scope must be defined, documented and agreed before any coding is started.
And of course, the specifications have to be set in concrete – any changes will incur
Requirements Specification - Documenting the Project Scope
A short description of what is required must be specified:
- Define the objectives of the system and what deliverables are required.
- What benefits are to be derived?
- Describe the background and origin of the existing system.
- Detail the major functions that the system must perform.
- Specify the number of concurrent users to be supported.
- List all documents which define the Software Requirements.
- Will the users all be at the same location, or are they dispersed?
- What transaction and data volumes are involved?
- Does data need to be imported?
Documenting the Operating Environment
Describe the environment in which the software will operate – the hardware platform,
operating system, etc.
Detail the relationship between the system and external relationships – databases, libraries,
Documenting the System Functionality
Describe each function in detail, and its priority:
- Detail the Forms required.
- Detail the Reports required.
- Describe the data to be entered.
- Describe the data and the fields to be stored.
- Are data exports required (i.e. to Excel, Word or Email)?
- Are graphics and charting required?
- Are historical records required?
- Are AD Hoc queries required?
- Is general documentation required by the users, or context-specific documentation?
The answers to these points will help create a picture of the system envisaged.
Documenting the Security Requirements
Detail the requirements regarding security, integrity, or privacy issues that affect the use
of the product and the data handled by the system. Define which users are to be limited to
- Creating a Table of all users of the system
- Creating a maintenance facility for the users
- Defining the users' authority
- Creating a login form
Example of a Scoping Exercise
To download the Microsoft Word file, click the Download button