Books on Quality Control

  • http://developertesting.rocks/book/
  • https://www.manning.com/books/the-art-of-unit-testing-second-edition
  • https://www.manning.com/books/the-art-of-unit-testing-third-edition
  • http://xunitpatterns.com
  • https://www.amazon.com/Lessons-Learned-Software-Testing-Context-Driven/dp/0471081124
  • https://www.amazon.com/Practitioners-Guide-Software-Test-Design/dp/158053791X
  • https://www.amazon.com/Software-Testing-Analysis-Principles-Techniques/dp/0471455938
  • https://www.amazon.com/Art-Software-Testing-Glenford-Myers/dp/1118031962
  • https://www.amazon.com/Automated-Testing-Handbook-Linda-Hayes/dp/0970746504
  • https://leanpub.com/TheAWord

Books on Quality Management

Statistical Method from the Viewpoint of Quality Control

Author: Walter A. Shewhart

Link: https://www.amazon.com/gp/product/b00a735mmg

Shewhart’s distinction between assignable variation and common cause variation is crucial in software testing. Assignable variation in software might be bugs or errors introduced by a specific change in the code, while common cause variation could be inherent complexity or challenges in the software development environment.

If a QA engineer misinterprets the normal variability in test results (such as minor fluctuations in performance metrics) as a sign of a significant problem, they might unnecessarily adjust or overhaul stable processes. This over-correction can disrupt a well-functioning system, leading to wasted resources and potentially introducing new issues.

If a QA engineer mistakes common variation in the system’s behavior for an assignable bug, they might spend excessive time and resources trying to fix something that is actually a normal behavior of the system, leading to inefficient use of time and possibly causing frustration in the team.

If a common variation is misinterpreted as an assignable cause, a QA engineer might implement specific fixes or patches that don’t address the underlying systemic issue. This could lead to recurring problems, as the true cause is never addressed.

Misinterpreting data can also lead to poor decision-making about where to allocate resources. For instance, an engineer might focus on optimizing a part of the software that is actually performing within acceptable limits, while neglecting areas that require more attention.

Frequent and unnecessary changes in response to perceived problems (that are actually common variations) can destabilize the testing process. This instability can lead to a lack of confidence in the testing process itself, both from the QA team and from other stakeholders.

Constantly responding to what are perceived as issues (but are actually normal variations) can be demoralizing for the team. It might create a sense of chasing endless problems, leading to burnout or reduced job satisfaction.

The New Economics for Industry, Government, Education

Author: W. Edwards Deming

Link: https://www.amazon.com/gp/product/B08BT5PK8V/

Deming is often referred to as “The Father of Quality” due to his revolutionary contributions to the field of quality assurance and management. His influence is pervasive in both the theoretical and practical aspects of quality in manufacturing, service industries, and beyond. Deming coined the Total Quality Management (TQM) — a structured approach to overall organizational management, the focus of the process is to improve the quality of an organization’s outputs, including goods and services, through the continual improvement of internal practices.

He proceeded the works of Shewhart regarding variation, but added much more to the quality management side.

If QA folks don’t read and understand Deming’s work, particularly the part about the importance of long-term strategic planning and continuous improvement, they might prioritize immediate fixes or short-term goals at the expense of more sustainable, long-term quality improvements. This approach can lead to recurring problems and lower overall product quality.

Deming advocated for improving processes rather than relying heavily on inspection. QA engineers unfamiliar with this might focus too much on finding and fixing defects after they occur, rather than preventing them through better processes. This reactive approach is less efficient and effective than building quality into the process from the start.

Deming’s System of Profound Knowledge promotes understanding the organization as a system. Without this perspective, managers may fail to see how different parts of the system affect each other, potentially leading to ineffective solutions that don’t address systemic issues.

Deming warned against management by objectives without understanding the processes. QA engineers might focus on meeting numerical targets (like a certain number of tests or bug fixes) without considering whether these activities actually improve quality.

Deming’s teachings include the importance of a culture that continually strives for better quality. Without this mindset, QA practices might become stagnant, failing to evolve with changing technologies and methods.

Deming encouraged breaking down barriers between departments. QA engineers not following this might work in isolation from other departments, leading to inefficiencies and a lack of shared knowledge and goals.

MANAGEMENT CHALLENGES for the 21st Century

