1.4 Problem-Solving Skills
← 1.3 Development Process | Home | Next: 1.5 Mindset →
The Scientific Method
The scientific method is an empirical method for acquiring knowledge through careful observation, rigorous skepticism, hypothesis testing, and experimental validation. It acknowledges that cognitive assumptions can distort the interpretation of observations.
The iterative process (not a fixed sequence): 1. Define a question 2. Gather information and resources (observe) 3. Form an explanatory hypothesis—a hypothesis must be falsifiable, meaning it must be possible to identify a possible outcome of an experiment that conflicts with predictions deduced from the hypothesis 4. Test the hypothesis by performing an experiment and collecting data in a reproducible manner 5. Analyze the data 6. Interpret the data and draw conclusions that serve as a starting point for a new hypothesis 7. Publish results
The scientific method is not a single recipe: it requires intelligence, imagination, and creativity. In software engineering, it manifests as systematic debugging: observe the phenomenon → form a hypothesis about the cause → design a verification method → confirm or refute → iterate.
Five Whys
Five whys is an iterative interrogative technique used to explore the cause-and-effect relationships underlying a particular problem, developed by Taiichi Ohno at Toyota. The primary goal is to determine the root cause of a defect by repeating the question "why?" five times.
Classic Toyota example: 1. Why are bolts cross-threading in the engine block? → The threads aren't cut cleanly. 2. Why aren't the threads cut cleanly? → The cutting tool on the lathe wasn't changed today. 3. Why wasn't the cutting tool changed? → The replacement cutting tool bin was empty. 4. Why was the bin empty? → The bin's contents had fallen and rolled under the shelves. 5. Why did the contents fall? → One of the feet on the shelves has rusted and failed, making the shelves unstable.
The fifth "why" points to a root cause that can be addressed by replacing the shelf foot. The key is fixing the process that led to the problem (e.g., adding regular shelf inspections), not just the surface symptom.
Criticism: The arbitrary five-layer depth may not correlate with the true root cause. It is recommended to combine with Ishikawa (fishbone) diagrams for branching analysis to avoid single-chain blind spots.
Lateral Thinking
Developed by Dr. Edward de Bono. Lateral thinking is concerned not with playing with the existing pieces but with seeking to change those very pieces. It is concerned with the perception part of thinking—where we organize the external world into the pieces we can then process.
A healthy human brain does not want to always be creative; it is designed to figure out how to do things and then "locks" that response into a subconscious process. Lateral thinking techniques help overcome our natural proclivity to get locked into patterns. Four categories of tools: idea-generating tools (break free from current patterns), focus tools (open your mind to new possibilities), harvest tools (maximize value from generated ideas), and treatment tools (ground creative ideas to fit real-world constraints).
"You cannot dig a hole in a different place by digging the same hole deeper." — Edward de Bono
Risk Management
Identify potential risks in a project, assess their probability and impact, and develop mitigation strategies in advance:
- Risk identification: Technical risks (unknown pitfalls with new tech), people risks (key person departure), requirement risks (direction changes), schedule risks.
- Risk assessment: Probability × impact matrix.
- Risk mitigation: Prepare Plan B for high-risk items; budget buffer time.
- Risk monitoring: Regularly review the risk register and update status.
Abstraction
The ability to extract general patterns from specific problems and decompose complex systems into manageable layers. This is the core thinking ability of an engineer—being able to switch between detail and the big picture.
Sources
- Wikipedia — Scientific method: https://en.wikipedia.org/wiki/Scientific_method
- Wikipedia — Five whys: https://en.wikipedia.org/wiki/Five_whys
- Edward de Bono — Lateral Thinking: https://www.edwddebono.com/lateral-thinking
← 1.3 Development Process | Home | Next: 1.5 Mindset →