How Function Points help Agile methodology projects
“Is a ‘fixed price’ Agile contract possible? How Function Points can be used to help create contracts for tech projects where Agile methodologies are being used” is an interesting article published by CIO Australia (from IDG), magazine in which Australian CIOs, IT Directors, COOs, CTOs and senior IT managers share strategic thoughts on using IT.
This article describes using Function Points and project estimates as “a solution to overcome the need to retender for delivery and to provide better budget estimates”. The article addresses projects using Agile methodologies benefit from Function Points to generate transparency and control, “this approach results in the client carrying all the commercial risk and often is frowned upon by procurement professionals and executives, due to its potential for cost overruns.”
According to CIO Australia, estimating the functionality of a project and providing a price per Function Point is a key success factor as part of the contracting mechanism. “The tenderer will then provide a price per Function Point for the system based on size and complexity and a fixed price for any non-functional requirements not covered by the Function Point count model.” CIO Australia states that “Agile projects need strong governance as they will by their nature evolve and it is important that the project evolves in the direction defined by the steering committee”, and “costs can be controlled by managing the number of features delivered. This way, you at least get a working deliverable for your money and if the governance is right then it should be a deliverable which satisfies your organization’s current needs.”
In the opinion of Tom Cagley, authority in guiding organizations through the process of continuous process improvement, one of the top experts in Agile software development, and IFPUG (International Function Point Users Group) President, “IFPUG Function Points (proposed in 1979 by Allan J. Albrecht, published in 1983 by Albrecht and Gaffney while at IBM and then updated and extended over the years) is a key concept to size applications, developments or enhancement projects, just like using a tape measure to determine the size of the room, Function Points are a tool to determine the size of the application or project.”
According Tom Cagley, “Size as a measure has many uses, but the three most often cited are as a component in parametric estimation, as a denominator in metrics such as time-to-market and productivity, and as a basis for contracts. While there still might be an intellectual debate on the effectiveness of estimation, there has been no reduction in the sponsors, executives, purchasing agents and the like requesting a price or an end date that you will be held accountable to meet. Until those questions cease, estimation will be required. The concepts of parametric estimation processes (the second most popular form of estimation after making up a number) require an estimate of size as one of the inputs. Parametric estimation helps to avoid a number of the most common cognitive biases exhibited by IT estimators: optimism and assumption of knowledge. Size and estimation are tools to develop effective contract mechanisms for fixed price Agile contracts.”