More Related Content Similar to Function Points for Estimation - Getting Developers on Board (20) Function Points for Estimation - Getting Developers on Board1. ©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. ©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. ©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.