The important lesson we have learned is that development for reuse is complex. If making a good design is difficult, then making a good reusable design is even harder, and any amount of process description cannot substitute for the skill, imagination, and experience of a good designer. A process can only support the creative work, and ensure that things are done and recorded properly. [Karlsson et al, REBOOT]



While many fine, useful software systems have been designed by committees, those software systems that have excited passionate fans are those that are the product of one or a few designing minds, great designers. Consider Unix, APL, Pascal, Modula, Smalltalk, Fortran; and contrast them with COBOL, PL/I, Algol, MVS/370, and MS-DOS. [Fred Brooks]



Heroes are people who take initiative to solve open-ended problems. Why must we rely on heroes? Why not make methodology more complete and sophisticated so we can succeed without heroes? Because that's impossible. Software development without human problem-solving is not called development, it's called a compiler. [James Bach, IEEE Computer, Feb 97, p129]



The total of all standards imposed upon your people should be described in no more than ten pages. [Tom Demarco and Tim Lister, Peopleware]



Most methodologists settle for simple linear descriptions of software processes that aren't linear at all. They write processes as if they were writing programs for robots. They write for rule followers rather than for problem solvers. [James Bach, IEEE Computer, Feb 97, p130]



I know of one company that evaluates its developers by the lines of code they write. The more written, the more money made. There's a group that will probably never support reuse. [John Williams, Object Magazine, Sep 97, p4]

equal outcome


The best people outperform the worst by 10:1. The best people outperform the median performer by 2.5:1. The better-than-median performers outperform the other half by 2:1. [Tom Demarco and Tim Lister, Peopleware]



Great designs come from great designers. Software construction is a creative process. Sound methodology can empower and liberate the creative mind; it cannot inflame or inspire the drudge. [Fred Brooks]



Too often we confuse effort and progress. The man-month is a fallacious and dangerous myth, for it implies that men and months are interchangeable. A pregnancy always takes nine months no matter how many women are assigned to the project. [Fred Brooks]

get it on-plan

get it right

Lacking any objective measure, we often judge how difficult a program is by how hard a programmer works on it. Using this sort of measure, we can easily fall into believing that the worst programmers are the best. [Gerald Weinberg]