what can you do to make things better? And what we observed in looking at problem projects was that the problems typically weren't technical problems in the sense of, you know, we tried to try some leading edge technology, and it just was not successful. They were real fundamental planning and management kinds of issues. And when you look at the CMM, there's a set of six things that are the fundamental attributes of the Level 2 process capability.
The first one is requirements management. Do you have a common understanding with your customer of what the software product is going to be? Project planning, do you have a realistic plan? Are you making realistic commitments in terms of how long it's going to take you, how much it's going to cost, what the functionality is that you're going to deliver?
Third, can you track what your progress is in actually delivering that functionality on that schedule to that cost? Four, do you have an ability to manage your subcontractors? A lot of organizations that do subcontracting will be critically dependent upon the capability that's being supplied by their subcontractor, so you have to manage that effectively. Otherwise, that risk can prevent you from being successful on your project.
Mark: Then fifth, the idea of software quality assurance. Are you doing what you said you were going to do? So do you have the process assurance and product assurance mechanisms in place that will objectively verify that we're doing what we said we were going to do so that you don't delude yourself in essence. And last, configuration management. The idea that we know what our product is, they we're controlling changes to it in a, you know, a reasonably systematic fashion. And if I may make a side comment here, we sometimes talk about the bottom-dwelling, mud-sucking Level 1 organizations of the world, somewhat facetiously. And one of the things that I use as a sign post, if you will, of the real bottom Level 1 organizations are the ones that have lost the source code, don't know where their product is anymore. And I was amused at one of the banks that was auditing their code in preparation for Y2K, reported that they had found 97 percent of their source code. They were only missing three million source lines of code that were either going to have to be rewritten or re-engineered or somehow recaptured in order to prepare for the Y2K issue.
So, you know, these are all very fundamental basic management kinds of capability. And if you have major problems in any of those areas, there are going to be some pretty visible and pretty significant consequences in terms of being able to meet your commitments.
Carol: Now the source code that went missing, I find that quite interesting, because some of our listeners may say: Well, you know, what can happen to source codes? And was it as simple as people leaving and not essentially having it in their libraries themselves their… What types of things can happen? Because I don't think people go into work purposely to do a bad job. I think that people go in and do the best job that they know how to do, generally. But maybe they just don't know some of these fundamental things.
Mark: Absolutely. And in fact, one of the things that we say is that people do the best work that they can in the system that they have to work within. And when I was getting out of school with a bachelor's