I love Capers Jones’ software function points. I’ve followed him for years and have used his data on function points successfully for decades. Many of my “oh man, I’ve got to have a software estimate by when?” were buttressed by numbers using function points.
In his article “Get Software Quality Right” Informationweek, June 28, 2010 Capers Jones says something similar to what I often repeat: “We’ve known the basics for years but need to apply them.” What always makes me wonder, is why we don’t use more of what we already know?
Using my experience I would summarise it by saying it is like dieting, exercising, saving or learning — we know what to do, it is just hard to do it all the time.
People who are successful figure out how to do the right things right — each day.
We do this even when doing the right things are hard and even when we are faced by daily opposition. If we fail to do the right things today, we bounce back and do the right things tomorrow.
I think Caper’s article is one example of what goes wrong. When I read the article, I get the idea that if we now go out and do this stuff then we’ll get a great increase in quality and project durations will get shorter. The problem is of course that it rarely works this way, at least in my experience.
One thing I heard a lot when I was at the Software Engineering Institute was something along the lines of “technical tools and techniques won’t fix a dysfunctional organization.” Too many organizations try to fix management and cultural problems by introducing a new methodology or tool of some kind.
This was the same realization I came to on my first job out of college. The problems weren’t technical. They were instead the strange things management was doing or not doing. When we found ways to minimize the impact of these bad practices we could often get some really good things going by a lot of people.
For more see The Leap To The Exceptional Is Shorter Than We Think
One of the bad practices I frequently write about is bad estimating that leads to bad commitments. We say we will do something in six months and it takes us 9 to 12 months to actually deliver it. Anyone can make a mistake, but an awful lot of the organizations I’ve worked with had the data available that said it would most probably take a longer time. Instead, for a variety of reasons, they felt they had to claim the earlier date. I’ve never seen these variety of reasons ever succeed in meeting a commitment when the objective data predicted the opposite.
The data of Capers Jones helped me to get many of my estimates “in the right ballpark” based upon industry experience. However, the best approach I’ve found is to dig up the numbers for our own organization directly. What we want to do is build these same kind of characterizations for our own projects.
For an example see Knowing Your Average Is Powerful
There are many great project management approaches available and most of them have been known for years. The trick is to break bad habits that undermine the effectiveness of these approaches. Knowing objectively how our organizations currently performs helps to overcome bad habits, which allows us to meet current commitments and can rocket us up to the next level of performance.
Does your organization do what it knows it needs to do?