“a problem well put is half solved.”
― John Dewey
We all solve problems everyday. Many of us get paid for the problems we solve. Sometimes we are amazed at how good some people can solve problems. A friend of mine had a wash machine broke and it didn’t seem to work. He called the service technician and they came out. The service technician took a look at the wash machine pulled out a stuck knob and started it up. He said that will be a hundred dollars. My friend was a little upset but paid the man and went upon his way. He didn’t find the easy solution because, he didn’t use his problem solving skills.
Technical problems can seem different than any other problem we face but, many times they can be solved with basic problem solving techniques coupled with technical understanding. First off let us discuss some basic problem solving steps.
1. What is the problem?
Identifying the problem is critical and seems straight forward enough. Although we have all started fixing something that turned out not to be the actual problem. I once started to replace an electrical outlet thinking it was faulty until I realized the fuse was blow and I just needed to reset the fuse. Experience can be a good guide for finding the root problem but it can lead you astray too.
2. What are some possible solutions?
Once we are sure we know what the problem is we need to start thinking up some possible solutions. Perhaps we may have to consult someone else to find more ideas but depending on the size of the issue you may just want to take the first easy solution you can come up with. One word of advice to many of you technical professionals out there. There are no bonus points for coming up with a cute and complex solution. I see a lot of us trying to show how smart we are by creating solutions that are overly complex or use unnecessary technology.
The KISS Principle
Don’t forget the KISS or Keep it Simple Stupid principle. This was shared with me from my high school Agriculture teacher. I never went into an Agriculture career but I learned a lot of good things from him. The simple solution is usually the best. I have noticed as a software developer that the more complex a solution the higher chance for bugs.
3. Pick a solution.
Looking over our solutions we must weigh them on a few different scales. Cost is a big factor for many problems we face. Sometimes the solutions all cost so much we in the end can’t select one. Of course we don’t always want to select the most economical solution either.
Time is an important factor as well. I had to order some printed documents for a presentation recently. I called a potential vendor and they said they would be done tomorrow afternoon. I needed them that next morning so I had to go some where else.
Resources can be a limiting factor as well. I worked with a group of interns last summer. Before they started we had to determine what their project would be. One of the possible choices would benefit the company greatly but, as we looked at how many people it would take we only had three interns. That was not enough to complete the project in the summer months for three people.
4. Put the solution in place.
This might seem like the easy part of the process but that isn’t always the case. The solution might take quite awhile to implement and take more time than we anticipate. The steps to completion might be numerous or require you to enlist some help. I have worked as a consultant at a few stops in my career. The solution might be outside of your area of expertise so might need to hire an expert. I currently work at Zirous an Oracle partner. We help lots of companies and organizations find solutions with Oracle products.