Development quotes

From Motley Bytes Wiki
Jump to: navigation, search

Agile Manifesto Signatories

Manifesto for Agile Software Development

“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
* Individuals and interactions over processes and tools.
* Working software over comprehensive documentation.
* Customer collaboration over contract negotiation.
* Responding to change over following a plan.
That is, while there is value in the items on the right, we value the items on the left more.”
  • Source: Kent Beck; James Grenning; Robert C. Martin; Mike Beedle; Jim Highsmith; Steve Mellor; Arie van Bennekum; Andrew Hunt; Ken Schwaber; Alistair Cockburn; Ron Jeffries; Jeff Sutherland; Ward Cunningham; Jon Kern; Dave Thomas; Martin Fowler; Brian Marick (2001). 'Manifesto for Agile Software Development'. Agile Alliance. https://agilemanifesto.org/ Retrieved 14 June 2010.
    • © 2001, the above authors. This declaration may be freely copied in any form, but only in its entirety through this notice.

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

Program Ownership

“A program or program system is a group product and should be produced in a way which allows and encourages maximum knowledge of it by each person involved. Furthermore, the management responsible for its development should be able to determine its status directly and not depend on the programmer's description of his progress on an 'invisible product'.”
  • 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

One Database

“I went too far. I specified too much detail. I insisted that one relational database connect every element of the software development environment. The subsystem designers and coders soon learned that this elegant solution could not work. Uniformity and commonality have their limits. ... They developed separate databases that could be queried independently. The team succeeded and I learned when to stop.”
  • Source: Britcher, Robert N. (1999). The Limits of Software: People, Projects, and Perspectives. Reading, MA: Addison Wesley. ISBN 0-201-43323-0. Page 41.

When to Stop Testing

“Two of the great questions in developing computer systems are (1) When do we stop testing? and (2) At any point during testing, how far along are we? The second question cannot be answered until the first one has been answered. The first question can be answered by fiat.”
  • Source: Britcher, Robert N. (1999). The Limits of Software: People, Projects, and Perspectives. Reading, MA: Addison Wesley. ISBN 0-201-43323-0. Page 61.

Failure Discovery Rate

“A critical parameter in the development of any system is the discovery rate of software failures, especially during system testing.”
  • Source: Britcher, Robert N. (1999). The Limits of Software: People, Projects, and Perspectives. Reading, MA: Addison Wesley. ISBN 0-201-43323-0. Page 62.

Verification Percent

“Over 70 percent of the technical budget was spent on verification activities such as inspections and testing; only 30 percent was spent designing and writing code.”
  • Source: Britcher, Robert N. (1999). The Limits of Software: People, Projects, and Perspectives. Reading, MA: Addison Wesley. ISBN 0-201-43323-0. Page 117.

Difficult Programming Shortcuts

“So developing software correctly is difficult. Developing vaccines and medications without side effects is difficult. But neither enterprise will benefit from shortcuts.”
  • Source: Britcher, Robert N. (1999). The Limits of Software: People, Projects, and Perspectives. Reading, MA: Addison Wesley. ISBN 0-201-43323-0. Page 128.

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.

Richard_Clarke_Cabot

Real Life

"'Real Life,' then, if it is to mean the nourishing, sustaining, and development of existence, demands work, play, love, and so much of the material and spiritual conditions as make these possible."

Alistair_Cockburn

Formal Development

"In the formal development of communications software, in 1987, I was given the motivation, 'The problem with software development is that there is too much ambiguity in the problem statement and in the design description. Things will go better if we get people to work with mathematical formalisms.” After some work in this area, I discovered:
Problem 1. The people on the projects were not interested in learning our system.
Problem 2. They were successfully able to ignore us, and were still delivering software, anyway.
I shifted out of formal development, hearing my formal development colleagues saying, 'The problem lies in the training. Things will go better if we start training students in the necessary mathematics earlier, i.e., secondary school.' Based on what I have learned about people, I expect this will be a frustrated desire. It is not that I doubt certain advantages of formal development, but I do doubt our ability to coax 10**6 people to master it. The question should become, 'Under what circumstances, and with what assignment, should a formal specialist be called in?'"

Source: Cockburn, A. A. R. (1999). Characterizing people as non-linear 1st order components in software development. HaT Technical Report 1999.03, Humans and Technology, Inc.. Retrieved 2019-06-29 from https://ameyakarve.wordpress.com/2012/07/22/characterizing-people-as-non-linear-1st-order-components-in-software-development-cockburn-us/.


