Project quotes

From Motley Bytes Wiki
Jump to: navigation, search

F_Terry_Baker

Code Library

“The most important of these is a development support library which encourages the visibility and manageability of the product, as well as reduces clerical effort on the part of the programmers. The library is typically maintained and operated by a programming librarian who serves to control the programming assets and to provide the necessary services for both programmers and management. As a result of its use, the entire project is maintained in a centralized, up-to-date, visible form which makes its status immediately apparent to code-competent software managers and makes it possible for programmers to answer their questions directly without relying on others.”
  • Source: Baker, F. T. (1975). Software Management Through Improved Programming Technology. ACM ’75: Proceedings of the 1975 Annual Conference, 286–287. https://doi.org/10.1145/800181.810346

Robert_N_Britcher

Important Development Things

“The single, most important thing is that the individual programmer needs to be given total responsibility and control of the programming, including its function... eliminate project design and review as an exhaustive and rigorous process. Most of the design and review should occur as the program is written. ... Monitor progress on the project by talking to the individual programmers as [code] is being written. ... You must trust developers on the project to create a good product. ... Sometimes there are failures. ... The important thing is to fail quickly so you have time to find another approach. ... Developers must also feel free to say what they think to their supervisor. ... Managers should be the best programmers; ...There should be no overtime pay. ... Use profit-sharing and bonuses to get awesome products. ... Developers should each get their own office. ... Eliminate the dress code. Avoid meetings at all costs. ... Writing software is a lot like writing a book. Almost anyone can write garbage; very few can write a best-seller.”
  • Source: Britcher, Robert N. (1999). The Limits of Software: People, Projects, and Perspectives. Reading, MA: Addison Wesley. ISBN 0-201-43323-0. Page 155-156.

Up Front Time and Money

“Put enough time and money into any project, up front, and it will fail.”
  • Source: Britcher, Robert N. (1999). The Limits of Software: People, Projects, and Perspectives. Reading, MA: Addison Wesley. ISBN 0-201-43323-0. Page 187.

Fred Brooks

Brooks' Law

“Adding manpower to a late software project makes it later.”
  • Source: Brooks Jr., F. P. (1995). The Mythical Man-Month - Essays on Software Engineering (Anniversary Edition) | 1975/1995 (Anniv.). Boston. MA: Addison-Wesley. ISBN: 0201835959. Chapter 2, page 25. Known as Brooks' Law.

Throw One Away

“Plan to throw one away; you will, anyhow.”
  • Source: Brooks Jr., F. P. (1995). The Mythical Man-Month - Essays on Software Engineering (Anniversary Edition) | 1975/1995 (Anniv.). Boston. MA: Addison-Wesley. ISBN: 0201835959. Chapter 11, page 116.

Specification Hard

“Even perfect program verification can only establish that a program meets its specification. The hardest part of the software task is arriving at a complete and consistent specification, and much of the essence of building a program is in fact the debugging of the specification.”
  • Source: Brooks Jr., F. P. (1995). The Mythical Man-Month - Essays on Software Engineering (Anniversary Edition) | 1975/1995 (Anniv.). Boston. MA: Addison-Wesley. ISBN: 0201835959. Chapter 16, page 195.

Productivity Magnitude

“Study after study shows that the very best designers produce structures that are faster, smaller, simpler, cleaner, and produced with less effort. The differences between the great and the average approach an order of magnitude.”
  • Source: Brooks Jr., F. P. (1995). The Mythical Man-Month - Essays on Software Engineering (Anniversary Edition) | 1975/1995 (Anniv.). Boston. MA: Addison-Wesley. ISBN: 0201835959. Chapter 16, page 202.

Promotions out of Design

“Designers get promoted out of design. Consequently, few designers will work in any depth on as many as 100 projects over a working life.”
  • Source: Brooks Jr., F. P. (2010). The Design of Design. Upper Saddle River, NJ: Addison-Wesley. ISBN: 978-0-201-36298-5. Chapter 3, page 24.

Alistair_Cockburn

Striking Project Findings