Author: Peter F. Drucker

Link: https://www.amazon.com/gp/product/B000FC12PK

In the realm of QA, the emphasis on knowledge work underscores the importance of skilled QA professionals who are not just testers, but also critical thinkers and problem solvers. Understanding and managing these knowledge workers effectively is crucial for the success of QA teams.

Drucker suggested to move towards more networked and less hierarchical organizational structures which means cross-functional collaboration of QA with development, operations and other teams. QA teams working in isolation may develop blind spots regarding how users actually interact with the product. Cross-functional collaboration helps provide broader insights, leading to more user-centric testing.

Drucker’s focus on the impact of technology aligns well with the constantly evolving landscape of software development and testing. QA teams must be adaptive, continuously learning new tools and approaches (like automation, AI in testing) to stay effective.

Goldratt’s Theory of Constraints: a Systems Approach to Continuous Improvement

Author: Eliyahu M. Goldratt

Link: https://www.amazon.com/Goldratts-Theory-Constraints-Continuous-Improvement/dp/B001DORDE8/

Goldratt’s seminal work introduces and elaborates on the Theory of Constraints (TOC), a management paradigm that seeks to identify and manage the most limiting factor (i.e., constraint) in a process or system. TOC states that the whole system’s capacity is limited by its constraints.

This means that if the organisational is structured in such a such a way that the QA specialists are in a separate department, the whole department might be a constraint, leading to bigger queues, worse quality and the overall system slowness.

As an approach, TOC helps finding the best opportunities for improvement in any process, and QA teams can expend efforts on optimizing parts of the process that are actual bottlenecks, leading to maximum overall improvements. The greatest gains often come from addressing the system’s primary constraint.

Without identifying and focusing on constraints, resources (time, personnel, tools) might be misallocated. This could result in spending too much on areas that don’t significantly improve quality or efficiency.

If constraints within the QA process are not identified and managed, it could lead to decreased product quality. For instance, if the constraint is inadequate test coverage due to limited resources, critical bugs might be missed, affecting the end product.

TOC also highlights the need for cross-functional collaboration to address constraints. Lack of such collaboration in QA can lead to misunderstandings and inefficiencies, especially in environments where QA needs to work closely with development, operations, and other departments.

Behave: The Biology of Humans at Our Best and Worst

Author: Robert M. Sapolsky

Link: https://www.amazon.com/Behave-Biology-Humans-Best-Worst/dp/1594205078

This book offers a thorough and perceptive examination of human behavior, with a deep dive into its biological roots, drawing from diverse fields such as biology, neuroscience, psychology, and anthropology. This comprehensive exploration provides crucial insights for engineers in various aspects of their professional and personal lives.

As engineers, we often work on designing products or systems intended for human use. A nuanced understanding of human behavior and psychology, as presented in Sapolsky’s book, is invaluable in creating designs that are truly user-centric. It helps us grasp how people interact with technology, what influences their preferences, and how to cater to diverse user needs. Moreover, as quality is just a match between what is desired and what is produced, this understanding becomes critical. QA engineers, in particular, can benefit from a deeper grasp of client behavior, improving their ability to discern and meet client expectations.

Teamwork is another crucial aspect of our work. The effectiveness of our collaborative efforts hinges on our understanding of human behavior. Insights into trust, cooperation, and conflict resolution, as explored in the book, are beneficial in fostering effective and harmonious team dynamics.

A lack of understanding regarding in-group favoritism and out-group prejudice might inadvertently result in the organizational decision to segregate QA into a separate department. Such a structural choice can lead to the formation of distinct ‘in-groups’ (in this case, the QA team) and ‘out-groups’ (such as the development or operations departments). This delineation can have a detrimental impact on both communication and collaboration within the organization.

In essence, the insights gained from “Behave” enrich the multidisciplinary and interpersonal aspects of an engineer’s career. This understanding is not just a tool for improving design and teamwork but also a fundamental component in enhancing leadership skills and personal development.

Ackoff’s Best: His Classic Writings on Management

Author: Russel L. Ackoff

Link: https://www.amazon.com/Ackoffs-Best-Classic-Writings-Management/dp/0471316342

This book is a collection of seminal works by Russell L. Ackoff, a renowned figure in the field of management science. This compilation provides a comprehensive overview of Ackoff’s influential ideas on Systems Theory and contributions to management theory and practice.

