GeeCON Prague 2014*
The moose likes Agile and Other Processes and the fly likes Function Point Analysis Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Function Point Analysis " Watch "Function Point Analysis " New topic
Author

Function Point Analysis

kri shan
Ranch Hand

Joined: Apr 08, 2004
Posts: 1376
What is the Function Point Analysis and how it helps for project estimation and scheduling?
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Function Point Analysis is a technique for assigning function points to the software being developed based on a number of rules. The aim is to be able to predictably estimate the required effort once you have the total number of function points for the product. I haven't tried FPA myself and I don't know anyone who has used it for real so I can't comment on how well it works.

I assume you've already gone through the first few pages of what Google returns when searching for "function point analysis"? There's also a book on the topic, if you're interested.


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
kri shan
Ranch Hand

Joined: Apr 08, 2004
Posts: 1376
HI Lasse, then how are you doing effort estimation (based on the number of use cases / use case functionality) ?
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
I've unfortunately done FPA in the past and frankly find it a complete waste of time.

Effective estimates:
1. Are done on small things.
2. Done by people who have done the work before.
3. Done by the people responsible for doing the work.

FPA is a great way to justify a bureaucrats job, that's about it. If you work for a big consulting company and want to increase your billable hours, FPA is a wonderful way to do it. If you want to build software, FPA is a bad joke.

- Scott


<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Originally posted by kri shan:
HI Lasse, then how are you doing effort estimation (based on the number of use cases / use case functionality) ?

Past experience. I evaluate the complexity of a given problem against my past experiences with similarly complex problems. If such past experience (i.e. close enough to the given problem) is not available, I resort to experimenting a bit (with pen and paper, the IDE, whiteboard, whatever) until I have a better idea of what's involved and then give an estimate.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
One good strategy for estimation is the XP Planning Game.

Basically, you break down the requirements into small chunks that you think you could do in perhaps some days. Than give each chunk a number: 1 is easy, 2 will take roughly twice as long as 1, 3 three times as long. Anything bigger needs to be split up.

Then you *measure* how many of those points your team can do in a week, simply by implementing the most important chunks. Doing the math will give you a reasonable estimate for how long the whole project will take.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Moving to the Process forum...
Dinaker Yanamandala
Greenhorn

Joined: Mar 10, 2005
Posts: 9
Function points are used for schedule/estimation during requirements phase.
i believe there are about 7-8 different types of functional points.

A lot of cost/schedule estimation tools use function points in pre-architecture phase.
kri shan
Ranch Hand

Joined: Apr 08, 2004
Posts: 1376
Hi Dinaker, What are the different types of functional points ??
Abdulla Mamuwala
Ranch Hand

Joined: Jan 09, 2004
Posts: 225
Hi Kri shan

I have done my Masters thesis on Function Point Analysis, in which I have done a detailed research on the different kinds of function point analysis techniques. If you want I can email you my thesis, may be it might help you answer some of your doubts.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Abdulla Mamuwala:
Hi Kri shan

I have done my Masters thesis on Function Point Analysis, in which I have done a detailed research on the different kinds of function point analysis techniques. If you want I can email you my thesis, may be it might help you answer some of your doubts.


I guess there might some more people be interested (I'd like to take a look at it, too - I have no idea how FPA works...). Can you make it downloadable somewhere?
Dinaker Yanamandala
Greenhorn

Joined: Mar 10, 2005
Posts: 9
http://www.sei.cmu.edu/str/descriptions/fpa_body.html

talks about FPAs.

I was refering to outputs, inputs, inquiries, files, and Interfaces which are 5 not 7 or 8 as i mentioned.

FPA is one of the best ways to estimate schedule/cost during inception phase where you have a very high level requirements.
Abdulla Mamuwala
Ranch Hand

Joined: Jan 09, 2004
Posts: 225
Hi Ilja

I have made my thesis downloadable at the following site,

Java Universe

Please click the Thesis link under Asteroids, it is marked with an asterick(*).

Please note that in my thesis I have used the concept of entropic model to FPA, therefore the first two chapters talk about the entropic model. Starting from the third chapter onwards FPA is discussed in detail. You will also find a copy of index to the thesis, which might be useful to locate the resources you are interested.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Got it, thanks!

Did you need to get a certain number of pages? The double line spacing makes for a straining read - good thing that I could change that before printing it...
Abdulla Mamuwala
Ranch Hand

Joined: Jan 09, 2004
Posts: 225
Hi Ilja

My University formating pattern required me to have the double spacing, but it did help
Pieter Schmidt
Greenhorn

Joined: May 01, 2005
Posts: 5
Originally posted by kri shan:
HI Lasse, then how are you doing effort estimation (based on the number of use cases / use case functionality) ?


You can perform use case point estimation (UCP) which can useful to get a 'ball-park' figure early on in the project. I have used this technique recently on a project I was managing and the result was within 20% of the final amount of time taken. If you want to find an article and also a fully functional tool for download go look at this site http://www.liemur.com/Articles/UseCasePointEstimation.html
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17250
    
    6

"drone"-
Welcome to the JavaRanch! Please adjust your displayed name to meet the

JavaRanch Naming Policy.

You can change it

here.

Thanks! and welcome to the JavaRanch!

Mark


Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
pawel szczypek
Greenhorn

Joined: May 05, 2005
Posts: 1
Ilja

Can you sent me your master thesis on FPA. I can't get there through the link you provided.

My mail: pawel.szczypek@wp.pl

Tx
James Coplien
author
Greenhorn

Joined: Oct 26, 2004
Posts: 22
I have found function points to be another one of those things that falls into the category of reading goat entrails and stars in the heavens. They are like methodology in that they become the explicit socialization focus, in a given culture, for talking about its own largely tacit experience. I don't think it's the function points that have value, but the discussion around them. Plans are useless: planning is invaluable (Eisenhower).

I come from telecom where most of the interesting work doesn't come from functional requirements. 80% of the code in a class 5 switch reflects non-functional requirements. How many function points is "30 seconds of down time per year for all reasons"? And--no--it doesn't break down into smaller functional requirements. It is an emergent property that arises as a gestalt.

Maybe function points work in MIS, and maybe they work because there is such a high constant overhead per task (the methodology crap) that the actual complexity of the task is irrelevant.

I don't find the XP planning game to be any different -- except, because it really only works in small groups, the variance is greater (bad news) and there is more socialization of history and experience (good news). The value of the XP planning game (most of whose elements you find in the Organizational Patterns) is found in the patterns Completion Head Room, Work Queue and Recommitment Meeting. That is, it's brutally honest about what to do when estimation goes wrong, as it inevitably does in a changing world.

I think the bottom line for me, which recurs above in this thread, is experience.

I will have a look at the thesis as I'm always willing to have my mind changed, but I'm going in as a skeptic.


James O. Coplien<br /> Object Architect, DAFCA, Inc., Framingham, MA<br /> Visiting Professor of School of Informatics, University of Manchester<br /> <a href="http://users.rcn.com/jcoplien/" target="_blank" rel="nofollow">http://users.rcn.com/jcoplien/</a>
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by James Coplien:
Maybe function points work in MIS, and maybe they work because there is such a high constant overhead per task (the methodology crap) that the actual complexity of the task is irrelevant.

I don't find the XP planning game to be any different


One interesting trend is that more and more XP teams are reporting that they don't estimate stories any longer. They break down their stories until they are at a size of just a few days of work, and then only count them, which already gives them a reasonable estimate. Due to the high number of stories, variations in size just compensate for each other.
 
GeeCON Prague 2014
 
subject: Function Point Analysis