QW2001 Paper 9M2

Mr. Brian Lawrence
(Coyote Valley Software)

Choosing Potential Improvements -- Comparing Appoaches

Key Points

Presentation Abstract

You know that what you’re doing right now won’t keep working at some point in the future, so you want to try something different. But what should you do? Should you follow reference models such as the CMM or ISO-9000? Or just choose something that sounds good and hope for the best? Maybe your CEO’s pick-of-the-day?

There are many possible things you can do to improve your software design process: Inspection, Configuration Management, Testing, Modeling Requirements and Designs, QA, Retrospectives, Project and Risk Management, as well as others. How do you choose which to do? People will tell you the advantages of their favorite approach, and encourage you to head off in that direction. Is that what you should do? All of the choices have potential benefits, and what their purveyors frequently forget to mention is that they all have risks too. Some might not work-they definitely cost time and money-and you might not need some of them.

For example, you can assess your organization against a reference model such as the CMM. But is that the right model for your business needs? When the CMM was originally designed, its designers relied on some big assumptions about the nature of the software businesses that would use it. Those assumptions may not be true for you. And organizational assessment can be expensive.

In this presentation, I will compare improvement approaches using these criteria: “routineness,” complexity, constituency, difficulty, and level of effort. I will explain what I mean by each of the criteria, and then offer my evaluation of each of the approaches I’ve examined. You will have the chance to see how different approaches match up. By examining the relative value of possible approaches and the risks and benefits, you can have a better basis for choosing among them. I will offer you my take on how these different ideas might work out, and where I’ve seen them both succeed and fail.

Choosing the next improvement effort can be a dicey decision. I don’t believe there is any one right way, or one right answer. The proper choice depends on your circumstances and potential capabilities at the moment when you want to attempt the improvement effort. You can better inform your decision by using an evaluation such as this. I recommend that you take my comparison as a starting point, and conduct your own comparison based on what you know of your own organization. That way you can improve the chances that what the improvement effort you set out to do does indeed succeed.

About the Author

Brian has presented at many conferences on a variety of subjects over the years. He has served as a program chair for the SEPG’97 Conference and the 1998 International Conference on Requirements Engineering. Brian teaches and facilitates requirements analysis, peer reviews, project planning, risk management, life cycles, and design specification techniques. Brian serves on the editorial board of IEEE Software and as the editor of Software Testing and Quality Engineering magazine.