Skip to main content

Sizing Software Applications

Applications are software programs designed to perform functions for users. They use operating system services and other supporting programs to perform a designated function.
Before developing an application, it would be nice to have an estimate of its size in terms of effort and/or costs.

Applications can be big and complex or small and simple. An application that needs to interface and interact with users can be characterized by a certain number of elements, such as wireframes, use cases, business rules, data tables, reports, and correspondences. The size of an application can be determined by the number of these elements. The table below describes a hypothetical example.

Application
Number of Elements
Wireframes
Use Cases
Business Rules
Data Tables
Reports
Correspondences
10
50
90
100
10
15
Estimated effort to develop one element of simple complexity level in man-days
3
5
3
3
2
2
Development Effort (man-days)
30
250
270
300
20
30
Estimated effort to capture one element during the analysis phase of simple complexity level in man-days
3
3
3
3
1
1
Analysis Effort (man-days)
30
150
270
300
10
15
Total Effort (man-days)
60
400
540
600
30
45

Legend of elements:
-Wireframes are user interfaces and it’s the way the user communicates with the application.
-Use Cases describe how a user interacts with the application in a procedural way.
-Business Rules govern the flow of procedures and data.
-Data Tables are the data required for the application to perform its function.
-Reports are printable information.
-Correspondences can be notes, messages, and emails.

N.B.- The numbers in the table above do not refer to any industry standard, they are all hypothetical numbers just for calculation and illustration purposes.

By introducing hypothetical unit rates per day it’s possible to calculate the relative and total costs.

-Development unit rate per day = $300 
-Analysis unit rate per day = $500

Putting data in table format:

Costs
Total Effort Development in man-days
900
Developers rate per day in $
300
Developers Cost in $
270000
Total Effort Analysis in man-days
775
Analyst rate per day in $
500
Analysts Cost in $
387500
Total Cost in $
657500

All data in this example is hypothetical. For better accuracy, it’s possible to add more variables and factors to this approach.

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…