Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesThe Real Software Crisis


January 1996 / Commentary / The Real Software Crisis

The shortage of top-notch programmers threatens to become the limiting factor in software development

Bruce F. Webster

Grady Booch calls it "one of the dirty little secrets of software engineering": Success in software development depends most upon the quality of the people involved. In his book Software Engineering Economics (Prentice-Hall, 1981), Barry Boehm rigorously shows individual and team productivity to be the leading predictor in estimating software costs; it's twice as significant as product complexity. And any decent book on building and managing a software team urges you to "hire the best people."

Ah, there's the rub. Perhaps you've noticed that it's getting more and more difficult to locate and then hire the best people. This isn't an illusion; it's real, it's significant, and it's only going to get worse. It is, in fact, the heart of the real software crisis: There is more software to be developed than there are capable developers to do it. Demand will continue to outstrip supply for the foreseeable future. Hence, more and more software will be behind schedule, over budget, underpowered, and of poor quality -- and there's nothing we can do about it.

"Nothing?" you ask. "What about better schools, better tools, better on-the-job training, better methodologies?" Those are essential because they raise the quality of most developers. But they do not solve the fundamental problem.

The conclusion I have reluctantly come to after more than 20 years of software development is this: Excellent developers, like excellent musicians and artists, are born, not made. The number of such developers is a fixed (and tiny) percentage of the population. Thus, the absolute number of such developers grows very s lowly. At the same time, the demand for them expands rapidly due to the world's increasing use of, and reliance on, software.

The situation is worse than it appears. Some of these innately talented people never go into the computer industry. Many who do never develop their full potential. Others become prima donnas, demanding large salaries and extreme benefits. Or they become "cowboy programmers," shooting from the hip and holding teams, projects, or entire companies hostage. A few burn out and leave the field. Of those left, only a fraction meets the requirements for your project.

This is not to slight the decent, talented software engineers, the ones who study hard and work hard at developing and maintaining their skills. Indeed, if not for them, we wouldn't have a software industry at all. But even they can't meet the demand, and their efforts are undermined by the mediocre (or worse) programmers.

Suppose that companies needed in-house orchestras to produce quality music. The demand for musicians would explode, and their starting salaries would soar. Think about the vast number of people (especially college students) who would take up music regardless of their talent or inclination, guaranteed an entry-level position because companies were desperate to fill all those seats.

Here and there, a great soloist or ensemble would play with passion, skill, and creativity, but much of what musicians produced would be cacophony, especially as the newcomers and those lacking talent and skill struggled with unfamiliar instruments and pieces. Now imagine that jobs, companies, and lives depended on how flawlessly the players performed.

This scenario describes the current state of software development. I saw this for the first time when I went back to teach computer science at the same place I had studied a decade earlier. The enrollment of computer science majors had gone up by almost a factor of 10, yet a professor who had been there since I was a student noted that the absolute number of rea lly excellent computer science students remained the same.

In the years since my graduation, my experience in building and working with development teams has confirmed this. Ask any manager how many resumes and interviews it takes to find a top-notch software architect or developer.

As needs, costs, and opportunities escalate, some great breakthrough -- a "silver bullet," to use Frederick Brooks' classic phrase -- may yet quell the software crisis, reducing the complexities of development. If you wish to bet on that, go ahead. But in the meantime, keep your eyes and your checkbook open and grab the great programmers when you can -- they're getting really hard to find.


Bruce F. Webster, Consultant and Author

photo_link (39 Kbytes)


Bruce F. Webster is a consultant and author of Pitfalls of Object-Oriented Development and The Art of 'Ware (both M&T Books, 1995). He can be contacted on the Internet at bwebster@bfwa.com or on BIX c/o "editors."

Up to the Commentary section contentsSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network