Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Standard view
Full view
of .
0 of .
Results for:
P. 1
Function Point Analysis

# Function Point Analysis

Ratings: (0)|Views: 64|Likes:
this document is related to software engineering and especially regarding the FUNCTION POINT Calculation.
this document is related to software engineering and especially regarding the FUNCTION POINT Calculation.

### Availability:

See more
See less

03/16/2011

pdf

text

original

Objectives of Function Point AnalysisMost practitioners of Function Point Analysis (FPA) will probablyagree that there are three main objectives within the process of FPA:Measure software by quantifying the functionality requested by andprovided to the customer.Measure software development and maintenance independently of technology used for implementation.Measure software development and maintenance consistently acrossall projects and organizations.In working towards objectives 2 and 3 above, several organizationshave created large repositories of FP counts that cross projects,technologies, and organizations. These repositories can be aninvaluable tool for your first estimation efforts, because it lets youcompare your project to similar projects that have been developedby other organizations around the world.What is a ``Function Point''?One of the first questions I'm always asked is a logical one: "Whatis a function point?"Simply stated, function points are a standard unit of measure thatrepresent the functional size of a software application. In the sameway that a house is measured by the square feet it provides, thesize of an application can be measured by the number of functionpoints it delivers to the users of the application.A good example is when I had my house built two years ago. Iworked with a very straightforward home builder and he basicallysaid ``Al, you have two choices here. First, how many square feetdo you want to build? Second, what quality of materials do youwant to use?'' He continued ``Let's say that you want to build ahouse that is 2,000 square feet. If you want to use cheap materialswe can build it for \$80 per square feet. That's \$160,000. If you

want to go top of the line then you're looking at more like \$110 persquare foot, and that's \$220,000. What would you like?''Don't read into this example that building a software application islike building a house. We all know that there are a lot of othervariables, and it's not quite this simple. But function points do getyou a lot closer. For example, although it's not like building a house,I'm currently working on a Java software development projectwhere we are building a Swing-based application that runs onWindows and Mac computer platforms. We're building thisapplication on a fixed-price basis, at a rate of approximately\$250/FP. So, is it like building a house? No. But can I bid projectson a fixed-price basis now? Yes, I can. And I couldn't do that 18months ago.Important introductory FPA notesThere are several other important notes about the FPA process thatneed to be introduced at this time, so I'm including them here:Measured from the user's perspectiveThe size of the application being measured is based on the user'sview of the system. It is based on what the user asked for, not whatis delivered. It's based on the way the user interacts with thesystem, including the screens that the user uses to enter input, andthe reports the users receive as output. Finally, it's also based ontheir understanding of the data that needs to be stored andprocessed by the system.Technology-independentAs mentioned in the objectives section, FPA is also technology-neutral. As a Certified Function Point Specialist (CFPS) it does notmatter to me what technology you are using to implement yourapplication. It doesn't matter if it's a Web application written inJava, PHP, ColdFusion, or .Net; or a client-server app written inJava, Delphi, VB; or even an AS/400 RPG application. Just show meyour screens and your data tables and I'll derive ``number of function points'' from there.

Low costAdding FPA to your software development portfolio is also veryeasy. Historically, adding the process of counting FPs to yourdevelopment process results in a cost increase of only 1%.RepeatableStudies have shown that multiple function point counters canindependently count the same application to within 10% accuracy of each other. Repeatability is very important, because without it wecould not begin to trust the data from the hundreds of applicationsthat are stored in repositories around the world.Work well with use casesThis process works extremely well with use cases, and can evenwork with the concept of ``stories'' in Extreme Programming.Other useful informationBefore we get into the practice of counting FPs, there are a fewother background points you should also know:Large user groupA large user group known as IFPUG (http://ifpug.org) is responsiblefor carrying the FP torch. IFPUG is a non-profit, member-governedorganization, consisting of over 1,200 members in 30 countriesaround the world. As the time of this writing version 4.2 of theIFPUG specifications for counting FPs (referred to as the CountingPractices Manual) has just been released.ISO StandardThe ``Unadjusted FP Count'' of IFPUG v4.1 is now an ISO standard.In this paper you'll learn some of the basics of performing anUnadjusted FP Count.De-facto standard