Diligent Use of Bad Practices

"Diligent use of bad practices is still bad."

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 First-Order Effect

"I finally concluded that there is something there, in front of us all the time, which we are not seeing: people. People’s characteristics are a first-order success driver, not a second-order one. In fact, I have reversed the order, and now consider process factors to be second-order issues."

Keywords: People_quotes Methodology_quotes Process_quotes Success_quotes Failure_quotes Conclude_quotes Front_quotes Time_quotes See_quotes Characteristic_quotes First-order_quotes Second-order_quotes Reverse_quotes Order_quotes Factor_quotes Software_quotes Development_quotes

Edward_Emil_David

Competitive Rush

"Computing has one property, unique I think, that seriously aggravates the uncertainties associated with software efforts. In computing, the research, development, and production phases are often telescoped into one process. In the competitive rush to make available the latest techniques, such as on-line consoles served by time-shared computers, we strive to take great forward leaps across gulfs of unknown width and depth."

DeMarco and Lister

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).

Cheeseburgers

"Development is inherently different from production. But managers of development and allied efforts often allow their thinking to be shaped by a management philosophy derived entirely from a production environment.
Imagine for the moment that you’re the manager of the local fast food franchise. It makes perfect sense for you to take any or all of the following efficient production measures:
- Squeeze out error. Make the machine (the human machine) run as smoothly as possible.
- Take a hard line about people goofing off on the job.
- Treat workers as interchangeable pieces of the machine.
- Optimize the steady state. (Don’t even think about how the operation got up to speed, or what it would take to close it down.)
- Standardize procedure. Do everything by the book.
- Eliminate experimentation—that’s what the folks at headquarters are paid for.
These would be reasonable approaches if you were in the fast food business (or any production environment), but you’re not. The 'make a cheeseburger, sell a cheeseburger' mentality can be fatal in your development area. It can only serve to damp your people’s spirits and focus their attention away from the real problems at hand. This style of management will be directly at odds with the work.
To manage thinking workers effectively, you need to take measures nearly opposite those listed above."
  • 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: 2 (Make a Cheeseburger, Sell a Cheeseburger).

John_Dewey

Scientific Method

“The scientific method is the only authentic means at our command for getting at the significance of our everyday experiences of the world in which we live. It means that scientific method provides a working pattern of the way in which and the conditions under which experiences are used to lead ever onward and outward. ... Consequently, whatever the level of experience, we have no choice but either to operate in accord with the pattern it provides or else to neglect the place of intelligence in the development and control of a living and moving experience.”
  • Source: John Dewey, In Experience And Education (1938), 88

Peter_Drucker

What a Manager Does

“A manager sets objectives - A manager organizes - A manager motivates and communicates - A manager, by establishing yardsticks, measures - A manager develops people.”
  • Source: Peter Drucker, “The Practice of Management” New York,: Harper, 1st ed. 1954 ; Routledge, 2012, p. 344.

Dwight_D_Eisenhower

Crises and Balance

“Crises there will continue to be. In meeting them, whether foreign or domestic, great or small, there is a recurring temptation to feel that some spectacular and costly action could become the miraculous solution to all current difficulties. A huge increase in newer elements of our defenses; development of unrealistic programs to cure every ill in agriculture; a dramatic expansion in basic and applied research -- these and many other possibilities, each possibly promising in itself, may be suggested as the only way to the road we wish to travel. But each proposal must be weighed in the light of a broader consideration: the need to maintain balance in and among national programs, balance between the private and the public economy, balance between the cost and hoped for advantages, balance between the clearly necessary and the comfortably desirable, balance between our essential requirements as a nation and the duties imposed by the nation upon the individual, balance between actions of the moment and the national welfare of the future. Good judgment seeks balance and progress. Lack of it eventually finds imbalance and frustration.”
  • Source: Dwight D. Eisenhower, Farewell address (17 January 1961).

John_Gribbin

Scientific Method

“The Big Idea that had been developed in the seventeenth century ... is now known as the scientific method. It says that the way to proceed when investigating how the world works is to first carry out experiments and/or make observations of the natural world. Then, develop hypotheses to explain these observations, and (crucially) use the hypothesis to make predictions about the future outcome of future experiments and/or observations. After comparing the results of those new observations with the predictions of the hypotheses, discard those hypotheses which make false predictions, and retain (at least, for the time being) any hypothesis that makes accurate predictions, elevating it to the status of a theory. Note that a theory can never be proved right. The best that can be said is that it has passed all the tests applied so far.”
  • Source: John R. Gribbin. In The Fellowship: the Story of a Revolution (2005), 275.

