in order to achieve these worthy goals. One of the interesting things that was done four or five years ago by the same organization, the SEI, was to develop a bottom-up approach. This is something that could be practiced at the grass roots level by individual computer engineers. As you were mentioning during the break, even the users and customers and the people who actually have to interact with these computer systems to achieve higher levels of quality, which indirectly and secondarily, will make things better for the company as a whole. But firstly, and foremost, achieve some personal benefits for themselves and therefore will be a lot more interesting and desirable to put into effect.
Carol: The message that you are talking about is something called PSP or the Personal Software Process.
Ed: Yes. This is an idea that was created and then written up in a book called, I think it is called The Discipline of Software Engineering by Watts Humphrey who was the father and creator of this whole thing. He merely pointed out that many of the concepts and key practices that are recommended by the SEI CMM to be accomplished in a top-down/company-wide fashion could also be done in a grass roots fashion. Things like inspections and reviews, or things like improved requirements specification techniques. There is no reason why one individual business user might not be able to make some improvements in the way he documents or describes his requirements for a new system, just to make his own life better even if the rest of the company does not do it, and even if it does not achieve instantaneous corporate earnings improvements.
Carol: Really, the personal software process is the way of applying a discipline to things that individuals do, to actually become more repeatable, to build on the things that are best practices. I think Watts Humphrey in the creation of it even worked on balancing his checkbook as an example on how to apply better discipline and get better productivity and better quality out of balancing even a checkbook.
Ed: Yes. As I recall, a lot of what he talks about in that area, including even such mundane things as balancing your checkbook, is keeping measurements of what you are doing and how many mistakes you make and how often you have to redo the work so you can see where you need to make the most improvements. One of the key things about this kind of approach is the notion that the recommended procedures, whether it is new procedures for balancing your checkbook or anything else, should be presented to people on a voluntary basis rather than rammed down their throat in the form of do this because we have decided it is good for you. There might be 10 different ways of accomplishing a better job of balancing your checkbook or writing computer programs or documenting user requirements in a way that is best for you under your circumstances but might not be the best thing for me in my circumstances. The assumption is that you and I are intelligent people and want to make our own lives better. We can be trusted to choose the best practice for ourselves.
Carol: One of the things that I can just kind of hear in our audience, if they have been in software or they have been a user or a customer, they are pretty much saying that is not today's society. Today we are in Internet speed, we are in lightyear speeds, we need things faster, better and cheaper. All