4: Building SolutionsFeatured

Using Pseudocode to Solve Complex Problems

Pseudocode is a great method for uncovering unclear decisions, hidden side effects, and for defining all inputs, outputs and interactions needed to effectively solve a problem.
The art of successfully executing great ideas involves becoming better at problem solving, listening & communicating. Pseudo-coding is often used by programmers. Writing a program in pseudocode is a program language-agnostic technique that involves describing the function to be written in a high level, plain-English (natural language).Pseudocode is not just for novice programmers, It is an excellent problem solving tool, particularly for writing complex algorithms. It also works well as a follow-up to creating well thought-out user scenarios and user stories. It is a great method for uncovering unclear decisions, hidden side effects, and for defining all inputs, outputs and interactions needed to effectively solve a problem.

  1. Describe the problem to be solved/function to be implemented. Break large problems into sub groups of problems.
  2. Determine the root cause of the problem or the reason for the function. What is the expected outcome for solving the problem? What is the impact of not solving this problem? Understanding “why” will keep you rooted in the bigger picture.
  3. Indicate what you need to know to solve the problem.
  4. Describe the environment where the solution will exist. Describe the people, places and things that are impacted? How does the environment interact with your solution? How is it impacted by your solution? This will help you to evaluate the larger impact and to also uncover any assumptions or pre-conditions that you’re assuming will be present or active.
  5. Document the high-level solution. Writing it out is the next best thing to talking (or walking) it out.  This is an excellent way to communicate your intent.
  6. Detail the steps for executing the solution. “When <the problem> occurs, First <an actor will> do this, then  <an actor will> do that, then <this solution will> do this other thing”
  7. For each step, evaluate & indicate the outcomes. What do you need to know to perform the step? What are the results of performing the step? This is how you communicate the expected outputs & post-conditions.
  8. Now how many steps did that take? How can you make it faster, better, smarter? (similar process to editing a story). You may uncover some unnecessary steps, redundant procedures or methods for more efficiently solving the problem.
  9. Rinse & repeat.

 

Tags
Show More

Kishau Rogers is the editor and founder of The bigThinking Project. The bigThinking Project is a resource center and collaborative innovation project which promotes the principles of systems thinking. Our mission is to empower the next generation of innovators to think bigger, to think better and to create solutions which make significant impact in the areas that matter. Kishau Rogers is an award-winning entrepreneur with over twenty years of experience in the computer science industry. She is a serial entrepreneur having founded and co-founded companies such as Websmith Group, TimeStudy, PeerLoc Inc., and Websmith Studio.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Close