Randy Miller

Position Statement

 

 

Barry Boehm’s ideas have shaped the computer industry for more than three decades. His approaches to software engineering economics have influenced many of us as we have provided our thoughts on how software engineering should be done. There is no doubt that he has made a seminal contribution to the industry.

 

The notions of scalability, change, and quality in software development are fuzzy ones. There are many who have proposed methods of dealing with problems in these areas via technology or processes. Any first line software development manager will tell you that these are just “band-aids” for dealing with other problems. They will tell you that these items might cover the “smell” of these problems, but they are merely perfumes.

 

The value in process lies in the ability to help our people deal with the ordinary. We expect the easy things to be accomplished easily. In our companies, we expect that the process for dealing with expense checks will not lose our expense reports and will deliver an expected reimbursement for correct expense reports. So it is in software. We expect that straightforward software development items can be delivered in an optimal and efficient way. With too little process it takes extraordinary people to do ordinary things.

 

One of the elements with a strong correlation to scalability, change, and quality is people. Good people, who are given the chance to make a difference, are the catalyst for strong software. Process plays a role in this in that it can stifle their creativity and destroy their morale. With too much process even extraordinary people can't do extraordinary things.

 

So what has process to do with software engineering economics. I believe that we continue to attempt to move software engineering from a craft to a mechanical process. We come up with all kinds of ways to minimize the cost of software. The reality is that building software can be hard. At times, it can be very hard. Our focus should be on ways to empower people to deliver the highest quality.

 

Randy Miller (aka Granville Miller) is a software architect and developer for TogetherSoft Corporation. He is coauthor of the Advanced Use Case Modeling series and A Practical Guide to XP.