Programming Problem Solving Model

"All models are wrong but some are useful." - George Box

  1. Reinterpret the Problem
  2. Design a Solution
  3. Code
  4. Test
  5. Debug
  6. Evaluate & Reflect
  7. Repeat & Improve

Phases and Roles

Based on Eric Roberts version.

Phase Role
Problem Lawyer
Design Architect
Code Engineer
Test Vandal & Hacker
Debug Detective
Evaluate & Reflect Critic & Coach
Repeat & Improve Boss

Reasoning

Model Life Cycle

Incremental (or Iterative) Development

Get something working and keep it working:

  1. Start small
  2. Keep it working

  3. Rapid cycles of Problem-Design-Code-Test-Debug phases

Is the problem well-defined?

Planning Ahead (Insights) vs. Prototyping (Interactively)

The Model Can be Applied on Problems with various Magnitudes

Meta

  1. Metacognition
  2. Reflected Experience and Learning enable Pattern Matching from the Past



Copyright © 2019 Shlomi Hod.
All rights reserved.

results matching ""

    No results matching ""