Problem decomposition steps

  1. Understand the problem
    1. Restate the problem in your own words
    2. Ask questions for clarification
  2. Break the problem down into a few large pieces
  3. Break complicated pieces down into smaller pieces
  4. Code one small piece at a time
    1. Think about how to implement it
    2. Write the code/query
    3. Test it... on it's own
    4. Fix any problems

Thanks to Melanie Moses for providing her version of these steps from which this list is derived.