|
For information systems Function Points
www.ifpug.org
is a useful metric for estimations of system size and realization
efforts. Function Points is an implementation independent
unit that measures the users functional value of an information
system. Function point calculation is based on the systems
essential services, the logical information blueprint, and
the user interface specification. Function points have a wide
acceptance as a useful unit for measurement of information
system size, realization effort and as a base for economic
decisions. Function points is the only unit that enables unbiased
reasoning on system size, development costs, benchmarking,
productivity performance, defect density, IT-value etc.
Function
point calculation is simple and straightforward based on UML/SysML
blueprints for a whole system, for Use Cases, for single applications,
products and product components, per single user role, per
business process etc. Function points can be compared to other
units like m², m³, watt etc. and is regarded as
the most fair and technology neutral unit for specified and
delivered products.
Function
Point estimation is an essential technology for the CMMI
Measurement and Analysis process area for estimation of size
of Products and Product Components, performance estimations
etc. and for the Process & Quality Assurance process area
to relate defect estimates to functional size. In addition
Function Point estimates are a useful input to the Project
Management process category for progress control and project
planning.
Furthermore, if the cost for an FP unit can
be agreed is FP an excellent base for estimation of the preliminary
and final realization cost and costs for additions and changes
in the realization phase.
Function
Points have recently also been accepted as an ISO standard
for functional size of information systems. Read
more »
ISO
FP Standard download: ISO/IEC
20926:2003 »
UML/SysML
and Function Points also facilitate a simple and well-defined
interface between the customer and supplier regardless of
whether the supplier is an in-house development center or
a local or offshore supplier.
|
Calculation of function points (FP) is
a time consuming task especially for iterative development
there an estimate is desirable for each iteration.
For companies working with model based
specifications in a UML tool with profile capabilities
is it however quite straightforward to automate FP estimations
with a UML profile. The prerequisite is that the specifications
are defined with Use Case and Domain models. For Use
Cases are each FP-value for required system services
(EI, EO or EQ) estimated and for domain models are each
domain objects (ILF or EIF) FP-value estimated.
In addition, if Business Process Models
are developed, a seamless mapping can be established
to business processes and estimation of the "used
FP" per process automatically estimated. This enables
a precise estimation of information systems utilization
in the enterprise and unbiased calculation of IT-value.
The FP value can be independently estimated
for each project and the "FP share" of the
enterprise models be estimated based on the referred
Use Case services and the Domain Objects attributes
and associations.
The diagram to the right shows an example
of such a profile implementation.
|
|


Checked items are included in the count. The
count for the "Domain Object" is 10 DET and
2
RET. The ILF complexity is low and the FP value
is 7 FP. The "Edit Domain Data" is an EO with
24 DET and 2 FTR. The complexity is consequently high
and the value is 7 FP. |


Reports and research points out four primary
reasons for budget overruns, delayed projects and inadequate
matching of the business essential needs.
Systems not supporting essential
business needs have low IT-value.-
Functionality
not supporting essential business needs have low IT-value.-
Understanding
the business essential needs and an unambiguous mapping (traceability)
from business needs to product blueprints is the basis for
correct identification of system requirements, prioritizing
of requirements and estimation of IT-value. UML/SysML blueprints
enable an integrated and seamless connection between business
process maps, process workflow specifications and product
specifications.
The product
blueprints are the base for correct estimation and the Technical
Solution process.-|
The
product blueprints are the base for the Validation process.-|
Inadequate
specifications are very expensive to correct during
realization and in production. All experience and research
shows that defects in the specifications are a major reason
to erroneous estimations, overrun budgets and delayed projects.
A
report from NIST
shows that up to some 70 % of the defects in systems development
are introduced in the specification phase. The report also
states that only 5 % of the specification inadequacies are
corrected in the specification phase and the remaining 95
% are detected later in the project or after delivery when
the cost for correction on average is 22 times higher compared
with a correction directly within the specification effort.
At
delivery causes also inadequate specifications often controversies
on the content of the delivery.
Requirements creeping is
uncontrolled change and growth of functionality during realization.-
The
product blueprints are the bases to control requirements creeping.-
Legitimate
requirements creeping i.e. additional orders and changes must
be managed with appropriate configuration and change management.
A
report from Capers Jones "Conflict and litigation between
software clients and developers" www.spr.com/news/ConflictLitigationArticle.pdf
states that a requirements creeping of 25 % is common and
often is up to 50 %. A requirements creeping of 25 % means
that the size of the system grows with 25 % not being reflected
in budget or plans and often leads to delayed projects and
controversies on additional costs.
For larger projects are efficient change
and configuration management essential for effectively
managing,the development
process.
Configuration
Management is the CMMI
key process area for supporting all other processes to establish
and maintain the integrity of work products using configuration
identification, configuration control, configuration status
accounting, and configuration audits.
UML/SysML
blueprints and Function Points also facilitate low risk fixed
price agreements, both for the customer and supplier.
Comparable proposals
Control
of costs for changes and additional orders
Control of life cycle costs
(LCC).
Validation that the specification
matches essential business needs.
Broader competition.
Inadequate product definition
results in higher costs and risks for proposals that limit
the number
of tenderers and possibilities for quality
and price competition.
Comparable proposals between
new development and standard systems.
Standard systems often
require extensive customization and new development might
be a
competitive alternative especially for offshore
development.
Increased possibilities for benchmarking
of proposals
Standardized specifications
and measurements facilitate objective cost comparisons between
different projects and types of applications.
High precision estimation of investments.Lower costs for defect corrections
and rework.Control of requirements creepingEfficient validation of delivery.Win-Win contracts
|