Skip to main content

A simple way to software sizing measures

There are different ways of measuring the size of software applications, such as measuring lines of code or functions points. With lines of code the size is measured after the application has been built. This approach is dependent on the technology used to build the application, its design and the programming languages used for code. Applications coded using different programming languages cannot be easily compared and this might compromise efficient code.

With function Points the size is a measure of delivered functionalities that is relatively independent of the technology used to develop the application, and it's measured from the user's perspective. Therefore, sizing the application is done by counting external data (inputs, outputs, interfaces, files and inquiries); this might not be so intuitive and difficult to communicate.

A simple way to size an application is to use a more intuitive approach. This is analogous to function points approach, but it's made more simple by using parameters in an approximative way. For example, during the analysis phase, it's possible to capture information related to the number of use cases, user interfaces, reports, rules/algorithms, and data tables needed for a particular application. Each component (i.e., each UI, each UC, each Report, etc...) is multiplied by the estimated effort needed to build it. This operation is done for all components, and a total effort is calculated and easily converted into costs.

Popular posts from this blog

The differences between Project, Operation and Program

We said that a project is defined as a temporary endeavor that consumes resources, incurs cost and produce deliverables over a finite period of time to achieve a specific goal. They come in all shapes and sizes and can vary in length or complexity.

Operation type activities are similar to project activities in that they too produce deliverables, consume resources and incur cost. However they are on-going or repetitive in nature, hence they are not project activities or tasks. Some examples of operation activities are weekly maintenance of databases, paying invoices or help desk operations activities.

Programs are much larger than projects. They are made up of many projects and on going activities such as operation type activities and are similar to projects as they consume resources, incur cost and produce deliverables. However programs are more complex and include repetitive operation type activities such as maintenance work, facility administration etc, and are funded typically on a…

Forecasting Project Costs using Variance Analysis

One way to report on cost control and forecasting during project execution is to use the Variance Analysis method, that is, explaining the difference (or variance) between actual costs and the budgeted costs with numbers and make new estimates for completing the work. Please consult this link Earned Value Management for related literature and references.
For the purpose of making these calculations, I will use an hypothetical project example (but it could also be a task or phase). "A company has contracted a service provider to deliver a project in 10 working days (80 hours) for the estimated cost of $10,000 and a work effort of 200 hours. The contract is Time and Material, this means that the company pays the provider for the number of hours actually required to perform the service. So, the provider has no incentive to minimize the number of hours expended on the service. The less efficient the provider is, the more money it makes!"
Summary of Time and Material Contract (re…

Using PERT for estimating tasks

A simple way for estimating tasks is to use the PERT (Program Evaluation review technique) weighted average method. This method uses a weighted average duration estimate to calculate task duration, it gives the opportunity to take into account information based on different types of estimates values (such as poorly defined areas, probabilistics, and ranges for the schedule). This method is based on the Beta distribution model because it can model events which are constrained to take place within an interval defined by a minimum and maximum value. (For this reason, the Beta distribution is used extensively in PERT, CPM and other project planning/control systems to describe the time to completion of a task).

The term weighted average means that the equation uses weighted factors to calculate the expected task duration.
The equation and process modelling a task for PERT is the following:  E=(O+4M+P)/6 (equation)  E= Expected Value  O= Optimistic Value (this is equivalent to a minimum val…