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