top of page

Solution Last, Perform Discovery First

  • Writer: David Peček
    David Peček
  • Dec 16, 2019
  • 2 min read

Updated: Sep 12, 2020


Part of human psychology is to want to jump to the fastest possible solution so we can get the problem out of our minds. Is this really the best solution? Oftentimes just one person's perspective is not enough to effectively solve an issue. What can you do to come up with the best solution for any given problem?

Clearly define the problem, ensure everyone understands the issue, ramifications, and technology. Then come up with solutions together and decide which one fits best.
 

Define the issue. When you have a problem the first thing you should do is define it as best you can. Write up a couple paragraphs, make a diagram, however you can best articulate the issue. This lets everyone see the problem as you understand it.


Ensure everyone is on the same page. Depending on the complexity of the issue, some discussion may be merited to ensure everyone understands. Software problems can be nuanced and require an understanding of all the underlying technologies and how they work together. It may take some explaining of the various parts to have everyone get a complete enough understanding to be able to solution.


Draft solutions. Allow everyone to explain how they would solve an issue. Given everyones different backgrounds you might get some new ideas you would not have thought about yourself. Everyones level of understanding of the systems gives them a different perspective on how each technology could solve the issue.


Agree on the best solution. With everyones voice accounted for and documented, the team can now agree on which one will work best. Take some factors into account when deciding the best solution:


  • Longevity of the system / code you are trying to fix.

  • Cost / time / frequency of workarounds if this is not fixed.

  • Amount of effort to implement each solution.

  • Consider what is "the right thing to do"?

Commenti


bottom of page