Iteration Heuristics

Leverage iteration

  • Make early and meaningful contact with the problem
  • Use high quality, rapid iteration to address uncertainty
  • Focus early efforts around areas of risk and uncertainty
  • Use iteration to deepen understanding successively
  • Favor experimental results over expert opinions
  • Use the desired end state as a guide
  • Reevaluate assumptions based on iteration results
  • Reduce the stigma of initial failures
  • Rank knowledge by how it enables new capabilities

Increase iteration speed

  • Increase adaptivity
  • Increase decentralization
  • Fail quickly, cheaply, and in diverse ways
  • Combine local overconfidence with global stability
  • Prioritize rewards for success over penalties for failure
  • Prioritize iteration speed over defect rate
  • Create solutions with resources immediately available
  • Leverage models and simulation
  • Increase selection pressure
  • Define and measure short-term criteria correlated with long-term goals
  • Increase overall speed with a mix of long duration, high intensity, and recovery activity

Increase iteration quality

  • Define value and organize each iteration to maximize it
  • Iterate to make value flow without interruptions
  • Complete more iterations
  • Do the hard parts first
  • Use the scientific method when possible
  • Prioritize a rough representation of the overall system over detailed representation of a single element
  • Evaluate iteration methods frequently
  • From more to less useful: Products, prototypes, mock-ups, models, diagrams, concepts, words
  • Incrementally iterate abstractions rather than features
  • Iterate in a series of stable, but progressively improved products
  • Freeze features progressively
  • Eliminate defects progressively
  • Cherish and learn from exceptions and failures
  • Reduce clutter and simplify
  • Inject some randomness into exploratory processes
  • Use more randomness in early iterations, less in in later iterations

Monitor and test

  • Reflect after each iteration
  • Consider what didn’t happen
  • Temporarily eliminate safety margins to reveal problems and constraints
  • Test each iteration in an real world environment
  • Use both independent and in-system monitoring
  • Identify and monitor thresholds that trigger instability

Facebook
Twitter
LinkedIn

Leave a Reply

Your email address will not be published. Required fields are marked *