Stephen_Hawking

Artificial Intelligence

“The development of full artificial intelligence could spell the end of the human race. We cannot quite know what will happen if a machine exceeds our own intelligence, so we can't know if we'll be infinitely helped by it, or ignored by it and sidelined, or conceivably destroyed by it.”

Fine Tuning

“The laws of science, as we know them at present, contain many fundamental numbers, like the size of the electric charge of the electron and the ratio of the masses of the proton and the electron.... The remarkable fact is that the values of these numbers seem to have been finely adjusted to make possible the development of life.”
  • Source: Stephen Hawking in his book “A Brief History of Time: From the Big Bang to Black Holes”. Published by Bantam in 1990. ISBN: 9780553346145.

Capers_Jones

Quality Software

“High-quality software is not expensive. High-quality software is faster and cheaper to build and maintain than low-quality software, from initial development all the way through total cost of ownership.”
  • Source: The Economics of Software Quality by Capers Jones and Oliver Bonsignour, 2011, chapter 7.

Carl_Jung

Unknown Potential

“Here and there it happened in my practice that a patient grew beyond himself because of unknown potentialities, and this became an experience of prime importance to me. I had learned in the meanwhile that the greatest and most important problems of life are all in a certain sense insoluble. They must be so because they express the necessary polarity inherent in every self-regulating system. They can never be solved, but only outgrown. I therefore asked myself whether this possibility of outgrowing, that is, further psychic development, was not the normal thing, and therefore remaining stuck in a conflict was what was pathological. Everyone must possess that higher level, at least in embryonic form, and in favorable circumstances must be able to develop this possibility.”

Kenneth_W_Kolence

Software Development Management

“Software product development requires (but is not itself sufficient) the design of rational and correctly integrated management and technical processes.”

John_von_Neumann

Gradual Development of Theory

“What is important is the gradual development of a theory, based on a careful analysis of the ... facts. ... Its first applications are necessarily to elementary problems where the result has never been in doubt and no theory is actually required. At this early stage the application serves to corroborate the theory. The next stage develops when the theory is applied to somewhat more complicated situations in which it may already lead to a certain extent beyond the obvious and familiar. Here theory and application corroborate each other mutually. Beyond lies the field of real success: genuine prediction by theory. It is well known that all mathematized sciences have gone through these successive stages of evolution.”
  • Source: John von Neumann, 'Formulation of the Economic Problem' in Theory of Games and Economic Behavior (1964), 8. Reprinted in John Von Neumann, F. Bródy (ed.) and Tibor Vámos (ed.), The Neumann Compendium (2000), 416.

Ipek_Ozkaya

Hello World Development

“We teach students hello world development, while we should be teaching them how to read millions of lines of code, triage and fix bugs that they have not contributed to and understand the structure and behavior of the software rather than the single class or story card they are responsible for.”
  • Source: Ipek Ozkaya, “Application of Large Language Models to Software Engineering Tasks: Opportunities, Risks, and Implications,” in IEEE Software, volume 40, number 3, pages 4-8, May-June 2023, DOI: 10.1109/MS.2023.3248401.

Alan_Perlis

Fit and Try

“Fundamentally, the procedure you mention, which is ‘fit-and-try’, will work very well with three or four people. If you have a hundred people the ‘fit-and-try’ process diverges because of lack of control.”

Software Engineering Competence

“It is a fact that there are software engineers around today who are quite competent. There are systems in many places which are quite stable and which provide magnificent service. It is also the case that there are large numbers of efforts, containing large numbers of programs and programmers, which have no software engineers on them, that is that people function as though they did not know how to build software.”
  • Note: Un-indexed continuation of quote: “I have a number of questions: 1. Is it possible to have software engineers in the numbers in which we need them, without formal software engineering education? 2. Is software engineering the same as Computer Science? 3. Is software engineering best provided by baccalaureate programs in universities? Or by adult education courses? Or by two year courses following the standard grade school education? 4. Do the people educated in these programs have a growing and future role in our society? 5. Will they be useful enough in a firm or government or university, and is their value such that they can distribute their talents in other activities, or must they always remain programmers? 6. What curriculum do we have in mind for software engineers, regardless of what level we choose to educate them? 7. Is software engineering really different from what we now call systems engineering?”