"What I find striking about these projects is that they show:
Almost any methodology can be made to work on some project.
Any methodology can manage to fail on some project.
Heavy processes can be successful.
Light processes are more often successful, and more importantly, the people on those projects credit the success to the lightness of the methodology."

People Characteristics

"People, as active devices, have success modes and failure modes. The following are the main ones that I have named and used to date:
1. People are communicating beings, doing best face-to-face, in person, with real-time question and answer.
2. People have trouble acting consistently over time.
3. People are highly variable, varying from day to day and place to place.
4. People generally want to be good citizens, are good at looking around, taking initiative, and doing 'whatever is needed' to get the project to work.
There are other characteristics that I won’t expand here:
- People need both think time and communicating opportunities...
- People work well from examples...
- People prefer to fail conservatively than to risk succeeding differently; prefer to invent than to research, can only keep a small amount in their heads, and do make mistakes, and find it hard to change their habits.
- Individual personalities easily dominate a project.
- A person’s personality profile strongly affects their ability to perform specific assignments."

DeMarco and Lister

Project Failures

"We observe that about 15 percent of all projects studied came to naught: They were canceled or aborted or 'postponed' or they delivered products that were never used. For bigger projects, the odds are even worse. Fully 25 percent of projects that lasted 25 work-years or more failed to complete. In the early surveys, we discarded these failed data points and analyzed the others. Since 1979, though, we’ve been contacting whoever is left of the project staff to find out what went wrong. For the overwhelming majority of the bankrupt projects we studied, there was not a single technological issue to explain the failure."
  • Source: Book:: Entitled: Peopleware: Productive Projects and Teams. Edition: 3rd. Written by: Tom DeMarco; Tim Lister. Date published: 1987; 1999; 2013. Publisher: Addison-Wesley. Country: USA; GBR; CAN; DEU; FRA; ESP; ZAF; AUS; JPN; SGP; MEX. Language: en. ISBN: ISBN-13: 978-0-321-93411-6 (alk paper); 0-321-93411-3 (alk paper). Chapter: 1 (Somewhere Today, a Project Is Failing).

Project Politics

"The cause of failure most frequently cited by our survey participants was 'politics.' But now observe that people tend to use this word rather sloppily. Included under 'politics' are such unrelated or loosely related things as communication problems, staffing problems, disenchantment with the boss or with the client, lack of motivation, and high turnover. People often use the word politics to describe any aspect of the work that is people-related, but the English language provides a much more precise term for these effects: They constitute the project’s sociology. The truly political problems are a tiny and pathological subset."
  • Source: Book:: Entitled: Peopleware: Productive Projects and Teams. Edition: 3rd. Written by: Tom DeMarco; Tim Lister. Date published: 1987; 1999; 2013. Publisher: Addison-Wesley. Country: USA; GBR; CAN; DEU; FRA; ESP; ZAF; AUS; JPN; SGP; MEX. Language: en. ISBN: ISBN-13: 978-0-321-93411-6 (alk paper); 0-321-93411-3 (alk paper). Chapter: 1 (Somewhere Today, a Project Is Failing).

People Related Problems

"Whatever you name these people-related problems, they’re more likely to cause you trouble on your next assignment than all the design, implementation, and methodology issues you’ll have to deal with. In fact, that idea is the underlying thesis of this whole book: The major problems of our work are not so much technological as sociological in nature."
  • Source: Book:: Entitled: Peopleware: Productive Projects and Teams. Edition: 3rd. Written by: Tom DeMarco; Tim Lister. Date published: 1987; 1999; 2013. Publisher: Addison-Wesley. Country: USA; GBR; CAN; DEU; FRA; ESP; ZAF; AUS; JPN; SGP; MEX. Language: en. ISBN: ISBN-13: 978-0-321-93411-6 (alk paper); 0-321-93411-3 (alk paper). Chapter: 1 (Somewhere Today, a Project Is Failing).

Seldom Manage That Way

