Problem-Solving Strategies
Master systematic approaches to problem solving including top-down, bottom-up, and modular strategies. Learn root cause analysis techniques and apply the complete problem-solving cycle.
Learning Objectives
- Understand top-down, bottom-up, and modularisation approaches to problem solving
- Apply root cause analysis techniques including five whys, FMEA, and event tree analysis
- Use the high-level problem solving cycle: define, gather, analyse, plan, implement, review
- Judge the suitability of different problem-solving strategies for specific contexts
- Select appropriate analytical techniques based on problem characteristics
Problem-Solving Approaches
Top-Down
Start with the big picture and break it down into smaller components
Process:
- Identify main goal
- Break into major components
- Subdivide each component
- Continue until actionable tasks
Advantages:
- Clear overall vision
- Good for planning
- Ensures nothing major is missed
Disadvantages:
- May miss important details
- Can be inflexible
- Assumes requirements are clear
Best For:
Well-defined problems, new projects, strategic planning
Bottom-Up
Start with detailed components and build up to the complete solution
Process:
- Identify available resources
- Build basic components
- Combine components
- Scale up to full solution
Advantages:
- Uses existing assets
- More flexible
- Good for innovation
Disadvantages:
- May lack coherent vision
- Can be inefficient
- Risk of scope creep
Best For:
Research projects, when reusing existing components, exploratory development
Modularisation
Divide problems into independent, interchangeable modules
Process:
- Identify natural boundaries
- Define clear interfaces
- Develop modules independently
- Integrate and test
Advantages:
- Parallel development
- Easier testing
- Reusable components
- Better maintenance
Disadvantages:
- Initial overhead
- Integration complexity
- Interface dependencies
Best For:
Large projects, team development, systems requiring maintainability
Root Cause Analysis Techniques
Five Whys
Ask "why" five times to drill down to root causes
Example:
Problem: Website is slow → Why? → Database queries are slow → Why? → No indexes → Why? → Poor initial design → Why? → Insufficient planning → Why? → Tight deadline pressure
Benefits:
- Simple and quick
- No special training required
- Gets to root cause
Limitations:
- May not find all causes
- Depends on knowledge
- Can be subjective
FMEA (Failure Mode and Effects Analysis)
Systematic method to identify potential failures and their impacts
Example:
Analyse each component: What can fail? → What causes it? → What are the effects? → How likely? → How severe? → How detectable?
Benefits:
- Comprehensive analysis
- Prioritises risks
- Preventive approach
Limitations:
- Time-intensive
- Requires expertise
- Can be overwhelming
Event Tree Analysis
Forward-looking analysis of possible outcomes from an initial event
Example:
Server failure → Backup works? → Load balancer redirects? → Users experience downtime or seamless service
Benefits:
- Visual representation
- Shows probabilities
- Good for safety analysis
Limitations:
- Complex for many variables
- Requires probability data
- Can miss dependencies
High-Level Problem-Solving Cycle
Define
Clearly articulate the problem and success criteria
Key Tasks:
- Problem statement
- Success metrics
- Constraints
- Stakeholders
Gather
Collect relevant information and resources
Key Tasks:
- Data collection
- Research
- Requirements
- Resources
Analyse
Examine the information to understand the problem
Key Tasks:
- Root cause analysis
- Pattern identification
- Impact assessment
- Risk analysis
Plan
Develop a strategy and detailed plan of action
Key Tasks:
- Solution options
- Resource allocation
- Timeline
- Contingency plans
Implement
Execute the planned solution
Key Tasks:
- Task execution
- Monitoring progress
- Adjustments
- Communication
Review
Evaluate the results and learn from the experience
Key Tasks:
- Outcome assessment
- Lessons learned
- Process improvement
- Documentation
Learning Activities
Strategy Selection Workshop
Given various problem scenarios, choose and justify the best problem-solving approach
Root Cause Investigation
Use five whys, FMEA, and event tree analysis on a software failure scenario
Problem-Solving Cycle Practice
Apply the complete cycle to a real programming challenge