we need to concentrate on how to use the things well, if we are going to use them at all, and for the right reasons.
Take the CMM, for example. I think a lot of misuse starts from a misapprehension on the part of management at some high level. For example, if you're told that if you are not assessed at a certain level, you can't get contracts from us. Well, that really wasn't the point of all this. As soon as you couple certification with assessment, you start getting people cheating on the assessments. And, that’s happening all over the place. Same way with standards—standards are a wonderful concept. But, if they are used to make people conform as a marketing device (our standard imposed on everyone else), then they backfire on you.
Then, with things like eXtreme Programming, when it gets built up like it's a magic solution to the problems we’ve been having for years and years (problems caused by not doing things like requirements, reviews, configuration management) then it's not going to help, it's only going to make things worse—this pursuit of magic. And that's what we see over and over again.
I think that all three of those things (CMM, standards, eXtreme Programming) have great promise, and I've seen them used well, but we're not using them enough—and for the right reasons.
SQP: Any thoughts about how to increase their use?
JW: My own conclusion a long time ago was that their use will increase when we have leaders in the field whose influence is aligned with their knowledge. Then we wouldn't have the case where people who really don't understand, but are very persuasive, are persuading people to do the wrong things for the wrong reasons. Or where the people who really do understand are very poor at negotiating, presenting ideas to people, and persuading people. Today, we're driven by who is the best persuader, not who knows best what to do. So, we have a real crisis of leadership, which we’ve always had because we've been growing so fast.
SQP: Based on your decades-long observation of the field, how would you compare our rate of progress in the technology to our progress in the sociology of software development? Do managers better understand the human and team aspects of software development today than thirty years ago?
JW: Interesting question. I think that, more often, you'll get them saying the right words than maybe they did thirty years ago! In practice, I think we saw much better teamwork back then, although managers didn't know to call it that or know what they were doing to inculcate it. Today, there's more lip service done to teamwork, communication, and so on, and they all nod their heads. But, I don't think the average manager of software development today really knows more about that in the practical sense of what to do.
That doesn't mean there aren’t some outstanding people; we have many more outstanding people now than then. But, we also have many more times the number of people in the business.
Weinberg On Professional Development Of Software Professionals
SQP: If you had to guide a young professional to prepare for a successful career building software, what balance of training and experience would you recommend (for example, mathematics, computer science, engineering, mountain climbing, team sports, and so on)?
JW: It's not a matter of what the subject matter is, it's a matter of how they approach the subject matter. I think we need less theory and more practice. I think a lot of the engineering schools in