Showing posts from August, 2007

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 simp…

Project Cost

Project cost is defined as the approximate (estimated) cost of all resources (people, materials and equipment) consumed by the performing organization necessary to achieve the project deliverables.

If a WBS (Work Breakdown Structure) scenario is used to contain information related to resources, estimated effort and activity duration, then, if costs are added to the WBS, it could represent the project cost center. In organizations the administration-finance department will supply an average cost per hour or per day of different types of resources. These rates would represent their average salary rate plus company burden, overhead and profit margins.
In for some reason, it's not possible to post rates against resources (because of company policy), then it's possible to calculate the cost of the project on a person day basis. 
For example: 1 person day = 8 effort-hours = 1 day (8 hours) x 100% (1 person)
In general: Resource Effort (or Work) = Time Elapsed (or Duration) x P…

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…

The Needs/Requirements Life Cycle

Specifying what the project should accomplish is not an easy task and is not to be taken for granted that everything is clear. It's easy to misunderstand requirements and transform the whole project into a tragedy.

What causes the need for requirements?
Well, something has to happen to trigger it...maybe a cause-effect situation, or a change request for something or an action that causes some changes. 
For example, let's suppose tha a legal company expands its offices throughout the nation, and as a result they need to enhance their information system and improve communication perfomance. From this situation a need emerges and, in order to meet these needs (system and human), it must be recognized through conscientious effort. Asking questions (from both points of views: ours and the customer) on the cause and, consequently, on the need will help, and it might be best to establish procedures for identifying these needs in a systematic way. Also, it's important to give speci…