Re: Good People = Good Software?
First of all, congrats Mr. Babcock and best wishes for your retirement! Well deserved!!! If I may, I'd like to offer that good people are simply not enough. Thirty-four years in the software development industry taught me that good people working in an undisciplined environment simply cannot sustain any appreciable degree of product consistency or quality. I'd humbly offer that a better title might be "Future Software: Only as good as the processes that define how it is built." So, if I may, I'd like to offer my own definition of "good". Presuming a well defined design, development, testing, and configuration-management environment, "good" people have decent skills, are not easily swayed by the miracle development tool or process of the day, are capable of learning and successfully applying what they learn, can take direction (and constructive criticism on occasion), and are disciplined enough to follow processes proven to work over time. Those folks, even the non-heros, will produce code of the most consistently high quality; i.e., fewer bugs, fewer fatal design errors, and maintainable by the next generation of "good" people who enter through the industry's revolving door. The best of the "good" will go even further and will contribute to the evolution and increased effectiveness of their environment. For those of you who remember the Software Engineering Institute's Capability Maturity Model, this should all be familiar. Sadly, some of our most technically talented software developers will never achieve "good" in the context of businesses where quality over time means steady growth in terms of both reputation and income. Software genuises can produce singular miracles, but someone else inevitably has to deal with the fallout of such genius, and over time the quality of their work can only rarely be sustained. Again, congratulations on your retirement Mr Babcock and thanks for the opportunity for a twice-retired IT guy to offer a few hopefully useful thoughts.