|
Become size wise Adopt COSMIC FFP for estimation
A simple model for functional sizing from the Common Software
Measurements International Consortium (COSMIC) that overcomes the limitations
of all other traditional methods
Annual CHAOS studies over the last decade reveal that only 16-18 percent of
the projects get delivered within the allowed cost, quality and time schedules.
For the 50 percent of projects that manage completion, cost and time overruns
on an average stand at 200 percent. The software economy, which now holds a
significant part of the overall economy, adversely affects the global economy
through this colossal wastage. One of the root causes of the failure is ineffective
project planning and estimation.
Function Points User Group (FPUG) has of course made valiant efforts to produce
guidance on how to interpret Albrecht's original five component-types in terms
of modern development methods. But inevitably, if the developer is working in
terms of concepts such as Objects or GUIs or Use Cases or APIs or whatever,
the translation from these concepts back to the three-decade-old concepts of
'Elementary Inputs' or 'Internal Logical Files' will seem like a distraction
to the main purpose.
Under the umbrella of Common Software Measurements International
Consortium (COSMIC), a model was brought out to introduce a new size estimation
method that can overcome the limitations of all other methods; thus was born
the new COSMIC FFP method.
COSMIC FFP model
The major components of the cosmic model are functional processes
and data movements in terms of data groups. The COSMIC-FFP model for functional
sizing is extremely simple. Functional User Requirements are decomposed into
'Functional Processes', which in turn are decomposed into 'Functional Sub-Processes'.
A Functional Sub-Process is a type of Data Movement, namely an Entry, an Exit,
a Read or a Write, each assumed to have associated data manipulation.
Steps involved in Size Estimation using COSMIC FFP method are:
1. Identification of the entities / data groups in the software problem.
2 Breakdown of the requirements into functional user requirements.
3. Identification of the number of data movements in terms of entities / data
groups for each functional sub-processes.
4. Calculation of Total Cfsu (Cosmic Units) in terms of aggregation of all data
movements.
COSMIC FFP has two Measurement View Points i.e., 'End User View Point
and Developer View Point. FPA was helpful in counting size with
End User View Point. Application development involves developing many building
brick components, and many components that communicate among themselves in a
peer-to-peer model. Projects end up developing additional functionality to meet
end-user functionality, which usually does not get accounted for. This size
is very critical when it comes to estimating efforts for development and project
scheduling. The size delivered to customers is sometimes different from the
size that he was looking for. COSMIC FFP, by bringing Layers and Peer components
into its scope of estimation, provides a 'Developer View Point' of size.
Complex applications are no more just a business application or real-time application.
They are a hybrid of various domains resulting in solutions to a customer's
problems. When more hardware and devices get integrated with the everyday lives
of people, applications become MIS-type business applications, but with real-time
characteristics. Mobile application is real-time when it comes to managing a
call, and a database application with respect to call logging and billing.
It is possible to size such an application using COSMIC FFP.
COSMIC FFP has been announced as International Standard - ISO 19761:2003. The
method merely states the obvious: You have to know your application right from
the beginning to a fair amount of detail. The software industry is much used
to the fact that this is not possible, whereas COSMIC FFP is a method which
by its inherent nature leads you to asking a lot of questions and getting most
of the requirements clear at the very beginning of the project. Thus, the method
is a welcome change to the world of MIS software and a good introduction to
the world of real-time software.
The author is a member of the International Advisory Council
of the Common Software Measurements International Consortium (COSMIC). E-mail:
jayakumar@amitysoft.com
|