Hypotheses Must Be Testable
You cannot just assert that your design works. You must make a specific, testable prediction and then actually test it. This is the core of both science and engineering.
Every engineering textbook presents the scientific method as a clean, linear process: observe, hypothesize, predict, test, conclude. Every working engineer knows the reality is nothing like that. The real process is messy, iterative, full of dead ends, and often driven by accident as much as intention. Understanding both the ideal and the reality makes you a better engineer, because you learn when to be systematic and when to follow a hunch. #ScientificMethod #Engineering #HypothesisTesting
You have probably seen this diagram in some form since middle school:
Observation | v Question | v Hypothesis | v Prediction | v Experiment | v Analysis / \ / \ v vSupports Refuteshypothesis hypothesis | | v v More Revise tests hypothesisThis model is not wrong. It captures something real about how knowledge advances. But it is idealized in ways that can mislead engineers.
Hypotheses Must Be Testable
You cannot just assert that your design works. You must make a specific, testable prediction and then actually test it. This is the core of both science and engineering.
Evidence Trumps Authority
It does not matter who designed the circuit. If the oscilloscope shows ringing on the output, there is ringing on the output. Data outranks opinions.
Iteration Is Built In
The loop back from “refutes hypothesis” to “revise hypothesis” is the most important arrow in the diagram. Science, like engineering, advances by failure.
The textbook version implies that scientists (and engineers) follow these steps in order, one at a time. The reality is far messier.
Observations are theory-laden. You do not observe “objectively.” You observe through the lens of what you already know. An experienced analog engineer looking at an oscilloscope trace sees things a beginner literally cannot perceive. Your prior knowledge shapes what you notice.
Hypotheses often come from intuition, not observation. Many breakthroughs started with a hunch, a dream, or an analogy, not with systematic observation. Kekule reportedly dreamed of a snake eating its tail before proposing the ring structure of benzene.
Multiple hypotheses compete simultaneously. The textbook shows one hypothesis at a time. In practice, you often have three or four possible explanations and you are trying to distinguish between them.
The process is non-linear. You might start testing before your hypothesis is fully formed. Your experiment might reveal something unexpected that sends you in a completely different direction. The neat arrows in the diagram are a post-hoc reconstruction.
Here is the key insight of this lesson: engineers use the scientific method constantly, just under different names. Once you see the parallels, you can borrow tools and discipline from one domain to improve the other.
The Scientific Method Cycle (with engineering equivalents)
Observe (Bug report) | v +-> Hypothesize (Root cause) | | | v | Predict (Expected behavior) | | | v | Test (Measurement/prototype) | | | v | Analyze (Data review) | / \ | / \ | Supports Refutes | | | | v v | Verify Revise | (Replicate) (New hypothesis) | | +---------------+| Scientific Method | Engineering Practice | What It Looks Like |
|---|---|---|
| Observation | Bug report, field failure, customer complaint | ”The motor controller resets every 45 minutes” |
| Hypothesis | Root cause conjecture | ”I think the watchdog timer is being starved by the I2C interrupt handler” |
| Prediction | Expected behavior if hypothesis is correct | ”If I increase the watchdog timeout to 2 seconds, the resets should stop” |
| Experiment | Test, measurement, prototype | Modify the timeout, run for 4 hours, monitor for resets |
| Analysis | Data review, log analysis | Zero resets in 4 hours. But is that because you fixed it, or because the conditions changed? |
| Peer review | Design review, code review | ”Did you also check that the I2C handler releases the bus properly?” |
| Replication | Independent verification | Another engineer reproduces the fix on a different unit |
| Publication | Documentation, test report | Update the bug tracker, document the root cause and fix |
Debugging is the purest form of the scientific method in engineering. You have a system that is not behaving as expected. You need to figure out why. Every step of debugging maps directly onto the scientific method.
Observe the symptom precisely. Not “it does not work.” What exactly happens? When? Under what conditions? Is it reproducible? A vague observation leads to a vague hypothesis.
Form multiple hypotheses. Do not fixate on the first explanation that comes to mind. List at least three possible causes. If you only consider one hypothesis, you are not debugging; you are guessing.
Rank by testability and likelihood. Which hypothesis can you test most quickly? Which is most likely given what you know? Start with the intersection of easy-to-test and likely.
Design a test that distinguishes between hypotheses. The best test is one that confirms one hypothesis while refuting another. “If the problem is in the power supply, then running from a bench supply should eliminate the symptom.”
Change one variable at a time. This is critical and routinely violated. If you change the capacitor AND the code AND the clock frequency, and the bug disappears, you do not know which change fixed it. You have lost information.
Record everything. What you tested, what you observed, what you concluded. Your lab notebook (or commit log, or bug tracker comment) is your scientific record. Future you will thank present you.
The principle of changing one variable at a time deserves special emphasis because engineers violate it constantly under deadline pressure.
The One-Variable Problem
“I changed the capacitor and the bug went away.” But did you also reboot the board? Did you also update the firmware? Did the ambient temperature change between morning (when the bug appeared) and afternoon (when you “fixed” it)?
When you change multiple things simultaneously, you create what scientists call confounding variables. You cannot determine which change was responsible for the observed effect. In engineering, this leads to:
The discipline of changing one variable at a time feels slow. It is actually faster, because it gives you definitive answers instead of guesses.
Formal controlled experiments are less common in engineering than in academic science, but they are powerful when applied correctly. The key concept is the control group: a baseline against which you compare your experimental results.
Suppose you suspect that a new interrupt handler is causing occasional timing glitches. You could:
1. Flash new firmware with modified handler2. Run for 8 hours3. Count glitches4. Conclude: "Only 2 glitches in 8 hours, so the new handler is better"
Problem: How many glitches would you have seenwith the OLD firmware in the same 8 hours?You don't know. You have no baseline.1. Flash ORIGINAL firmware2. Run for 8 hours under controlled conditions3. Record: 7 glitches in 8 hours (baseline)
4. Flash NEW firmware (change nothing else)5. Run for 8 hours under SAME conditions6. Record: 2 glitches in 8 hours
7. Repeat both tests 3 times each8. Calculate: average 6.3 vs 1.7 glitches/8hr9. Conclude: new handler reduces glitches by ~73%The controlled version takes longer but produces an actual answer instead of an impression.
Calibrating a sensor is a textbook scientific experiment:
| Step | Scientific Method | Sensor Calibration |
|---|---|---|
| 1 | Known standard | Reference instrument with traceable calibration |
| 2 | Hypothesis | ”Our sensor reads 2% high across the range” |
| 3 | Controlled conditions | Stable temperature, known humidity, no vibration |
| 4 | Multiple measurements | Take 10 readings at each calibration point |
| 5 | Statistical analysis | Calculate mean, standard deviation, uncertainty |
| 6 | Documentation | Calibration certificate with conditions and results |
If you have ever calibrated a sensor, you have done science. The question is whether you did it rigorously enough.
Reproducibility is the backbone of science. A result that cannot be independently reproduced is not established. The same principle applies directly to engineering.
Can another engineer reproduce your results from your documentation? This is the engineering reproducibility test. If you hand your schematic, firmware, test procedure, and bill of materials to a competent colleague, can they build the same thing and get the same performance?
If the answer is no, consider what is missing:
Implicit Knowledge
“Oh, you have to hold the reset button while powering up. I forgot to mention that.” Undocumented steps make reproduction impossible.
Environment Dependencies
“It works on my machine.” Specific compiler versions, OS patches, library versions, hardware revisions. If these are not specified, reproducibility is a matter of luck.
Measurement Ambiguity
“Measure the output voltage.” Where exactly? With what probe? At what load? Under what conditions? Ambiguous measurement procedures produce ambiguous results.
Selection Bias
“Here are the test results” showing only the successful runs. What about the runs that failed? Selective reporting undermines reproducibility because others cannot tell what the actual success rate is.
Your engineering documentation serves the same purpose as a scientist’s lab notebook: it enables reproduction and verification. Good documentation includes:
Thomas Edison’s search for a practical incandescent light bulb filament (1878 to 1880) is one of history’s best examples of systematic engineering experimentation.
Edison needed a filament material that would:
Edison’s approach was relentlessly systematic:
Comprehensive survey. Edison and his team tested over 3,000 materials, including platinum, carbon, bamboo, fishing line, coconut shell, and human hair. Each material was a hypothesis: “This material will make a durable filament.”
Controlled conditions. Each filament was tested in the same vacuum apparatus, at the same current, with the same measurement protocol. This allowed direct comparison between materials.
Meticulous records. Edison’s laboratory notebooks (preserved at the Edison National Historic Site) contain detailed records of every test: material, preparation method, dimensions, voltage, current, time to failure, mode of failure.
Iterative refinement. When carbonized bamboo showed promise, Edison did not stop. He tested bamboo from different regions, different species, different preparation methods. He optimized within the promising parameter space.
Independent verification. Once Edison had a working filament, he staged public demonstrations and invited other scientists and engineers to inspect the results. He published his methods.
Systematic variation. Edison did not randomly try materials. He organized his search by material properties, systematically varying one parameter at a time. This is the scientific method applied to engineering at industrial scale.
Failure as data. Each failed filament was not a waste of time; it was a data point that eliminated a hypothesis. Edison’s famous quote, “I have not failed. I have found 10,000 ways that will not work,” is a direct expression of Popper’s falsification principle, 60 years before Popper articulated it.
Documentation. Edison’s lab notebooks are so detailed that modern researchers can reproduce his experiments. This is engineering reproducibility at its best.
Edison was not infallible. His biggest mistake was dogmatically clinging to direct current (DC) distribution in the “War of Currents” against Westinghouse’s alternating current (AC). He ignored evidence that AC was superior for long-distance transmission and engaged in misleading demonstrations (electrocuting animals with AC). This is a cautionary tale about confirmation bias, which we will explore in the next lesson.
The scientific method is not a recipe. It is a set of principles: make testable claims, test them rigorously, record everything, change one variable at a time, and let the evidence decide. Whether you call it “science” or “engineering,” the principles are the same.
Debugging
Form multiple hypotheses, test systematically, change one variable at a time. Debugging is the scientific method applied to failure analysis.
Design Review
Peer review in engineering. Does the design make falsifiable performance claims? Are the test procedures adequate to verify those claims?
Test Plans
Each test case is an experiment. The test plan as a whole is a research program. Does your test plan include negative tests (attempted falsifications)?
Documentation
The engineering equivalent of scientific publication. Enables reproducibility, verification, and future improvement.
The scientific method is messy in practice. The textbook linear version is a useful idealization, but real investigation (in science or engineering) is iterative, non-linear, and driven by both systematic reasoning and intuition.
Engineering already uses the scientific method. Debugging, testing, calibration, and design review are all forms of scientific inquiry. Recognizing this helps you do them more rigorously.
Change one variable at a time. This is the single most violated principle in engineering debugging. Discipline yourself to do it, and your debugging will become dramatically more efficient.
Reproducibility requires documentation. If another engineer cannot reproduce your results from your records, your work is incomplete.
Failure is data. Every failed test, every disproven hypothesis, every broken prototype teaches you something, but only if you record what happened and why.
In the next lesson, we go deeper into Popper’s philosophy and ask a provocative question: is the goal of testing to confirm that your design works, or to find out how it fails? The answer has implications for how you write every test plan you will ever create.
Debug log analysis. Take a recent debugging session from your own experience (or a documented one from your team). Map each step onto the scientific method diagram. Where did you skip steps? Where did you change multiple variables at once?
Reproducibility audit. Choose one of your own designs or projects. Could a colleague reproduce it from your documentation alone, without asking you any questions? List the missing information.
Controlled experiment design. You suspect that switching from a 10 MHz to a 20 MHz SPI clock causes occasional data corruption on your sensor bus. Design a controlled experiment to test this hypothesis. Specify the control condition, the experimental condition, the measurement, the number of trials, and the criteria for a conclusive result.
Edison’s method. You need to select a thermal interface material for a heatsink. Design a systematic test protocol in the spirit of Edison’s filament search. What materials will you test? What properties will you measure? What are the controlled conditions?
Comments