The main idea behind Systems Theory is the understanding of a system as a complex set of elements that are interrelated and interact with each other within a boundary, functioning as a whole. This theory is rooted in the belief that breaking down a system into its individual components can often overlook the dynamics and interactions that define the system’s behavior and performance.

Ackoff viewed quality not just as a series of isolated processes or steps within an organization but as an outcome of the entire system. He argued that quality issues often stem from systemic problems rather than just faults in specific components or processes. Without the systems thinking approach, a QA engineer might focus too narrowly on specific bugs or test cases, potentially missing how these issues fit into the broader system. This could lead to solutions that don’t address underlying systemic problems.

He advocated for understanding an organization as an interrelated system where quality is not just the responsibility of a specific department but an outcome of the entire system’s performance. This perspective aligns with modern QM approaches that integrate quality into every aspect of an organization. Without the emphasis on holistic problem-solving and participative management, a QA engineer might work in isolation rather than collaboratively with cross-functional teams. This can lead to a lack of understanding of the broader context of the project and less effective QA processes.

Ackoff’s critique of reductionist problem-solving methods in traditional management can also be applied to quality issues. He promotes a holistic approach, which is crucial in identifying and addressing the causes of quality problems rather than just treating symptoms.

Ackoff’s ideas about continuous learning and adaptation are key principles in QM methodologies like Total Quality Management (TQM) and Lean. His perspective reinforces the importance of ongoing improvement and adaptation to changing environments and customer needs.

Ackoff’s critique of traditional metrics could be insightful for a QA engineer. Without this perspective, there might be an over-reliance on quantitative metrics like the number of tests passed or bugs found, which might not fully capture the quality and user experience of the product.

Without Ackoff’s customer-centric focus, QA engineers might focus solely on technical aspects of quality, potentially overlooking how users actually interact with and experience the product.

Lateral Thinking: Creativity Step by Step

Author: Edward De Bono

Link: https://www.amazon.com/Lateral-Thinking-Creativity-Step-ebook/dp/B003V1WTLI/

This book is a pioneering work in the field of creative thinking. The book introduces the concept of lateral thinking (also often called creative thinking), which represents a method of problem-solving that involves approaching problems from new and unconventional angles, rather than through traditional, linear or logical means. The principles of lateral thinking introduced in the book can significantly enhance engineers’ problem-solving skills, creativity, and adaptability, leading to more effective and comprehensive QA processes.

A lack of lateral thinking can lead to a rigid approach to testing where a QA professional might stick to conventional test scenarios and miss out on identifying unique or less obvious bugs. Creativity is a significant asset in QA for designing comprehensive test cases.

The probability to find a new bug will be less if every time you test the software you use the same approach.

The Black Swan: Second Edition: The Impact of the Highly Improbable

Author: Nassim Taleb

Link: https://www.amazon.com/Black-Swan-Improbable-Robustness-Fragility/dp/081297381X

The book delves into the nature of unpredictable, high-impact events. These events, termed “Black Swans”, are characterized by their rarity, extreme impact, and the widespread insistence they were obvious in hindsight.

A significant theme of the book is the critique of the reliance on scientific and mathematical models in finance and other areas, arguing that these models often fail to account for the possibility and impact of Black Swan events. It also discusses various human psychological biases that make people blind to the uncertainty and to the massive role of the rare event in historical affairs.

In QA, predictive models might be used to identify potential areas of risk or to prioritize testing efforts. Taleb warns against the overreliance on historical data to predict future events: QA teams should not only test for common and known scenarios but also consider extreme or “edge” cases, even if they seem highly improbable.

Taleb’s ideas support the value of exploratory testing in QA, where testers actively engage with the software in unscripted, often creative ways to discover unexpected or rare issues.

Leaders Eat Last: Why Some Teams Pull Together and Others Don’t

Author: Simon Sinek

Link: https://www.amazon.com/Leaders-Eat-Last-Together-Others-ebook/dp/B00DGZKQM8

Renowned for his work on leadership and organizational culture, Sinek in this book explores the fundamental behaviors and characteristics that foster successful, cohesive teams. Any work on quality is a team effort, and Sinek argues that leaders should create a protective circle around their teams, fostering a sense of security and belonging. This environment encourages team members to focus on facing external challenges and innovating, rather than expending energy on internal conflicts or politics.

