Problem solving is a great way to grow and although at the time we may feel like...
In retrospect, there are occasions where we feel better after solving and reflecting on the problem. The best problems allow us to grow whether that’s through improving a skillset, increasing confidence or in some other beneficial way.
We (the development team) recently encountered an issue while developing an app where essentially a key component (a part of the programming that displayed graphs) could not be used in its current state.
To get technical the issue was: “You're running your main GUI loop (for the graphs) in a thread besides the main thread. You cannot do this.”
This was quite a big problem as left unattended it would mean the application would work but it would be unreliable and temperamental. So essentially, it had to be solved and the answer was by no means clear.
In short, the way we solved it was to split one application into two but at the same time making this completely transparent to the user. It did mean some restructuring to the application but it was something we were confident would work.
Some of the key steps on the way to the solution were:
Discussing the problem
Walking someone through the issue you’re facing can often help and by simply explaining the problem, a solution can become apparent.
The immediate solution may not always be the best so step back, think about it, and be aware of the possibility that you could be overcomplicating or oversimplifying a problem.
Taking a break, maybe even go to sleep.
Take a break. Puzzling through a problem at 5pm on a Friday is no way to solve it. There have been multiple occasions where one of the development team has left puzzled at 5pm only to identify the solution to the problem at 9.15am the next day. ‘Sleeping on it’ and tackling an issue with a ‘fresh head’ does work.
Eventually the following should happen:
These steps are not just for development and can be used on a variety of problems. Try it out and see how it helps...
Find more like this via Development.