Balance Efficiency and Generality

“Our progress, then, is measured by the balance we achieve between efficiency and generality. As the nature of our involvement with computation changes — and it does — the appropriate description of language changes; our emphasis shifts. I feel that our successor model will show such a change. Computer science is a restless infant and its progress depends as much on shifts in point of view as on the orderly development of our current concepts.”


Nicholas_Rescher

Inherent Unpredictability

“The inherent unpredictability of future scientific developments — the fact that no secure inference can be drawn from one state of science to another — has important implications for the issue of the limits of science. It means that present-day science cannot speak for future science: it is in principle impossible to make any secure inferences from the substance of science at one time about its substance at a significantly different time. The prospect of future scientific revolutions can never be precluded. We cannot say with unblinking confidence what sorts of resources and conceptions the science of the future will or will not use. Given that it is effectively impossible to predict the details of what future science will accomplish, it is no less impossible to predict in detail what future science will not accomplish. We can never confidently put this or that range of issues outside 'the limits of science', because we cannot discern the shape and substance of future science with sufficient clarity to be able to say with any assurance what it can and cannot do. Any attempt to set 'limits' to science — any advance specification of what science can and cannot do by way of handling problems and solving questions — is destined to come to grief.”
  • Source: Nicholas Rescher, The Limits of Science (1984), 102-3.

Herbert_Simon

Design and Analysis

“In view of the key role of design in professional activity, it is ironic that in this century the natural sciences almost drove the sciences of the artificial from professional school curricula, a development that peaked about two or three decades after the Second World War. Engineering schools gradually became schools of physics and mathematics; medical schools became schools of biological science; business schools became schools of finite mathematics. The use of adjectives like 'applied' concealed, but did not change, the fact. It simply meant that in the professional schools those topics were selected from mathematics and the natural sciences for emphasis which were thought to be most nearly relevant to professional practice. It did not mean that design continued to be taught, as distinguished from analysis.”

Top Down or Bottom Up

“Alternatives are also open, in organizing the design process, as to how far development of possible subsystems will be carried before the overall coordinating design is developed in detail, or vice-versa, how far the overall design should be carried before various components, or possible components, are developed. These alternatives of design are familiar to architects. They are familiar also to composers, who must decide how far the architectonics of a musical structure will be evolved before some of the component musical themes and other elements have been invented. Computer programmers face the same choices, between working downward from executive routines to subroutines or upward from component subroutines to a coordinating executive.”

Gerald_Weinberg

A Good Program

“Most programmers feel that there is such a thing as good programming. Although this feeling may be valid, it does not follow that there is such a thing as a good program. Not, at least, in the sense that we can study the program out of the context in which it was developed and in which it will be used and declare it to have a goodness of 83.72 percent.”
  • Source: Chapter 2. Weinberg, G. M. (2011). The Psychology of Computer Programming (Silver anniversary edition) | 1971. Weinberg & Weinberg.

Amateur and Professional Programmers

“The amateur... is looking for a way to get the job done. If he runs into difficulty, all he wants is to surmount it — the manner of doing so is of little consequence. Not so, however, for the professional. She may well be aware of numerous ways of circumnavigating the problem at hand. She may even employ one of them for the immediate purpose of getting the job done. But her work does not stop there; it begins there. It begins because she must understand why she did not understand, in order that she may prepare herself for the programs she may someday write which will require that understanding. The amateur, then, is learning about his problem... The professional, conversely, is learning about her profession — programming — and the problem being programmed is only one incidental step in her process of development.”
  • Source: Chapter 7. Weinberg, G. M. (2011). The Psychology of Computer Programming (Silver anniversary edition) | 1971. Weinberg & Weinberg.

Shoshana_Zuboff

Breed of American Worker

“There is a breed of American worker who cherishes the autonomy and sense of self-control afforded by his or her skills and protected by the union contract. When these workers contemplate the prospect of the socially integrated high-technology workplace, they feel despair. They anticipate a loss of their unique identities, of freedom and autonomy, and of well-defined rights and responsibilities. They fear that without the traditional sources of protection provided by their job descriptions and their contract, they will become prey to every capricious whim of their superiors. They understand that the managers' world requires the body as a political instrument for self-presentation and influence, but they know that these are talents they have not developed and toward which they feel more than a little distaste.”
  • Source: Zuboff, S. (1988). In The Age Of The Smart Machine: The Future Of Work And Power. New York, NY: Basic Books, p. 404. ISBN:0465032125.