Without the understanding of building a supportive and trusting team environment, a QA manager might struggle with fostering effective team dynamics, leading to less efficient collaboration and potential conflicts.

The Evolution of Cooperation

Author: Robert Axelrod

Link: https://www.amazon.com/Evolution-Cooperation-Revised-Robert-Axelrod/dp/0465005640

The book explains how cooperation emerged through an evolutionary lens, showing how cooperative strategies can evolve in a population. Axelrod uses the Prisoner’s Dilemma, a standard example in game theory, as the framework for his study. The game illustrates how two individuals might not cooperate, even if it’s in their best interest to do so. Axelrod’s extensive research demonstrates the effectiveness of “Tit for Tat” strategy: where the individual cooperates on the first move and then mimics the opponent’s previous move.

The core finding of Axelrod’s work is how cooperation can emerge in a world of egoists without central authority. He demonstrates that “Tit for Tat” succeeds by being nice, retaliatory, forgiving, and clear.

The principles of effective cooperation and strategic interaction presented in the book can significantly enhance a QA engineer’s approach to teamwork, interdepartmental collaboration, and conflict resolution, leading to a more effective and harmonious work environment.

The Selfish Gene

Author: Richard Dawkins

Link: https://www.amazon.com/Selfish-Gene-Popular-Science/dp/0192860925

This book is a seminal work in the field of evolutionary biology. It popularizes the gene-centered view of evolution and introduces the concept of the ‘selfish gene’ as a method for explaining how natural selection operates.

A significant part of the book explores altruistic behavior in animals. Dawkins explains such behaviors through the lens of genetic advantage, suggesting that genes which promote altruistic behavior can be favored by natural selection if they increase the overall chances of gene replication.

This book provides an excellent evolutionary and scientific background, complementing Axelrod’s ‘The Evolution of Cooperation’.

The Infinite Game

Author: Simon Sinek

Link: https://www.amazon.com/Infinite-Game-Businesses-Achieve-Long-lasting-ebook/dp/B07CV4YHWQ

Another good book from Simon Sinek, now expanding the concept of game theory into the realm of business and leadership. Drawing from the distinction between finite and infinite games originally proposed by James P. Carse, Sinek explores how this concept can be applied to business strategies and leadership practices.

Sinek explains that in finite games, like sports, the players are known, the rules are fixed, and there is a clear endpoint. In contrast, infinite games, such as business or politics, have no clear rules or endpoints, and the players can change over time. The objective is not to win but to keep playing and sustain the game.

The book criticizes the prevalence of short-term thinking in business, arguing that it can lead to unsustainable practices and the eventual demise of organizations. Sinek discusses how leaders can cultivate an environment that prioritizes long-term vision, innovation, and ethical practices, creating more resilient and adaptable organizations.

Drive: The Surprising Truth About What Motivates Us

Author: Daniel Pink

Link: https://www.amazon.com/gp/product/B0033TI4BW

This book is an examination of human motivation, particularly in the context of modern work. Pink challenges traditional notions about what drives us and presents a new framework for understanding motivation, supported by good amount of scientific research.

Pink differentiates between extrinsic motivators (external rewards like money) and intrinsic motivators (internal desires like personal growth). He argues that while extrinsic rewards can be effective for straightforward tasks, they may be less effective, and even detrimental, for complex, creative tasks.

Pink identifies three key elements of intrinsic motivation: Autonomy (the desire to direct our own lives), Mastery (the urge to get better at something that matters), and Purpose (the need to do what we do in the service of something larger than ourselves).

The Tyranny of Metrics

Author: Jerry Z. Muller

Link: https://www.amazon.com/Tyranny-Metrics-Jerry-Z-Muller/dp/0691174954

Proceeding Ackoff’s and complementing Ackoff’s works, Muller critically examines the modern obsession with quantifying human performance across various sectors, including education, medicine, business, government, and philanthropy.

Without reading this book and Ackoff’s works, a QA engineer might rely too heavily on quantitative metrics (like bug counts or test coverage percentages) to measure success, potentially undervaluing subjective feedback on usability or customer experience, which are crucial for overall quality but may not be easily quantifiable.