“
Software testing is a sport like hunting, it's bughunting.
”
”
Amit Kalantri
“
The earlier you catch defects, the cheaper they are to fix.
”
”
David Farley (Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation)
“
Developers should be able to run all automated tests on their workstations in order to triage and fix defects.
”
”
Nicole Forsgren (Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations)
“
The primary cost of maintenance is in spelunking and risk. Spelunking is the cost of digging through the existing software, trying to determine the best place and the best strategy to add a new feature or to repair a defect.
”
”
Robert C. Martin (Clean Architecture)
“
The job of tests, and the people that develop and runs tests, is to prevent defects, not to find them. A quality assurance organization should champion processes that build quality into the code from the start rather than test quality in later. This is not to say that verification is unnecessary. Final verification is a good idea. It’s just that finding defects should be the exception, not the rule, during verification. If verification routinely triggers test-and-fix cycles, then the development process is defective.
”
”
Mary Poppendieck (Implementing Lean Software Development: From Concept to Cash)
“
The majority of the cost of a software project is in long-term maintenance. In order to minimize the potential for defects as we introduce change, it’s critical for us to be able to understand what a system does. As systems become more complex, they take more and more time for a developer to understand, and there is an ever greater opportunity for a misunderstanding. Therefore, code should clearly express the intent of its author. The clearer the author can make the code, the less time others will have to spend understanding it. This will reduce defects and shrink the cost of maintenance.
”
”
Robert C. Martin (Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series))
“
Some people mistakenly refer to software defects as bugs. When called bugs, they seem like pesky things that should be swatted or even ignored. This trivializes a critical problem and fosters a wrong attitude. Thus, when an engineer says there are only a few bugs left in a program, the reaction is one of relief. *Supposed, however, that we called them time bombs instead of bugs.* Would you feel the same sense of relief if a programmer told you that he had thoroughly tested a program and there were only a few time bombs left in it? Just using a different term changes your attitude entirely.
”
”
Watts S. Humphrey (Reflections on Management: How to Manage Your Software Projects, Your Teams, Your Boss, and Yourself (Sei Series in Software Engineering))
“
Tests are sometimes mistaken with quality assurance. These two notions are not identical: 1) quality assurance ensures that the organization's processes are implemented and applied correctly; 2) testing identifies defects and failures, and provides information on the software and the risks associated with their release to the market
”
”
Bernard Homes (Fundamentals of Software Testing)
“
This parallelism between physics and psychology should occasion no great surprise. The human nervous system, after all - the "mind" in pre-scientific language - created modern science, including physics and quantum mathematics. One should expect to find the genius, and the defects, of the human mind in its creations, as one always finds the autobiography of the artist in the artwork.
”
”
Robert Anton Wilson (Quantum Psychology: How Brain Software Programs You & Your World)
“
Program maintenance involves no cleaning, lubrication, or repair of deterioration. It consists chiefly of changes that repair design defects. Much more often than with hardware, these changes include added functions. Usually they are visible to the user. The total cost of maintaining a widely used program is typically 40 percent or more of the cost of developing it. Surprisingly, this cost is strongly affected by the number of users. More users find more bugs.
”
”
Frederick P. Brooks Jr. (The Mythical Man-Month: Essays on Software Engineering)
“
In dealing with cryptozoology, lepufology, Disinformation Systems and Quantum Mechanics one eventually feels that one has come close to total nonsense, a basic defect in the human mind (or the Universe?) or some mental fugue similar to schizophrenia or solipsism. However, as our opening drawing showed and we will see again and again, the ordinary perceptions of ordinary people contain just as much "weirdness" and mystery as all these Occult Sciences put together.
”
”
Robert Anton Wilson (Quantum Psychology: How Brain Software Programs You and Your World)
“
Nintendo’s standards were exacting. “In terms of game testing they revolutionised the concept,” said Milgrom. “They said zero defects – we will not allow you to release a game that has any bugs in it whatsoever. Now zero defects was an unheard of concept in any other software or on any other gaming platform. Nintendo knew if they were going to sell it in the supermarkets and sell it to mums and dads it had to work off the shelf and had to be flawless. They didn’t want returns. We had to change our programming attitude and the way we developed games, which was brilliant. It was really hard work. If you had a bug in your final version you could miss Christmas because it would take a month for them to go through the testing of the title.
”
”
Tristan Donovan (Replay: The History of Video Games)
“
Peopleware. A major contribution during recent years has been DeMarco and Lister's 1987 book, Peopleware: Productive Projects and Teams. Its underlying thesis is that "The major problems of our work are not so much technological as sociological in nature." It abounds with gems such as, "The manager's function is not to make people work, it is to make it possible for people to work." It deals with such mundane topics as space, furniture, team meals together. DeMarco and Lister provide real data from their Coding War Games that show stunning correlation between performances of programmers from the same organization, and between workplace characteristics and both productivity and defect levels. The top performers' space is quieter, more private, better protected against interruption, and there is more of it. . . . Does it really matter to you . . . whether quiet, space, and privacy help your current people to do better work or [alternatively] help you to attract and keep better people?[19]
”
”
Frederick P. Brooks Jr. (The Mythical Man-Month: Essays on Software Engineering)
“
The chance of introducing a defect into your program is proportional to the size of the changes you make to it.
”
”
Max Kanat-Alexander (Code Simplicity: The Fundamentals of Software)
“
The fundamental problem with program maintenance is that fixing a defect has a substantial (20–50 percent) chance of introducing another. So the whole process is two steps forward and one step back.
”
”
Frederick P. Brooks Jr. (The Mythical Man-Month: Essays on Software Engineering)
“
Ethnomethodology, largely the creation of Dr. Charles Garfinkle, combines the most radical theories of modern anthropology and phenomenological sociology. Recognizing social realities (plural), which it calls emic realities, ethnomethodology shows how every human perception, including the perceptions of social scientists who think they can study society “objectively," always contains the limits, the defects and the unconscious prejudices of the emic reality (or social game) of the observer.
”
”
Robert Anton Wilson (Quantum Psychology: How Brain Software Programs You and Your World)
“
This parallelism between physics and psychology should occasion no great surprise. The human nervous system, after all — the "mind" in pre-scientific language — created modern science, including physics and quantum mathematics. One should expect to find the genius, and the defects, of the human mind in its creations, as one always finds the autobiography of the artist in the art-work.
”
”
Robert Anton Wilson (Quantum Psychology: How Brain Software Programs You and Your World)
“
This change in our thinking was of course nudged along by Jeff. In my tenure at Amazon I heard him say many times that if we wanted Amazon to be a place where builders can build, we needed to eliminate communication, not encourage it. When you view effective communication across groups as a “defect,” the solutions to your problems start to look quite different from traditional ones. He suggested that each software team should build and clearly document a set of application program interfaces (APIs) for all their systems/services. An API is a set of routines, protocols, and tools for building software applications and defining how software components should interact. In other words, Jeff’s vision was that we needed to focus on loosely coupled interaction via machines through well-defined APIs rather than via humans through emails and meetings. This would free each team to act autonomously and move faster.
”
”
Colin Bryar (Working Backwards: Insights, Stories, and Secrets from Inside Amazon)
“
In my tenure at Amazon I heard him say many times that if we wanted Amazon to be a place where builders can build, we needed to eliminate communication, not encourage it. When you view effective communication across groups as a “defect,” the solutions to your problems start to look quite different from traditional ones. He suggested that each software team should build and clearly document a set of application program interfaces (APIs) for all their systems/services. An API is a set of routines, protocols, and tools for building software applications and defining how software components should interact. In other words, Jeff’s vision was that we needed to focus on loosely coupled interaction via machines through well-defined APIs rather than via humans through emails and meetings. This would free each team to act autonomously and move faster.
”
”
Colin Bryar (Working Backwards: Insights, Stories, and Secrets from Inside Amazon)
“
In software development, engineers are often pressured to deliver features instead of fixing defects, addressing reliability issues, or working on internal improvement projects. As a result, so called “technical debt”§§ adds up, leading to more complex problems that are increasingly difficult to solve. Consequently, Marty Cagan, a product expert who has trained generations of product leaders on building software products that customers love, stresses the importance for product and engineering leaders to allocate at least 20% of engineering’s time to proactively fix issues before they snowball into catastrophic ones, such as having to “rewrite the entire codebase from scratch.
”
”
Gene Kim (Wiring the Winning Organization: Liberating Our Collective Greatness through Slowification, Simplification, and Amplification)
“
Software defects manifest themselves in a variety of ways, from misunderstood requirements to coding errors.
”
”
Andrew Hunt (The Pragmatic Programmer)
“
The price is high for not defining requirements or not doing it well. Poorly defined requirements result in requirements defects—errors in requirements caused by incorrect, incomplete, missing, or conflicting requirements. Defective requirements may result in: • Cost overruns, • Expensive rework, • Poor quality, • Late delivery, • Dissatisfied customers, and • Exhausted and demoralized team members.
”
”
Ellen Gottesdiener (The Software Requirements Memory Jogger TM)
“
There is only one code stream. You can develop in a temporary branch, but never let it live longer than a few hours. Multiple code streams are an enormous source of waste in software development. I fix a defect in the currently deployed software. Then I have to retrofit the fix to all the other deployed versions and the active development branch. Then you find that my fix broke something you were working on and you interrupt me to fix my fix. And on and on. There are legitimate reasons for having multiple versions of the source code active at one time. Sometimes, though, all that is at work is simple expedience, a micro-optimization taken without a view to the macro-consequences. If you have multiple code bases, put a plan in place for reducing them gradually. You can improve the build system to create several products from a single code base. You can move the variation into configuration files. Whatever you have to do, improve your process until you no longer need multiple versions of the code.
”
”
Kent Beck (Extreme Programming Explained: Embrace Change (The XP Series))
“
Put simply, excessive defects are the biggest waste in software development
”
”
David J. Anderson (Kanban)
“
Digitising a piece of work doesn’t mean there will be no mistakes, but instead guarantees that when mistakes happen, they’ll run at a massive scale.
”
”
Gojko Adzic (Humans vs Computers)
“
Developer is the one who creates bugs/defects mostly and working code rarely
”
”
Nipun Varma (Adventures of an Indian Techie)
“
We cannot easily add lanes to roads, but we've learned how to easily add features to software. This isn't a defect of our software processes, but a virtue of the medium in which we work.
”
”
Richard Monson-Haefel (97 Things Every Software Architect Should Know)
“
When software is done right, it requires a fraction of the human resources to create and maintain. Changes are simple and rapid. Defects are few and far between. Effort is minimized, and functionality and flexibility are maximized.
”
”
Robert C. Martin (Clean Architecture: A Craftsman's Guide to Software Structure and Design)
“
aim is to make the delivery of software from the hands of developers into production a reliable, predictable, visible, and largely automated process with well-understood, quantifiable risks. Using the approach that we describe in this book, it is possible to go from having an idea to delivering working code that implements it into production in a matter of minutes or hours, while at the same time improving the quality of the software thus delivered. The vast majority of the cost associated with delivering successful software is incurred after the first release. This is the cost of support, maintenance, adding new features, and fixing defects. This is especially true of software delivered via iterative processes, where the first release contains the minimum amount of functionality providing value to the customer. Hence the title of this book, Continuous Delivery, which is taken from the first principle of the Agile Manifesto: “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
”
”
David Farley (Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation)
“
Articulating upfront what your goals are will help you with other phases of your DevOps roll out. Some common measurable goals are: Reduce time-to-market for new features. Increase overall availability of the product. Reduce the time it takes to deploy a software release. Increase the percentage of defects detected in testing before production release. Make more efficient use of hardware infrastructure. Provide performance and user feedback to the product manager in a more timely manner.
”
”
Mandi Walls (Building a DevOps Culture)
“
about how to obtain warranty service for your Device, please contact Customer Service using the contact information provided below. In general, you will need to deliver your Device in either its original packaging or in equally protective packaging to the address specified by Customer Service. Before you deliver your Device for warranty service, it is your responsibility to back up any data, software, or other materials you may have stored or preserved on your Device. It is possible that such data, software or other materials will be lost or reformatted during service, and we will not be responsible for any such damage or loss. Limitations. TO THE EXTENT PERMITTED BY LAW, THE WARRANTY AND REMEDIES SET FORTH ABOVE ARE EXCLUSIVE AND IN LIEU OF ALL OTHER WARRANTIES AND REMEDIES, AND WE SPECIFICALLY DISCLAIM ALL STATUTORY OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND AGAINST HIDDEN OR LATENT DEFECTS. IF WE CANNOT LAWFULLY DISCLAIM STATUTORY OR IMPLIED WARRANTIES, THEN TO THE EXTENT PERMITTED BY
”
”
Amazon (Kindle User's Guide)