Many organizations are embracing Agile as their development framework of choice. The Agile project team, consisting of a Product Owner, Scrum Master and developers, creates and prioritizes user stories, which describe the functionality to be delivered by completion of the task/story. The team plans and executes in sprints to develop and implement functionality for each user story, and updates and reprioritizes the backlog of user stories (backlog grooming) for each subsequent sprint. By working in this way, Agile provides faster realization of value through incremental delivery of functionality, prioritizing the deliverables that will have the most impact. It involves the user in the development process, reduces risk by identifying issues earlier in the project lifecycle and embraces change throughout the project. It’s easy to understand why it’s become such a popular framework!
As in traditional waterfall, Agile project teams have a responsibility to the business to deliver on time and within budget. An estimate of the overall project spend and schedule can be done at the beginning of the Agile project and modified throughout the lifecycle to ensure accuracy as project requirements change. Project metrics can be derived at the end of the project and compared within the company portfolio or to industry benchmarks. But, the question is how to do this.
The answer, of course, is Function Point Analysis. Function Point Analysis is a standardized method for measuring the functionality delivered to a user, independent of technology. It works well for Agile and traditional waterfall projects. Function Point Analysis can be used at the beginning of an Agile project, once the user stories have been defined. Cost and duration estimates can be derived for the overall project from the function point counts using well defined, industry proven models and software. At the end of the project, metrics such as productivity, defect density and time-to-market are valuable in the Agile environment as within waterfall. These metrics allow measurement for internal improvement initiatives, contract compliance and comparison to industry benchmarks.
Estimation and project metrics based on functional sizing are good practices, regardless of the delivery framework used. They allow the project team to provide the business with realistic expectations of project cost and duration and to measure themselves against improvement goals and the industry.
For more insight on the use of function points in an Agile environment, check out the July 2015 DCG Trusted Advisor report, “Story Points or Function Points or Both?”
Vice President, Outsourced Services