- Understand the underlying physics, biology, and engineering before designing solutions.
- Watch procedures, workflows, and user behavior.
- Simplify problems until they can be understood at their fundamental level.
- Avoid designing around legacy constraints unless absolutely necessary.
- Separate complex systems into independent modules.
- Minimize interdependencies between subsystems.
- Allow teams to work in parallel.
- Reduce risk by isolating failures.
- Design interfaces early and keep them stable.
Rule: Complexity grows exponentially when systems become tightly coupled.
- Product architecture often determines cost more than part price.
Design for:
- Manufacturing
- Assembly
- Testing
- Serviceability
- Scalability
- Consider manufacturing processes early.
- Engage manufacturing engineers from the beginning.
Good architecture prevents expensive surprises later.
- Avoid over-optimizing immature designs.
- Build enough fidelity to answer key questions.
- Save refinement for stable areas.
- Focus effort on learning, not perfection.
The goal early is knowledge, not elegance.
- Move quickly from theory to hardware.
- Create prototypes that answer specific questions.
- Expect reality to challenge assumptions.
- Use experimentation to accelerate learning.
Every prototype should retire risk.
- Identify the highest-risk unknowns.
- Focus resources where failure is most likely.
- Save refinement for stable areas.
- Avoid spending months optimizing solved problems.
Ask: “What could kill this program?”
When interacting with the human body:
- Tissue varies dramatically.
- Healthy and diseased tissues behave differently.
- Age changes tissue properties.
- Anatomy varies significantly.
- Biological systems are inherently noisy.
You are not designing:
- Bolt-to-nut interfaces
- Controlled industrial processes
You are designing systems that interact with living biology.
Design for variability, not averages.
Develop flexible development platforms with:
- Adjustable parameters
- Multiple operating modes
- Instrumentation
- Data collection
Build systems that teach you.
Before optimizing:
- Understand operating windows.
- Understand failure modes.
- Understand sensitivity to variation.
Stage 1
Theory and simulation
Stage 2
Bench testing
Stage 3
Synthetic models
Stage 4
Biological models
Stage 5
Clinical environment
Each stage should:
- Increase realism
- Reduce uncertainty
- Expand confidence
Small teams typically:
- Communicate faster
- Make decisions faster
- Own outcomes more completely
- Adapt more rapidly
Characteristics:
- Clear ownership
- Strong accountability
- Rapid iteration
People added to a late project often slow it down before they help it.
Small teams should not become isolated teams.
Establish:
- Regular design reviews
- Stakeholder updates
- Cross-functional checkpoints
- Manufacturing engagement
- Clinical engagement
The challenge is balancing:
- Team autonomy
- Organizational alignment
Post-mortems are critical.
Ask:
- What failed?
- Why did it fail?
- What assumptions were wrong?
- What organizational factors contributed?
Failure exposes them. Success often hides weaknesses.