Containing Development
Costs
by Pat Craig
From the Winter 1999 issue of the Complexity Management Chronicles
We have observed many companies that implemented quick and easy solutions to lower
their software development costs. Some organizations have hired foreign labor, and others
have hired as young as the law allows. But Information Systems management has not yet
implemented the more fundamental changes that would significantly ratchet down their new
software development costs as a measure of functionality delivered.
Focusing on absolute numbers, such as the annual IS budget, does not prove very useful in
reducing costs. You have to refine those numbers because software has an intangible
quality and most software is customized. How do we look at meaningful cost numbers for
software? Function points supplies the answer.
Function points, introduced in 1979 by Alan Albrecht of IBM, provides a standardized way
to size development projects. A 1990 MIT study confirmed the reliability of function
points. Having a standardized way to measure software value delivered allows us to analyze
costs in a meaningful way. Once we know how much we pay for each function point, we can
then ask the next question, "How do we reduce that cost?" To put it another way,
"How do we increase productivity so that cost decreases, as a function of value
delivered?"
How can you implement function point estimating? IFPUG, the International Function Point
User's Group, has conferences twice a year. Software Productivity Research Inc. markets a
function point tool. Additionally, a variety of organizations offer short (2+ day) courses
in function point estimating.
Function point knowledge allows you to compare the average productive capacity of various
programming languages. (Currently, many companies already do this, albeit haphazardously,
by utilizing productive programming languages such as Crystal reports, PC Focus, Telon,
etc..)
With function points providing a better way to evaluate costs, you can apply them in your
software development decisions. You may find that buying software packages, rather than
building software from scratch, becomes an effective way to reduce your costs.
For those systems that you must build yourself, consider implementing a software
development methodology. In Peter Senge's book "The Fifth Discipline" he states,
"You can have your cake and eat it too, but not all at once." Applied to
software, we believe this means you can have high quality software and lower development
cost, but not right away. First comes higher quality software, followed at some point by
lower maintenance costs.
With clients who have followed a methodology, we noticed that software development
resembles a production line. Team members know their roles, their responsibilities, the
process, and the expected deliverables. Teams become better aligned leading to less wasted
effort. It also helps new team members rapidly integrate into the team. Ideally,
management enforces the exit and entrance criteria for the various phases. (Just forcing
the developers to thoroughly unit test by imposing exit and entrance criteria can reap big
savings!)
Retaining high performing staff members can also lead to overall savings. Please refer to
our four part series on retaining staff, Summer '96 through Spring '97.
For large IS departments, consider hiring someone to work full time on improving
productivity. This person will need to discover ways to engage the development staff in
helping him find productivity improvements, such as a way for people to report waste
anonymously or a suggestion box with rewards for the best suggestions. E. Goldratt and J.
Cox focus on eliminating capacity constraints in their book "The Goal", an easy
read.
Unfortunately, space has limited our ability to discuss this important subject. Email us
at patcraig@alum.mit.edu for more details.
©Complexity Management 1999
Somerville, Massachusetts
Located in Metropolitan Boston
Complexity Management Chronicles, a newsletter for software quality assurance
professionals, is published in print form four times a year. Send your name and snail-mail
address to the e-mail address below if you would like to be on the mailing list - at no
cost to USA mailing addresses.
***********************************************************************
Return to Complexity Management Home
Contact Pat Craig at patcraig@alum.mit.edu .
|