Skip to main content

Sizing Applications from User Perspective

Applications are software programs designed to perform functions for users or for other applications. Some examples of application include ATM programs for managing cash dispensing machines, word processors, database programs, web browsers, development tools, CAD/CAM programs for design work, and communication programs.

Application programs use the services of the computer's operating system and other supporting programs to perform a designated function, and programs communicate with other programs through the application program interface.

The idea here is not to illustrate how to build an application but how to make a high level estimation of its size from a user’s perspective. After having analyzed its size it’s possible to estimate the cost required to build it. 

Applications can be big and complex or small and simple. People use web applications to order products online, make reservations for hotels, apply for jobs and so on, also, use mobile applications when on the move or travelling and, furthermore, use specific applications to communicate with cash dispensing machines to take out money or for business purposes to manage stock, to meet their customer needs and other aspects of their business.

An application that needs to interface and interact with users can be characterized by a certain number of elements. These elements in a way govern the application and they are: wireframes, use cases, business rules, data tables, reports and correspondences. The size of an application can be determined by the number of these elements. For the purpose of illustrating an example, a simple hypothetical case is taken into consideration.

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.- All of the above elements are managed by the application. The numbers in the table above do not refer to any industry standard, they are all hypothetical numbers just for calculation and illustration purposes.

Mathematical format:

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…