Problems- we all have them.

But how do we identify, understand and implement a solution to make sure to avoid them in the future? Print off this check list and run through a few helpful tips below. 

Understand The Problem:

  • What is the problem?
  • What are the steps to reproduce the problem?
  • What is the impact of the problem, when does it need to be solved?
  • Why is it a problem?
  • Is this a new problem or existing problem?
  • Is there a baseline, or how should it behave?
  • When did it start happening?
  • Did it ever work?
  • What components does it involve?
  • What Data does it involve?
  • Is it functional, technical, both, or unknown?
  • Can you decompose the problem into its parts?
  • What are the simple reasons the problem could have occurred?

Is it a functional problem?

  • Do I understand how the process should work?
  • Is the problem related to data?
  • Is the problem related to timing, order, or sequence?
  • Do we have a copy of the data that caused the problem?

Is it a technical problem?

  • What locations or environment is it happening in?
  • Do I understand what components are involved?
  • Are there any steps to validate the environment?
  • Run diffs of things that have changed.
  • What tools do I have at my disposal to test this (remote debugging, soap sonar, ethereal, web service studio, benthic, toad, test harnesses, debug logs)?
  • Look at logs before and after.
  • Look at all of the log information available.
  • Look at the code and data for yourself, don’t take someone’s word for it
  • Research the problem online

1) Identify Solution

  • If this problem has occurred before, check my emails to get details on it (Google desktop, coppernic, ms search)?
  • Is there a solution for this type of problem already (check KX, emails, project, account, and internet)?
  • Is there a solution for a similar type of problem?
  • What solution is the quickest and has the least amount of impact?
  • Are there any creative solutions we have not thought of yet?

2) Implement Solution

  • Ensure that solution is agreed upon by peers, and superiors;
  • If it is a production solution, it will need to be agreed by the client.
  • Once the solution is in place make sure that the problem is gone.
  • If anyone is impacted by the solution, do they need to be notified that it is fixed?

3) Post-mortem

What can be done better next time to avoid the problem?

  • Did I send an email of the problem and the steps to solve it to everyone involved?
  • Is the process documented correctly?
  • Is the problem solving approach documented correctly?
  • If there is change that could prevent this problem in the future?


AuthorBrett Cooper