Showing posts with label Lines of Code. Show all posts
Showing posts with label Lines of Code. Show all posts

Saturday, 26 July 2014

Lines of Code or Function Points Analysis - Which one offers best Software Estimation?

There are many software estimation methods available in the industry such as Lines of Code (LOC), Function Point Analysis (FPA), WBS method, Use Case Analysis based, Story points , Judgmental etc. But LOC  and FPA based software estimations are the most widely used methods. But then which one is better and effective - LOC or FPA

Unanimous answer would be off-course Function Point Analysis (FPA). Like majority of the people my money would also be on FPA.

Most importantly FPA is promoted and encouraged by INTERNATIONAL FUNCTION POINT USERS GROUP (IFPUG). This non-profit organization has over 1200 member companies in more than 30 countries from across industry verticals. This organization is committed to develop consistent and accurate counting guidelines.

This has made FPA universally accepted standard for software estimation. Here LOC has no such support and hence it is not universally accepted standard method. 

LOC is dependent programming languages, tools, methodologies and also the implementing organizations. Here FPA scores immensely as it is independent of programming languages, tools, methodologies and even the performing organizations. and hence FPA acts as a uniform  and widely accepted standard for software estimation.

It becomes very difficult to estimate the number of lines of code needed to develop a system from information that is available in analysis and design phase. This creates dependency of LOC on coding to get estimate. Now coding is part of the implementation phase which is a later stage in software development life cycle. Hence LOC can not provide estimates in early phases of the SDLC. FPA has upperhand in this department as well. Using FPA you can develop estimate in very phases of SDLC i.e. requirement analysis and design phase.

So in nutshell, following are few of the reasons due to which FPA scores over LOC:

  • FPA measures software development and maintenance independently of technology used for implementation
  • FPA offers for a consistent measure among various projects and organizations
  • Using FPA method, you can start developing the software estimate right from requirements gathering and analysis phase
  • FPA offers the effective measurement which acts a tool for effective communication among different stakeholders including customers about the size of the customer request, and the development progress in terms of how many function points completed etc. 
  • Using FPA companies can benchmark their productivity which can then be used to convert the FP estimates into the schedule and cost budgets
Does that mean FPA is perfect and do not have any constraints or limitations. Not really. In spite of so many benefits, it can only be used to measure business application and not the scientific applications. Scientific applications deal with complex algorithms which the Function points method is not designed to handle.

So the verdict is out - if it is business application and you have to make choice out of the two (LOC and FPA) then FPA is the obvious choice.