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?