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.


Kishau Rogers

Kishau Rogers is the editor and founder of the bigThinking project. bigThinking is a resource and collaborative innovation center 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 that make a significant impact in the areas that matter. Kishau Rogers is an award-winning entrepreneur with a deep background in Computer Science, over twenty-five years of experience in the technology industry, and more than 15 years of entrepreneurial leadership. She currently serves as the Founder & CEO of Time Study, Inc., a high-growth startup offering solutions for using machine learning, advanced natural language processing, and data science to automatically tell a story of how enterprise employees spend their time.


Join our community of bigThinkers! Subscribe to learn, share and receive resources to apply to wicked problems.

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.