"Most managers are willing to concede the idea that they’ve got more people worries than technical worries. But they seldom manage that way. They manage as though technology were their principal concern. They spend their time puzzling over the most convoluted and most interesting puzzles that their people will have to solve, almost as though they themselves were going to do the work rather than manage it. They are forever on the lookout for a technical whizbang that promises to automate away part of the work. The most strongly people-oriented aspects of their responsibility are often given the lowest priority."
  • Source: Book:: Entitled: Peopleware: Productive Projects and Teams. Edition: 3rd. Written by: Tom DeMarco; Tim Lister. Date published: 1987; 1999; 2013. Publisher: Addison-Wesley. Country: USA; GBR; CAN; DEU; FRA; ESP; ZAF; AUS; JPN; SGP; MEX. Language: en. ISBN: ISBN-13: 978-0-321-93411-6 (alk paper); 0-321-93411-3 (alk paper). Chapter: 1 (Somewhere Today, a Project Is Failing).

Edsger_Wybe_Dijkstra

Two Kinds of System Designers

“There are two classes of system designers. The first, if given five problems will solve them one at a time. The second will come back and announce that these aren’t the real problems, and will eventually propose a solution to the single problem which underlies the original five. This is the ‘system type’ who is great during the initial stages of a design project. However, you had better get rid of him after the first six months if you want to get a working system.”

David_Epstein

Giant Undertakings

“Since the 1990s, researcher Bent Flyvbjerg has kept a database that tracks giant undertakings... Only 8.5 percent of projects finished on time and on budget; 0.5 percent did that and delivered the prophesied benefits. Almost every major infrastructure project goes over budget, but at least not by as much as IT projects, which have a greater tendency to go hundreds of percent over budget. The pattern of disaster that Flyvbjerg has documented is relatively simple: With few constraints, exciting projects get too large too fast, going from big idea to giant endeavor extremely quickly.”
  • Source: David Epstein in the book “Inside the Box: How Constraints Make Us Better”. Published 2026 by Riverhead Books. Page 14. ISBN 978-0593715734 (Ebook).

Replication Crisis

“The so-called replication crisis over the last decade has been painful for many scientists, but researchers in every discipline have been learning from it and working to improve their fields. It was, after all, scientists themselves who raised the alarm about their colleagues’ work (and in some cases their own work) in the first place. Increasingly, researchers now share or formally preregister their hypotheses at the start of a project. They can still deviate from the plan to explore unexpected findings, but the deviations are transparent. The point of restricting freedom in this way... is not to stifle inquiry but to make it more valuable.”
  • Source: David Epstein in the book “Inside the Box: How Constraints Make Us Better”. Published 2026 by Riverhead Books. Page 39. ISBN 978-0593715734 (Ebook).

Forbes_Tech_Council

Business Requirements

“One of the reasons software projects fail is the lack of understanding of the business’ needs... Assigning a seasoned business leader to the project team is essential for success.”

Customer Needs

“Sometimes software projects begin with a great idea... only for developers to discover that the problem they solved wasn’t actually the problem their customer needed to be solved.”

Yuval_Noah_Harari

Discovery of Ignorance

“The scientific revolution was launched by the discovery of ignorance... The scientific project starts by rejecting the fantasy of infallibility and proceeding to construct an information network that takes error to be inescapable.”
  • Source: Yuval Noah Harari writing in his book ‘Nexus: A Brief History of Information Networks from the Stone Age to AI’. Published in 2024 by Random House. Kindle edition. Chapter 4 page 103. ISBN 978-0593734247.

Patterson_Hume

University Software Experience

“What really worries me about software engineering is, do universities have to engage in large software projects in order to remain experts in the field of software engineering? Do they have to hire people who have had such experience with large projects, or do they have to have their professors go out and as consultants experience large software engineering projects? Then, when they come to exercise the students, do they have to have laboratories of some considerable consequence in software engineering exercises? Otherwise, who is to formulate principles of software engineering that can be used to train software engineers?”

Hollis_A_Kinslow

System Problems

“There are two classes of system designers. The first, if given five problems will solve them one at a time. The second will come back and announce that these aren’t the real problems, and will eventually propose a solution to the single problem which underlies the original five. This is the ‘system type’ who is great during the initial stages of a design project. However, you had better get rid of him after the first six months if you want to get a working system.”

Deadlines and Iteration

“Iteration is cut short by an arbitrary deadline. This is a fact that must be changed.”

Donald_Knuth

