Function Points for Estimation - Getting Developers on Board


Published on

in this report, David Herron discusses management approaches to implementing improved estimating practices using function points. All too often, such initiatives encounter resistance from the development teams – David considers how this resistance can be overcome.

The report can be downloaded here:

To access more Trusted Advisor articles, visit:

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Function Points for Estimation - Getting Developers on Board

  1. 1. ©2013 David Consulting Group Page 1 of 3 v1 “I've decided to move to Function Points for estimation, how do I get the development teams on board?” September 2013 Scope of this Report Change can be difficult at times. Any time you introduce change into an organization there is a mix of reactions from the very logical to the very personal and for some, the very physical. In John P. Kotter’s well-known book, “Leading Change”, he discusses change at the organizational level and introduces seven key elements for successful change; included among them are: having a champion, building consensus, staying the course, etc. But what about on a smaller scale? What about the small incremental changes that happen within a department or even within a project team? What are the challenges and what steps or actions are necessary to introduce change and make it stick? Function Points and Estimation Function point analysis is a method for measuring the features and functions of a software deliverable. It is a measurement used to size the amount of business functionality that is requested by and provided to an end user. The function point size is determined by identifying the components of the system as seen by the end user, including: inputs, outputs, inquiries, interfaces to other systems, and logical internal files. The components are classified and scored as simple, average, or complex, and then summed up giving the total function point count. Function Points are commonly used in combination with software development performance measures such as level of effort, project duration and total defects. These measures serve to produce productivity and quality levels of performance. Function Points is used as the common denominator lending themselves to useful comparisons across projects, organizations and industries. Function points are also commonly used as a key input for estimating software projects. For purposes of this article, we shall use a fairly high level description of an estimating model. In its most basic form, an effective software project estimating model needs to evaluate three key areas of influence. These include:  the technical complexity of the project  the functional size of the project  the organizations capacity to effectively evaluate and manage the inherent risks associated with the project. The size of the project is satisfied through the application of the function point methodology. The technical complexity considers the type of application, the complexity of the languages, operating
  2. 2. ©2013 David Consulting Group Page 2 of 3 v1 platforms, etc. Finally, the organizations capacity to deliver is based on an evaluation of numerous attributes which may influence performance. These typically include factors such as: personnel, process and practices, tools and techniques deployed during development, and environmental barriers. Introducing function point analysis and a more rigorous estimating process into an organization can be overwhelming for a project team. This type of change is predictably met with some form of resistance and so the challenge becomes how to get them on board. Meeting the Challenge As with most change initiatives, there are several factors that play a key role in achieving success. These include -  raising the level of awareness  communicating the value  committing to change  measuring outcomes Raising the level of awareness with regard to forthcoming changes includes creating a clear plan and direction for the proposed change and effectively and frequently communicating that plan or vision. When new tools, techniques or processes are being considered, individuals like to know in advance. This allows them time to get use to the idea and to begin to get comfortable with plans for the future. If possible and/or practical, making key individuals (influencers) part of the decision making process regarding how to introduce the new concepts can help build advocacy for the pending change. Consider a one day training course on function points and estimation for this group of key individuals. Communicating the impact of a particular change is often associated with messaging that describes why a particular change is good for the organization or for the business. Clearly a business case should be made for any substantive change, and the cost and return on investment of introducing function points and estimation techniques is a necessary step. However, we should also consider the impact on the individual. What is the value proposition to the individual team member? Is this change something that will help them do a better job, will it be an added skill that will increase their professional value? Perhaps, the change being introduced really has no positive impact on the individual at all, but is clearly necessary for the overall performance of the organizations. Whatever the value proposition, it should be openly and honestly communicated. Transparency is key. How do you get people to commit to change? Obviously if there is something in it for them, it makes it a lot easier. Commitment to change is where leadership plays a key role. At the team level, it is the project manager or technical lead that needs to make the commitment to change. He/she can then lead the rest of team by setting an example and coaching and mentoring them through the change. At a more senior level, committing to change can best be demonstrated by engaging and embracing the change. In the case of function points and estimation, this can include monitoring compliance, using the data and demonstrating value. Senior managers should lead by example demonstrating their commitment to the newly introduced techniques and practices. The best way to understand whether or not change is effective is to measure the impact or the outcomes. So what would be some of the measures associated with introducing function points and
  3. 3. ©2013 David Consulting Group Page 3 of 3 v1 estimation into an organization? Probably the most obvious one would be improved estimating accuracy. On the one hand, this is easy to measure, but it also takes times as you wait for projects to complete so estimates can be compared to actual outcomes. Another measure that can be used is an evaluation of the effectiveness of the sizing and estimating practices to properly set and manage customer expectations. Are customer satisfaction levels improving as project teams become more proficient in using the new techniques to enhance the end user experience? Perhaps user confidence in IT slowly increases as a result of improved accuracy with project estimates. Conclusion Development teams typically don’t like change and so introducing any degree of change is going to be a challenge. However, if individuals understand how the change will affect them and can be included in promoting change they may be more likely to be invested in that change. Additionally, effective communication and committed leadership will make the change process more effective resulting in a change that will stick. Sources  “Leading Change,” John P. Kotter, Harvard Business 1996.