1933 – 2018
Gerald M. Weinberg (October 27, 1933 – August 7, 2018) was an American computer scientist, author and teacher of the psychology and anthropology of computer software development.
From: Wikiquote (CC BY-SA 4.0)
Or, suppose you want to motivate your managers to ship products on time, so you conspicuously promote each manager whose product goes out the door on schedule. All goes as planned until the situation arises in which one of your managers has a project where the testers are reporting numerous problems. Because managers who have shipped products on time have been promoted, this manager thinks, I want that promotion so I need to ship this on time, but those bug reports are getting in the way. I know what I'll do! I'll put the testers on another project until the developers have a chance to catch up.
"Denise: "So your present project is ready to pass to the testing people?" Ralph: "Absolutely." Denise: "Okay, since you're so sure it's adequately tested, I'm going to make you the following generous offer: If fewer than three bugs turn up in your component during testing, I will give you a raise. But if three or more bugs turn up during testing, you won't earn a raise this year." Ralph: "Um . . ." Denise: "Um what?" "Could I just have the component back for a few little tests I want to do?
Programming is generally a manual operation — we laugh when someone asks us to “say something in FORTRAN.” It is a written language, and in spite of its resemblance to other written languages, it differs from them in not having a speech system behind it. Not that written languages are simple transcriptions of speech, not at all; but a written language such as English is strongly influenced by its relationship to a spoken language. This influence is not so strong in other written languages, such as those using the Chinese writing system, but the influence — the mutual influence — always exists.
Programs, like any other human-made objects, are designed — or should be designed — with a definite lifespan and scope of application in mind. Like the “Deacon’s Masterpiece,” which was “built in such a logical way it ran a hundred years to the day,” a program should have neither over-designed or under-designed parts. Yet it is an occupational disease of programmers to spend more time on those program parts that present, for some reason, the most intellectual challenge rather than on those that require the most work.
PREMIUM FEATURE
Advanced Search Filters
Filter search results by source, date, and more with our premium search tools.
One typical computing example of social fixation is the adoption of one programming language by an installation. Once the language has been adopted, a new language has more difficulty making an entry, because with most of the people using the old language, advantages accrue to following the beaten path.
Unlimited Quote Collections
Organize your favorite quotes without limits. Create themed collections for every occasion with Premium.
why is it so hard for developers to submit their work for review by others or to try to improve their own skills by reviewing the work of others? Curiously, superior developers tend to find value with walkthrough and inspection processes while the merely clever do not. So, as always, the good get better and the bad get worse.