Software is Hard

“My main conclusion after spending ten years of my life working on the TEX project is that software is hard. It’s harder than anything else I’ve ever had to do.”
  • Source: Donald E. Knuth in the paper entitled All Questions Answered. Published in Notices of the AMS, volume 49, number 3 (March 2002).

Michael_Sean_Mahoney

Software Crisis and Software Engineering

“Let me say a bit more about the ‘software crisis’. It emerged in the late 1960s as an increasing number of large projects experienced large cost overruns, missed deadlines and failures to meet specifications. Some had to be canceled altogether. One response was calls for a discipline of ‘software engineering’”
  • Source: Michael S. Mahoney in a paper entitled The Histories of Computing(s). Published 2005 in Interdisciplinary Science Reviews, volume 30, number 2, pages 119–135. DOI: 10.1179/030801805X25927.

Ascher_Opler

Spot the Lemon Early

“In managing software projects the real problem is ‘spot the lemon and spot the lemon early’.”

Alan_Perlis

Human Communication Limits

“A man can communicate with about five colleagues on a software project without too much difficulty. Likewise he can supervise about five people and know pretty well what they are doing. One would structure 120 people in three levels, in which no man is talking to more than about eight people, both across his level and up and down”

Specifications

“It is easier to change the specification to fit the program than vice versa.”

Douglas_T_Ross

Requirements Prespecification

“The most deadly thing in software is the concept, which almost universally seems to be followed, that you are going to specify what you are going to do, and then do it. And that is where most of our troubles come from. The projects that are called successful, have met their specifications. But those specifications were based upon the designers’ ignorance before they started the job.”

Franz_Selig

Specification Feedback

“External specifications at any level describe the software product in terms of the items controlled by and available to the user. The internal design describes the software product in terms of the program structures which realize the external specifications. It has to be understood that feedback between the design of the external and internal specifications is an essential part of a realistic and effective implementation process. Furthermore, this interaction must begin at the earliest stage of establishing the objectives, and continue until completion of the product.”

Gerald_Weinberg

Small Teams More Efficient

“In any case, the basic rule for size and composition of programming teams would seem to be this — for the best programming at the least cost, give the best possible programmers you can find sufficient time so you need the smallest number of them. When you have to work faster, or with less experienced people, costs and uncertainties will rise. In any case, the worst way to do a programming project is to hire a horde of trainees and put them to work under pressure and without supervision — although this is the most common practice today.”
  • Source: Chapter 5. Weinberg, G. M. (2011). The Psychology of Computer Programming (Silver anniversary edition) | 1971. Weinberg & Weinberg.

Measuring Performance

“One consequence of the size of a large project is that performance becomes more difficult to measure. Part of this difficulty stems from the scale of things, which makes it impossible for a single mind to be making the judgment of all the parts.”
  • Source: Chapter 6. Weinberg, G. M. (2011). The Psychology of Computer Programming (Silver anniversary edition) | 1971. Weinberg & Weinberg.

Edward_Yourdon

Enterprise Productivity

“Enterprise productivity is much more important than project productivity or programmer productivity.”
  • Source: Edward Yourdon in the book “Decline and Fall of the American Programmer”. Published in 1992 by Prentice Hall. ISBN: 0-13-203670-3. Chapter 1, section 1.6, page 18.

Prototyping Analysis Design

“Everyone knows the benefits of building a prototype for an end user who is unsure of his or her requirements, but prototyping cannot eliminate the need for formal analysis and design work on large, complex projects.”
  • Source: Edward Yourdon in the book “Decline and Fall of the American Programmer”. Published in 1992 by Prentice Hall. ISBN: 0-13-203670-3. Chapter 2, section 2.4, page 30.

What to Do

“Solution: What to Do:
→ Hire the best people you can.
→ Pay special attention to proper training of your people.
→ Provide an exemplary environment in which your people can feel motivated and have fun and do good work.
→ Pay attention to effective project teams.”
  • Source: Edward Yourdon in the book “Decline and Fall of the American Programmer”. Published in 1992 by Prentice Hall. ISBN: 0-13-203670-3. Chapter 3, section 3.5, page 54.