If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

To log in and use all the features of Khan Academy, please enable JavaScript in your browser.

AP®︎/College Computer Science Principles

Course: ap®︎/college computer science principles   >   unit 4, the building blocks of algorithms.

  • Expressing an algorithm

what is iterative problem solving

Want to join the conversation?

  • Upvote Button navigates to signup page
  • Downvote Button navigates to signup page
  • Flag Button navigates to signup page

Good Answer

nifty logo

Understanding the Iterative Process: 5 Steps To Success

what is iterative problem solving

Whether you are starting your project management career or are a seasoned pro, it is essential to  understand the iterative process . This process is commonly used in software development but can be applied to any project – sometimes even a personal one.

What does the iterative process mean? (a.k.a. iterative process definition)

An iterative process is an approach to problem-solving that involves breaking down a significant problem into smaller, more manageable pieces. Each piece is then worked on separately, combining and iterating the results to form a final solution.

This article will take a closer look at the iterative process and how one can use it to improve your  project management skills .

iterative process

How to Implement the Iterative Process

You need to take the following five key steps to implement the iterative process.

It all starts with a plan. It would help if you had a clear idea of what you want to achieve with your project. What are your goals? What are your objectives?

You also need to consider the resources required to complete the project, including time, money, and workforce.

And finally, you need to decide on the timeline for the project. How long do you have to complete the project? What are the  milestones  that you need to reach?

Knowing the correct answers to these questions will allow you to understand what resources you’re working with at the various stages of the project.

After you’ve planned the project, it’s time to start designing it. This is where you’ll start putting your ideas down on paper (or in a digital format as an interactive PDF ).

You’ll need to think about the different components of the project and how they’ll fit together. This includes things like the user interface, the database, and the code.

And you’ll also need to consider the different steps users will take when interacting with your project. What will they see? What will they do?

3. Implement.

Once you’ve designed the project, it’s time to implement it. This is where you’ll start coding (or building) the project.

You’ll need to write (or build) the code for the project’s different components. And you’ll also need to put everything together so that it works as a cohesive whole.

After implementing the project, it’s time to start testing it. This is where you’ll put the project through its paces to ensure it works as intended.

You’ll need to test all of the different components of the project. And you’ll also need to test the project as a whole.

5. Evaluate and Review.

After you’ve tested the project, it’s time to evaluate and review it. This is where you’ll take a step back and look at the project.

What worked well? What didn’t work well? What could be improved?

And based on your evaluation, you can decide whether or not to continue with the project. You can move on to the next iteration if everything goes well. But if some areas need improvement, you can make the necessary changes.

The power of iterative design and process

An iterative process is a cycle of repeated steps until a desired goal or result is achieved. In design, iteration is often used to explore multiple solutions to a problem and gradually refine them based on feedback from users or other stakeholders.

One of the benefits of using an iterative process model is that it allows for course corrections along the way. This can be especially helpful when working on complex issues where problems are challenging to anticipate upfront.

Iterative processes are also well suited for  Agile development  environments where requirements may change over time. Revisiting and revising designs regularly makes accommodating new insights or feedback easier.

If you’re new to using an iterative process, there are a few basics to remember. First, starting with a clear understanding of the problem you’re trying to solve is essential. Once you have a good sense of the problem, you can begin exploring potential solutions.

As you explore different solutions, it’s helpful to keep track of the pros and cons of each one. This will make it easier to compare and contrast different approaches and eventually choose the best option.

Once you’ve selected a solution, it’s time to implement it. This is where the iterative process model comes in handy, as you can make small changes and test them out before making more significant changes.

Through this complete cycle, you can gradually improve your solution until it meets your needs. Regarding the iterative model, the key is to be patient and flexible, as the best solutions often come from unexpected places.

How does the Agile methodology relate to the iterative process?

The Agile workflow  is a popular methodology that many developers follow. It’s similar to the iterative process in that it focuses on delivering working software in short cycles, usually two to four weeks. The main difference is that Agile focuses more on customer feedback and  collaboration , while the iterative process focuses more on the technical aspects of development.

Agile Lifecycle

The main benefits of using an Agile workflow are that it helps to ensure that features are being built that customers want, and it helps to avoid scope creep, which happens when stakeholders change key requirements. However, long-term projects might get incremental deliveries, which is only sometimes ideal.

The main benefits of using the iterative process are that it helps to ensure that the software is of high quality and that it’s easy to track progress. The main downside of the iterative process is that it can be time-consuming since each iteration must be planned.

An Agile team can use the iterative process to build software incrementally. And a team that follows the iterative process can use Agile techniques to get customer feedback and avoid scope creep.

So, while there are some differences between Agile and iterative processes, they are not mutually exclusive. Many teams use both approaches to build software incrementally.

Examples of the iterative process in various industries

Let’s now consider multiple industries that can use the iterative process.

Engineering

Engineering is one of the most common fields to use the iterative process. For example, engineers will often build a small prototype when building a structure, say a bridge. They will then test the prototype to see if it can support the weight of the traffic crossing the bridge. If the prototype fails, they will make changes and try again. This process is repeated until the engineers are confident that the final product can support the required load.

Web Development

Web development is another field where the iterative design process can be beneficial. Development teams often start with a basic site version when building a website . They will then add features and make changes based on feedback from users. This process is repeated until the site is complete.

Product Development

The iterative process can also be used in product development. When developing a new product, companies will often start with a prototype. They will then test the prototype with potential customers. Based on feedback from these tests, they will make changes to the design and try again. This process is repeated until the company is confident that the final product will be successful.

The iterative design process also works if someone else has already built a product you want to improve. In this case, you can use the iterative process to make incremental improvements. For example, let’s say you are building a word unscrambler. You could take a product someone has already created and start with that as the basic idea. You could test your new product with different words and see how well it works. Based on this feedback, you could make changes to the algorithm and try again. This iterative approach is repeated until the word unscrambler is as good as it can be.

This is similar to what  Unscrambled Words  have done on their site. With the premise that anyone that likes playing games such as Text Twist, Scrabble, and Words With Friends, will be able to enjoy their take on word unscrambling, the site gives a brief description of why you should go for their unscrambler over their competitors. They do this by saying that their algorithm uses the official tournament dictionaries as the foundation for their word choices. This gives you the right words when using this site.

From an iterative design process point of view, the word unscrambler is an excellent example of how a process can be improved in relation to an existing product. By starting with a basic algorithm and then making incremental improvements, the team created a word unscrambler that is better at what it does when compared to its competitors.

The  iterative process can also be used in marketing. For example, when companies plan to hire a new link building agency or a new vendor, they often start with a small test campaign. They will then use the feedback from this test market to make changes to their marketing strategy . This process is repeated until the product is launched in all markets.

As opposed to just going all out and finalizing an agency based on conversations and case studies, the iterative process allows companies to ensure that the vendor they are going for will help them succeed. It is because you can always change the agency or vendor based on the performance of your test campaigns. 

The iterative process can also be used in education. Educators often start with a basic outline when developing a new curriculum. They will then test the curriculum with their students, noting what works well and what doesn’t. Based on feedback from these tests, they will make changes to the curriculum and try again. This process is repeated until the educators are confident that the final product will be successful.

Resume creation tools

The iterative process can also be used when  creating a resume . When developing a new resume , one can start with a basic template. The person can then add information and make changes based on feedback from potential employers. This process is repeated until the candidate has a final product that makes them confident and will help them get the desired job.

One such tool that can be used in this situation is the  Preschool Teacher Resume  tool, which helps with resume writing for those in the preschool education field. You fill out a form with relevant experience and skills, and the tool generates a resume template. You can then get back to this tool and update your resume as you gain more knowledge about what works (and what doesn’t).

CV Maker

By starting with a basic template and making changes based on feedback, you can create a resume that will help you get the job you want.

To further enhance the effectiveness of your resume, particularly in navigating the complexities of modern job application processes, consider utilizing an ATS resume template . Such templates are specifically designed to ensure compatibility with Applicant Tracking Systems, thereby maximizing your visibility to potential employers.

People search

The working of the iterative process discussed above can be seen in tools that help with people searches. Here, the user enters information about the person they are looking for, and the tool generates a list of potential matches. Users can refine their search by adding more information or making changes to the initial search criteria.

One such tool is  Truthfinder , which helps find someone fast. You can find detailed records about a person using a name, phone number, or address. You can then refine your search by adding more information.

truthfinder app home page

By starting with essential information and refining your search, you can quickly understand the critical information you need to enter to find the person you want. This also means that on the next iteration, you will have a better idea of what to search for, making the process even more efficient.

Scrum projects

Following the  Scrum principles , software development also uses the iterative process. In Scrum, a product is developed in short cycles called sprints. Each sprint starts with a planning phase, where the team decides what features to work on. The team then works on implementing these features and tests them at the end of the sprint. Based on feedback from testing, the team makes changes and continues to the next sprint.

Scrum Principle

Psychology research

Finally, in psychology, the iterative process is often used in research. When conducting experiments, psychologists may start with a small number of subjects and then gradually increase the sample size. This allows them to test their hypotheses and ensure their results are reliable.

Benefits of using the iterative process

Let’s consider some benefits of using the iterative process.

Flexibility and efficiency

Gone are the days when you would work on a project for months or even years without knowing whether it would be successful. With the iterative process, you can get feedback early and often, which means that you can make changes as needed. This makes the iterative process much more efficient and flexible than other methods.

Avoiding overwhelm

It can be easy to feel overwhelmed when starting a large project. But by breaking the project down into smaller tasks, you can take things one step at a time and avoid feeling like you’re taking on too much.

Improved communication

The iterative process can also improve communication between team members. By getting feedback throughout the project, team members can stay on the same page and avoid misunderstandings.

Increased engagement

The iterative process can also increase engagement among team members. When team members see that their ideas are being implemented and start forming part of the project, they are more likely to be engaged.

Cost-effectiveness

The iterative process can also be cost-effective. By starting with a small-scale project, you can save money on a project that may not be successful.

With money being one of the resources often limited in project management (especially when an idea is untested), the iterative process can help you make the most of your given budget.

Reduced risk

Another benefit of the iterative process is that it can help to reduce risk. Risk management is an integral part of any project, and by  breaking down a project into smaller pieces , you can identify and manage risks more effectively.

When not to use the iterative process

While the iterative process is a great tool, it’s only right for some situations. Here are a few cases when you might want to avoid using the iterative process.

When time is of the essence

There may be better choices than the iterative process if you’re working on a project with a tight deadline. Each iteration takes time, and you may need more time on larger projects to complete all of the iterations.

When there is no room for error

The iterative process is all about testing and making changes based on feedback. But if there is no room for error in your project, the iterative process may not suit you.

When you’re working alone

The iterative approach relies on team input and feedback. So if you’re working on a project yourself, there may be better choices than the iterative process.

What’s the difference between iterative and incremental development?

The terms “iterative” and “incremental” are often used interchangeably, but there is a subtle distinction between the two. Iterative development is a technique in which the development process is repeated multiple times, with each iteration building upon the previous one. Incremental development, however, breaks down the development process into smaller pieces, each adding functionality to the overall project.

Both iterative and incremental development share some common characteristics. They are both incremental (i.e., they add new functionality in small steps), they are both based on feedback loops (i.e., they allow for constant revision and refinement), and they are both flexible (i.e., they can accommodate changes in requirements).

However, there are some critical differences between the two approaches. Iterative development is typically used for more complex projects, while incremental development is more suited for more straightforward projects. Iterative development focuses more on the project’s overall architecture, while gradual development is more concerned with adding individual features and functionality to a project.

What is a non-iterative process?

The opposite of an iterative process is a non-iterative – traditionally known as a Waterfall process. In a Waterfall process, the development process is linear and proceeds sequentially from one stage to the next. There is no feedback loop, which means that once a decision is made, it cannot be changed. Waterfall processes are typically used for projects with well-defined requirements.

One of the main advantages of Waterfall processes is that they are relatively simple and easy to understand. They are also easy to document and track since each stage has a clearly defined start and end point.

However, Waterfall processes also have several disadvantages. One of the most significant drawbacks is that they need to allow for changes in requirements. Once the development process has started, any modifications to the conditions will require a complete restart. This can be both costly and time-consuming.

Another disadvantage of waterfall processes is that they can be inflexible. Since each stage of the process depends on completing the previous step, it can be challenging to make changes or adapt to new circumstances. This can lead to delays and frustration for both developers and clients.

The role of Kaizen in Continuous improvement in business

Kaizen, a Japanese word for “improvement” or “change for the better,” combines two words: Kai (改), meaning “change” or “to correct,” and Zen (善), meaning “good” or “better.”

When used in business, kaizen refers to activities that continuously improve all business functions, from manufacturing to management and from the CEO to the assembly line workers.

Part of Iterative Process, Kaizen Cycle

There are two critical components to kaizen: 1) focusing on continuous improvement and 2) involving everyone in the organization in the improvement process.

Continuous improvement

The core meaning of kaizen is a focus on continuous improvement. Every aspect of the business is always open to scrutiny and improvement. There is no such thing as “good enough” – there is always room for improvement. As such, performance analysis is a vital part of continuous improvement as it allows businesses to identify areas that need improvement and track the results of their improvement efforts.

Involving everyone

Another critical component of Kaizen is involving everyone in the organization in the improvement process. Improvement cannot be achieved if only a few people are working on it. Everyone must be committed to making minor improvements every day.

Kaizen is often associated with Lean Manufacturing or the Toyota Production System . However, it is essential to note that Kaizen is a philosophy or mindset that can be applied to any business area, not just manufacturing. It also happens that Kaizen and the iterative process are very compatible, so it is common to see Kaizen being used as part of an iterative development process.

An iterative process is an essential tool that one can use to manage the development of a product or service. It is a flexible process that allows for changes and adaptation as needed. The iterative process is also continuous, which means there is always room for improvement.

The iterative process has something to offer everyone, ranging from businesses specializing in software development to those in manufacturing. It’s a fundamental tool that can help organizations develop products and services more effectively.

With a better understanding of the iterative process, you’ll be able to apply it to your work and improve your product development skills.

Recent Articles:

How to Organize Notes Effectively

How to Organize Notes Effectively: 10 Strategies

what is iterative problem solving

10 Best AI Project Management Tools You Must Try in 2024

what is iterative problem solving

Top 11 Procurement Challenges & their Solutions

recipe database

ALTERNATIVES

Wait before you go.

Do you really want to lose 5 productive hours a week?

Teams  waste 5 hours a week  on average juggling between tools. Nifty is one app for  chat, tasks, docs, and more. Try it for free and see for yourself. We promise you’ll love it.

No thanks, I’ll stick with 5+ tools.

What is iterative problem solving?

Lex Fridman

Iterative problem solving involves a methodical approach where you repetitively apply a series of steps to gradually move closer to the desired solution. This is often visualized as reducing the gap from the current state to the optimal state through incremental improvements.

Richard Karp, in conversation with Lex Fridman , provides an example with the Hungarian algorithm. This algorithm iteratively adjusts a matrix of numbers to minimize costs in the assignment problem. The process includes repeated subtraction of constants from rows or columns while maintaining non-negativity until the optimal permutation is found 1 2 .

This iterative nature ensures steady progress towards the solution, reflecting the elegance and systematic nature often found in computational processes 2 .

Solving the Assignment Problem

Lex fridman podcast.

Kermit Kordell Blog

Iterative problem solving.

When it comes to solving problems, there are two main lines of thoughts:

  • Plan, plan, do
  • Do, learn (repeat)

I’ve found during my life experience that the second method is almost always the best one. It arrives at the solution quicker, and it solves the problem better.

In this post, I’ll explore why that is – how iterative problem solving actually works.

Solving math problems iteratively

During homework one day when I was a kid, I discovered that I could more easily solve my math problems by just testing and seeing what would happen. Even if I had no idea what would happen, I simply started jotting down a solution – with no idea as to whether it would hold or not.

What I discovered was that the problem of “just trying something” would yield a solution far quicker than thinking ahead.

I proudly announced my discovery to my teacher. I don’t know if she really understood what I was talking about, but she applauded me nevertheless, encouraging me to keep doing what I did.

This approach to problem solving has stuck with me ever since. Now, I’m at a point where I will explore the mechanisms behind this type of problem solving to understand when and where it can be applied. In order to do that, we have to look at the mechanisms that makes this work.

How iterative problem solving works

In the situations where iterative learning works, what happens is as follows:

You have no clue what the solution is, but you do have some (far from correct) ideas or guesses or assumptions.

So based on these ideas/guesses/assumptions, you test a quick and dirty solution. What you arrive at is probably very wrong, but you will have gained something immensely valuable: Learning.

By testing your ideas, guesses and assumptions very quickly, you will see the actual results they yield. This is feedback, which gives you learning.

This, during the process of trying and learning, the amount of additional learning you will have gained will probably be far more than what you would have concluded/learned if you tried to figure out the “correct” solution without getting your hands dirty to actually try immediately.

Using those new learnings, you will have revised your guesses, assumptions and ideas, and you can try again. This time, from a higher level of understanding.

By repeating this process, you will continuously increase your learning until you are at a point where your assumptions, guesses and ideas are correct enough to bring you to the solution.

A formalized iterative learning process

Actually, learning IS making an assumption (read: guess) based on what you do know, then testing those assumptions to see if they hold.

So in your original “try and learn” approach, you might have tried to solve the problem by assuming (read: guessing) three things: Assumption 1, Assumption 2 and Assumption 3 (A1, A2 and A3).

If the assumptions produce the correct answer, great! You have verified that all three assumptions are correct.

If you get the wrong result, at least one of the above assumptions must be wrong. This, in itself, is valuable knowledge, because it presents you with two choices:

  • If you have other ideas (for example A4 and A5) which you think are likely to produce the correct answer, simply try to solve a problem again using these.
  • If you don’t have any more ideas, or if you have too many possible ideas to test, then you might want to drill down to A1-A3 to draw additional learnings about why they failed.

Number 1 is easy: Simply repeat the process.

Number 2 will create a “recursive iterative learning” cycle.

Recursive iterative learning

Pick one of your original assumptions to drill deeper into, for example A1.

Formulate sub-assumptions that underlie A1. For example, you might have some ideas (assumptions) about why A1 can’t be correct: Let’s call these A1.1, A1.2 and A1.3.

Pick one of these sub-assumptions, preferably one that would lead to some “chain reactions” in terms of your original solution (i.e. if any of them are correct, then it would also eliminate or strengthen some of your other assumptions). Then test it.

If it succeeds, great: You have learned something new. This new learning will have consequences for at least A1 (striking it from your list of possibly correct assumptions), and possibly more.

If it fails, repeat the process by testing the other assumptions in this level (A1.2, A1.3 and so on), or create new sub-sub-assumptions and test the sub-sub-assumptions (for example A1.1.1, A1.1.2 and so on). Do this until you can draw a definitive learning, and go back in your recursive learning chain and let all the recursive learnings fall into place.

You have now drawn a set of learnings from your original guess. From these new set of learnings, you can make new assumptions that are closer to the truth, test them, and repeat the process. With each iteration, you will come closer to the truth until you finally arrive at it.

What it looks like in real life

In reality, nobody (I hope..?) thinks like the above. Instead, the process happens unconsciously when we just “try something”.

For example, let’s take the math problem I was trying to solve as a kid described above. Here’s what actually happened:

I was sitting and looking at the problem, with no clue as to how I was supposed to solve it.

So instead of sitting there, stuck in my own thoughts, I decided to simply jot something down. I started by drawing a character, and then the next character. Before I started the process of jotting down each character, I had no idea which character would actually be “jotted down”. Instead, the actual character came to me as I started jotting.

A couple of times, I realized that the character or formula I jotted down didn’t make sense (=> my first iterative learning, happening organically). So I erased, and tried again (using the learning from the previous step to try something new, i.e. realizing that A1 didn’t work and trying A2 instead).

At some point, I thought I had arrived at the correct solution (using A2). But I realized everything I had done had been garbage, because it didn’t turn out the way I wanted it. I started wondering why the heck it didn’t work. I had an idea (A1.1). So I started experimenting at the side trying to answer the question in my mind as to why my original solution didn’t work (testing A1.1). Suddenly, I got an interesting result (proven A1.1) which gave me a new idea (A3) which I used when starting with the original question from scratch (testing A3), which arrived at the correct conclusion.

In reality, the process is even messier than this. But the actual process is the same, only more complicated (more branches, more assumptions and sub-assumptions), not different.

A couple of scenarios in which you can apply iterative learning

So where can you actually apply “iterative learning”? Well, as it turns out, in a lot of places:

Programming: Trying a solution and seeing where it leads you, drawing learnings from that destination and trying again ( Agile Software Development )

Starting companies:  Start from where you are, using the knowledge you have, make a quick and dirty roadmap, start the journey, and learn and adjust as you go ( Lean Startup ).

Building rockets: Build a rocket as quickly as you can, using what you know (A1, A2 etc.). When the rocket crashes , analyze why it crashed, draw a new conclusion (A1.1), make a new assumption (A3) and build another one. ( Elon Musk’s methodology as described in this biography )

And probably much more 🙂

Summary of iterative learning

So in summary, when you have a problem, even though you know that you don’t know the answer, simply assume things and get started. Then learn from the results you get, and start again with the higher level of knowledge you have. And so on, until you have ruled out all but the correct solution.

Share on facebook

Share this:

Kermit Kordell

One response to “Iterative Problem Solving”

Based on a conversation with a friend, I’ll add the following points to the post:

You can see the solution to a problem as a tree structure where each node is a way down towards the solution (hopefully) – but you don’t know before testing which way down will produce the results you are hoping for.

The road you choose to take is based on your assumptions (A1, A2, …). You always have a list of active assumptions (probably just intuitively, not explicitly), and a list of falsified assumptions (which may well be forgotten, not held in memory). The falsified ones are falsified because you tried a road down from a node based on some assumptions you had made, and when the road failed to produce the results you expected you assumed that your assumption was wrong. You then either create sub-assumptions (A1.1, …) to learn why A1 didn’t work, or you simply tried another node based on new/revised assumptions.

The fastest way to find the goal is NOT to try to build the entire tree or all assumptions at once, but to simply build/refine both the tree and your assumptions as you go. Make a very quick “best guess” based on your current knowledge and intuition and start executing any node that fits reasonably well. As described in the blog post, this makes you learn quickly and find the correct assumptions (and thereby the correct road – or even the opposite way around) quickly.

The mistake people make is that they try to draw a complete tree stucture before even trying to execute a single node. What happens then is that either they never finish (hence never start executing and thus never reach the goal, because drawing the “perfect” tree is very time consuming or even impossible), or if they finish they have to revise the entire tree after the first attempt at execution since the first things they will learn will invalidate their entire tree since reality is almost always different than you imagined.

I also think that another very important factor for success (aside from testing early) is: have the courage to make definitive conclusions even based on limited proof. In other words, dare to strike nodes that don’t work quickly, and dare to draw up new nodes that you believe in early.

I made the mistake for a long time in my life that I was too careful about making definitive conclusions. Instead, held too many nodes open for too long, thinking things such as “perhaps what I did didn’t work because I didn’t do it well enough / need more training / missed a detail that will make it work / …”. Rather than simply “It didn’t work, it probably doesn’t work, I’m going to try something else”.

The result of such reasoning is that progress will halt. In reality, there are so many nodes, and so many of them leading to the goal even though they are completely different and even contradict each other, than there is no “perfect way” – there are just multitudes of “good enough” ways. If you are slow with “closing off” ways that didn’t work, you will also be slow to find a way that works. The fastest way to find a way that works is to test many ways quickly rather than to try to “prove with high significance” that a way doesn’t work before you move on.

Leave a Reply Cancel reply

Study.com

In order to continue enjoying our site, we ask that you confirm your identity as a human. Thank you very much for your cooperation.

what is iterative problem solving

Glossary Terms

What is Iteration? Iteration explained

Iteration is a fundamental concept in problem-solving that is used to perform repetitive tasks. It involves repeating a set of instructions multiple times, with each repetition referred to as an ���iteration.��� In programming, iteration is a crucial tool that allows you to execute a block of code multiple times without rewriting it each time.

Understanding the Concept of Iteration

Before we dive into the details of iteration in programming, it's essential to understand how this concept works in problem-solving. Iteration is the process of repeating a sequence of operations until a certain condition is met. It's a way of breaking down a complex problem into manageable steps.

Iteration is a fundamental concept in computer science and is used in many areas of programming, including web development, game development, and artificial intelligence. It is a powerful tool that allows developers to automate repetitive tasks and solve complex problems more efficiently.

Definition of Iteration

In computing, iteration refers to the repetition of a set of instructions for a specified number of times. It's a fundamental structure in programming that allows you to repeat code until a desired result is achieved. The most commonly used loop structures are the 'for loop,' 'while loop,' and 'do-while loop'.

The 'for loop' is used when you know the number of times you want to repeat a block of code. The 'while loop' is used when you want to repeat a block of code until a specific condition is met. The 'do-while loop' is similar to the 'while loop,' but it executes the block of code at least once, even if the condition is false.

Importance of Iteration in Problem Solving

Iteration plays a crucial role in problem-solving and decision making. It allows a process to evolve and progress over time, enabling us to create better solutions to complex problems. Iteration also helps us identify and fix errors in a given solution and improve it until it meets the desired outcome.

For example, if you're developing a website, you might use iteration to test different designs and layouts until you find the one that works best for your users. Similarly, if you're developing a game, you might use iteration to fine-tune the gameplay mechanics until they're fun and engaging.

Iteration vs. Recursion

Iteration and recursion are two essential concepts in problem-solving and programming. While iteration involves repeating a set of instructions a specified number of times, recursion involves calling a function within itself. The key difference between the two is that recursion can lead to infinit

loops, while iteration stops after a specific number of iterations.

Recursion is often used in algorithms that involve searching and sorting, such as binary search and quicksort. However, it can be challenging to debug and can lead to performance issues if not implemented correctly.

Overall, understanding the concept of iteration is essential for any programmer or problem solver. It allows you to break down complex problems into manageable steps and create more efficient and effective solutions.

Types of Iteration

When it comes to programming, iteration is a powerful tool that allows us to execute a block of code repeatedly. There are several types of iteration structures in programming, and each one has its own unique syntax and purpose. In this article, we will explore three of the most commonly used types of iteration: for loops, while loops, and do-while loops.

The for loop is a control flow statement that allows you to execute a block of code a specified number of times. It's the most commonly used type of loop structure in programming. The syntax of the for loop is:

for(initialization; condition; update){ //Code to be executed}

The initialization statement is executed only once at the beginning of the loop, and it declares the loop control variable. The condition is evaluated at the beginning of each iteration, and the loop executes until the condition is false. The update statement is executed at the end of each iteration and updates the loop control variable.

For loops are particularly useful when you know exactly how many times you want to execute a block of code. For example, if you want to print out the numbers from 1 to 10, you could use a for loop:

`for(int i = 1; i <= 10; i++){\

��������System.out.println(i);\

This code will print out the numbers 1 through 10, one at a time, in the console.

While Loops

The while loop is another type of loop structure in programming that allows you to execute a block of code while a given condition is true. The syntax of the while loop is:

while(condition){ //Code to be executed}

The while loop executes the code block repeatedly as long as the condition remains true. As soon as the condition becomes false, the loop stops executing. While loops are useful when you don't know exactly how many times you want to execute a block of code, but you know the condition that needs to be met in order to stop executing the loop.

For example, let's say you want to keep asking the user for input until they enter the word "quit". You could use a while loop:

`String input = "";\

while(!input.equals("quit")){\

��������System.out.println("Enter a command (or type 'quit' to exit):");\

��������input = scanner.nextLine();\

This code will keep asking the user for input until they enter the word "quit".

Do-While Loops

The do-while loop is a type of loop structure that allows you to execute a block of code at least once, and then check if the condition is true and continue executing the block of code until the condition is false. The syntax of the do-while loop is:

do{ //Code to be executed} while(condition);

The code block is executed at least once before the condition is checked. If the condition is true, the loop continues executing the block of code. If the condition is false, the loop stops executing.

Do-while loops are useful when you want to execute a block of code at least once, regardless of whether or not the condition is initially true. For example, let's say you want to ask the user for input and keep asking them until they enter a valid response. You could use a do-while loop:

��������System.out.println("Enter a number between 1 and 10:");\

} while(!isValid(input));`

This code will keep asking the user for input until they enter a valid response (in this case, a number between 1 and 10).

Iteration in Programming Languages

Iteration is a fundamental concept in programming that involves repeating a set of instructions until a specific condition is met. It is a crucial aspect of many programming languages, including Python, Java, and JavaScript. In this article, we will explore how iteration works in each of these languages.

Iteration in Python

Python is a popular programming language that provides various inbuilt functions for iteration. One of the most commonly used methods for iteration in Python is the for loop. You can use for loops to iterate over lists, tuples, dictionaries, and sets. For example, consider the following code:

fruits = ["apple", "banana", "cherry"]for fruit in fruits: print(fruit)

This code will iterate over the 'fruits' list and print each item to the console. In addition to for loops, Python also provides while loops and iterators for iteration.

Iteration in Java

Java is another popular programming language that provides several ways to iterate over collections. One of the most commonly used methods for iteration in Java is the for loop. You can use the enhanced for loop to iterate over arrays and collections in Java. For example, consider the following code:

int[] numbers = {1, 2, 3, 4, 5};for (int number : numbers) { System.out.println(number);}

This code will iterate over the 'numbers' array and print each item to the console. Java also provides while loops and iterators for iteration.

Iteration in JavaScript

JavaScript is a popular programming language used for web development. It provides several ways to iterate over arrays, including for loops, while loops, and iterators. You can also use the 'forEach()' method to loop over an array and apply a function to each element. For example, consider the following code:

const fruits = ["apple", "banana", "cherry"];fruits.forEach(function(fruit) { console.log(fruit);});

This code will iterate over the 'fruits' array and print each item to the console. JavaScript also provides for loops and while loops for iteration.

In conclusion, iteration is a crucial aspect of programming, and understanding how it works in different programming languages is essential for any programmer. Python, Java, and JavaScript are just a few examples of languages that provide various methods for iteration.

Real-World Examples of Iteration

Iteration is a powerful tool that can be used in a variety of fields to improve processes and achieve better results. In this article, we will explore some real-world examples of how iteration is used in different industries.

Iterative Design Process

The iterative design process is a popular methodology used in various design fields, including product design, graphic design, and software development. This process involves creating prototypes of a design, testing them, and refining them based on feedback until a final solution is achieved.

For example, let's say a company is designing a new mobile app. The iterative design process would involve creating a prototype of the app, testing it with users, gathering feedback, and refining the design based on that feedback. This process would be repeated until the app is user-friendly and meets the needs of its target audience.

Agile Development Methodology

Agile development is a popular approach to software development that emphasizes collaboration, flexibility, and iterative development. This methodology involves breaking down a project into smaller, more manageable chunks called sprints, each of which involves completing a set of tasks and delivering a working product that can be tested and refined in the next sprint.

For example, let's say a software development team is working on a new e-commerce website. The team would break down the project into sprints, each of which would involve completing a set of tasks, such as designing the homepage or implementing the shopping cart functionality. At the end of each sprint, the team would deliver a working product that can be tested and refined in the next sprint.

Machine Learning Algorithms

Machine learning is a field of artificial intelligence that involves using iterative algorithms to discover patterns in data. These algorithms use a process of trial and error to refine a model until it achieves high accuracy on a given dataset.

For example, let's say a company wants to develop a machine learning model to predict customer churn. The company would start by collecting data on customer behavior, such as purchase history and customer support interactions. They would then use an iterative algorithm to train a model on this data, testing and refining it until it achieves high accuracy in predicting customer churn.

Overall, iteration is a powerful tool that can be used in a variety of industries to improve processes and achieve better results. By embracing iteration, companies and individuals can continually improve their products, services, and processes, ultimately leading to greater success.

In conclusion, iteration is an essential concept in problem-solving and programming that allows you to execute a block of code multiple times without rewriting it each time. Different programming languages provide various inbuilt functions for iteration. Understanding the different types of iteration and their applications can help you develop better solutions to complex problems and improve your programming skills.

You Might Like

Functionality Testing

User Experience (UX)

Building a Project Management App on Bubble

Harish Malhi

Harish Malhi

Follow us on

Send us a message

Related Glossary

Integration

Product Types

Footer Space Background

Join 1K+ entrepreneurs building with low code & AI

No Code Glossary

AI Product Scoper

Case Studies

Figma Designers

Framer Developers

No Code and AI

Bubble Developers

Share your Idea

Harvestr white logo

  • The Iterative Process: A Guide to Creating, Refining and Improving
  • Harvestr Blog

The iterative process is one of the most commonly used methods by business organizations looking forward to upgrading their business strategies and diversifying their product offerings. The purpose of this article is to explain in detail the concepts of an iterative process, the definition of the term, an easy-to-understand version of the iterative process model, the steps of the process, and the advantages of using the strategy.

The iterative process is creating, refining, and improving a project, initiative, or product. Business organizations that implement the use of the iterative model try to build, test, and review until they are entirely satisfied with the final outcome. The iterative process can be considered as a strategy of trial and error, which ultimately brings you one step ahead toward fulfilling your final targets. Iterative processes are very significant when devising lean methodologies and working as an Agile project manager. However, that's not all. Iterative methods can be useful for all business organizations and team members. Using this strategy, you can certainly advance your project and product design to the point where you are one hundred percent satisfied with the deliverable you have.

Iterative Process Definition

The term "iterative process" refers to an approach to research and development whereby the preferred outcome is achieved through a series of recurring cycles, taking into account the principles of trial and error. The process is systematic in nature and non-random. Each iterative cycle participates in a specific set of guidelines, allowing structural changes to be incorporated. In this way, it is possible to improve step by step and in a balanced way with respect to each previous cycle.

austin-distel-744oGeqpxPQ-unsplash

Iterative Process of a Lean Business Model

The roots of the iterative process are closely linked to the agile or lean business model. The agile/lean business model makes every effort to achieve seamless efficiency by cutting and avoiding all unnecessary and unproductive steps in the production cycle. Such activities are known as ‘waste’, and the lean business model strives to continuously avoid them. The iterative process is very useful when focusing on continuous improvement. The ultimate goal is to achieve the maximum possible productivity with the least reasonable amount of resources. The concept and strategy of a minimum viable product is also an interesting strategy in this regard.

The Benefits of using the iterative process

The iterative approach allows for flexibility in the product roadmap while introducing significant changes during the development process. This can help business organizations stay on track and make quick adjustments as they implement new additions and changes. The iterative approach often requires the participation of all team members, which can improve efficiency by promoting balanced workloads and collaboration among the team. The iterative approach promotes more meaningful opportunities for teamwork and collaboration. Instead of starting with a fixed plan and specifications (which can take a long time to develop), the team collaborates interactively and actively progresses through projects.

The process is very cost effective. Even if you intend to alter the course of your original project, it will only cost the amount of effort and time you initially invested in the project. It also offers the possibility of working simultaneously. Unlike non-iterative approaches, such as the waterfall method, the attributes of the iterative process are not dependent on or constrained by previous work. Team members can work simultaneously on various aspects of the project, potentially reducing the overall timeline.

Lower project risk is yet another core benefit of the process. In an iterative approach, potential risks are recognized and subsequently addressed in each iteration. Instead of addressing major risks at the beginning and end of the project, low-level risks are continuously addressed throughout the working cycle. 

It offers a higher degree of trustworthy and dependable user's product feedback . By presenting users with an iteration they can interact with or observe closely, they can better provide incremental input about what is effective or not practical for them. The iterative method enables business organizations to consistently and dependably enhance their existing products. Through each iteration cycle, teams can assess areas that require some improvement and apply the lessons they previously learned, resulting in each new iteration being ideally more enhanced than the previous one. By continually upgrading and enhancing the development process, teams can develop well-designed products and processes with ensured quality.

Another reason for the popularity of the iterative approach is its relatively low-risk profile. Teams typically tackle high-risk aspects of the product early on and refine the process over time, thus alleviating the chance of significant issues arising as the project nears its end. This approach enables companies to recognize and address risks in a timely fashion.

Understanding strategies to make innovative and creative products to capture the market is imperative.

marvin-meyer-SYTO3xs06fU-unsplash

The 5 steps of the iterative process

1. planning and requirements .

The iterative approach typically begins with a phase that is highly focused on rigorous planning and information gathering, where teams outline some of the preliminary requirements, such as important timelines and customer specifications. During this phase, they may also collect and maintain a record of relevant documents, while clearly establishing a project timeline for the first iteration cycle.

2. Analysis and design 

In the second phase, the focus is on project design and analysis, which involves a thorough and comprehensive understanding of the objectives, building database models and clearly establishing the technical requirements of the project. A detailed, step-by-step analysis of each component of the project can help develop test systems that fit the overall objectives. 

3. Implementation 

The next phase of the process is implementation, where the focus is on developing the functionality of the project. The goal is to meet the minimum requirements of the project and then make improvements to previous iterations, if appropriate, to produce something that can be tested and provide valuable information for the next phases of the process.

4. Testing 

The testing phase consists of gathering feedback on the offering. The team makes a rigorous effort to highlight areas where the project does not perform adequately or does not meet the required expectations. It is highly recommended to adopt methods such as surveys, focus groups, stakeholder presentations and beta testers to obtain primary feedback. Choosing testers strategically to ensure that the right information is obtained at the right time can improve the functionality and usefulness of the iterative process.

5. Evaluation and review

The last step is to conduct a thorough review and evaluation, in which the results of the previous steps are evaluated. If this is the first iteration, it is useful to compare the feedback and notes with the original project requirements you had previously decided upon. This will help you determine how to implement the improvements. Also, take the time to reflect on what was successful in the first iteration and build on it, as enhancing strengths can be just as valuable as correcting weaknesses.

Frequently Asked Questions

What does iterative mean in business.

In business, iterative means repeating a process with the goal of improvement and refinement. This approach is commonly used in product development, problem-solving, and decision-making, allowing for continual adjustment and adaptation based on feedback and results.

What is an iterative process example?

You might be surprised to realize that most product development is very iterative. Think of any personal technology you’ve ever purchased for yourself—there was likely a previous version before the one you bought, and maybe a version afterward, as well. Think of the development of mobile phones throughout the years, how speakers have gotten smaller and more portable over time, or even the way refrigerators from the same brands have changed to adapt to new family needs. All of these are iterative processes.

What is an iterative approach?

An iterative approach is a method of problem-solving or decision-making that involves repeating a series of steps in a cycle until the desired outcome is achieved. It is characterized by continuous improvement and adaptation based on feedback and results. This approach allows for flexible decision-making and quicker response to changing circumstances compared to a linear, one-time solution. Iterative methods are commonly used in product development, design thinking, project management, and many other fields.

What does iterative stand for?

It is a word derived from the Latin word "iterare," which means to repeat. In the context of problem-solving, decision-making, and product development, iterative refers to a repetitive process of improvement and adaptation.

To gain a deeper understanding of the Iterative process and other impactful techniques in product development and marketing, consider exploring resources available on Harvestr .

  • Follow us on Linkedin
  • Follow us on Copy Copied to clipboard

Related Posts

Looking for more content? Have a look at our other posts on similar topics.

Understanding Product Marketing: A Comprehensive Guide

Product marketing involves promoting and selling products by highlighting their unique features,…

Mastering Mesh Color Gradients in Figma

Are you ready to embark on a creative journey that transforms your designs from ordinary to…

Mastering the Art of Crafting an Impactful Elevator Pitch

An elevator pitch is a brief but captivating description of your expertise and offerings. Also…

Glossary

  • Agile & Development
  • Prioritization
  • Product Management
  • Product Marketing & Growth
  • Product Metrics
  • Product Strategy

Home » What Is an Iterative Process? Definition and Stages

What Is an Iterative Process? Definition and Stages

August 10, 2023 max 8min read.

Iterative Process

This article contains,

What Is an Iterative Process?

Stages of an iterative process, benefits of using iterative process, example of iterative process, challenges of an iterative process.

Iterative Process Definition: An iterative process is a method or approach to problem-solving and development that involves repeating a series of steps cyclically. 

In this process, each iteration builds upon the knowledge gained from the previous one, leading to incremental improvements and refinements over time.

The iterative process is a great way to improve a product or service by continuously testing and refining it. By breaking down the project into more miniature stages, you can get feedback from users early and often and make changes as needed. This ensures that you are always moving towards a better product that meets the needs of your users.

The 5 Stages of an Iterative Process

The iterative process typically involves 5 stages:

Planning and requirements: In this stage, you will define the project goals and objectives and identify the user needs.

To define the project goals and objectives, you will need to answer the following questions:

  • What are we trying to achieve with this project?
  • What are the specific goals of the project?
  • What are the measurable objectives of the project?

Once you have defined the project goals and objectives, you must identify the user needs. This involves understanding the needs of the people using the product or service. You can conduct user interviews, surveys, and usability testing.

Once you have identified the user needs, you must document them in a requirements document. The requirements document should be clear, concise, and easy to understand. It should also be complete and accurate so that everyone on the team knows what the project aims to achieve.

The planning and requirements stage is an essential stage in the iterative process. By defining the project goals and objectives and identifying the user needs, you will be well on your way to creating a successful product or service.

Analysis and design: In this stage, you will analyze the user needs and develop a design for the product or service.

To analyze user needs, you must deeply dive into the data you collected in the planning and requirements stage. You must understand the user’s pain points, goals, and motivations. You will also need to understand the competitive landscape and the trends in the industry.

Once you understand the user’s needs, you can develop a design for the product or service. This involves creating wireframes, prototypes, and mockups. You must also create a user interface (UI) and user experience (UX) design.

The design stage is a creative process, but it is also essential to be practical. It would help if you ensured the design is feasible and can be implemented within the budget and timeline.

Once you have a final design, you must get user feedback . This can be done through user interviews, surveys, and usability testing. The feedback from users will help you refine the design and ensure it meets their needs.

The analysis and design stage is an essential stage in the iterative process. By analyzing the user needs and developing a good design, you will be well on your way to creating a successful product or service.

Implementation: In this stage, you will build the product or service according to the design.

It is essential to be organized and efficient during the implementation stage. You must ensure that you follow the design and meet the project goals and objectives.

You may also need to change the design during the implementation stage. This is normal; you will learn more about the product or service as you build it.

Testing: In this stage, you will test the product or service with users and get feedback.

You can test the product or service in a variety of ways, such as:

  • User interviews
  • Usability testing
  • Beta testing

Users’ feedback will help you improve the product or service before it is released to the public.

Evaluation and review: In this stage, you will evaluate the testing results and make necessary changes.

The evaluation and review stage is an iterative process. You may need to go back to the implementation stage and make changes to the design, or you may need to go back to the planning and requirements stage and change the project goals and objectives.

The evaluation and review stage aims to create a product or service that meets the users’ needs.

Using an iterative process can bring about some fantastic advantages. It’s like taking small steps forward, refining and improving as you go. Let’s dive into the benefits of this approach:

  • Continuous Refinement: With an iterative process, you don’t have to wait until the end to see results. You get to refine and enhance your work step by step. It’s like shaping a sculpture, ensuring every detail is exemplary.
  • Adaptability: Life isn’t always predictable, and neither are projects. Iteration allows you to adapt to changes more quickly. You can tweak and adjust as you progress, ensuring your result aligns better with evolving needs.
  • Learning and Growth: Each iteration is a chance to learn. Mistakes become stepping stones, guiding you toward better solutions. It’s a growth journey where you build on what you’ve learned in previous rounds.
  • Feedback Integration: Iteration welcomes feedback with open arms. You can incorporate insights from users, stakeholders, or team members early on, ensuring your end product aligns more with expectations.
  • Reduced Risks: It’s like testing the waters before diving in. Iterative processes help identify risks sooner rather than later. This means you can tackle challenges in manageable chunks, minimizing potential fallout.
  • Increased Flexibility: Traditional linear approaches can feel rigid. Iteration offers a more flexible framework, allowing you to pivot if needed. You’re not locked into a single path; you can explore different avenues as you progress.
  • Faster Results: Instead of waiting for a big reveal at the end, you get usable results at every iteration. This means you can start deriving value sooner, whether a product, a project milestone, or a creative endeavor.
  • Boosted Collaboration: Iteration promotes collaboration and communication. It’s easier to keep everyone on the same page when you’re working in smaller cycles. This fosters a sense of teamwork and shared ownership.
  • User-Centric Approach: Iteration often involves direct interaction with users or customers. This helps you create a product tailored to their needs rather than assuming what they want.
  • Quality Enhancement: Incremental improvements lead to a higher-quality outcome. It’s like polishing a gem – each iteration brings it closer to its full potential.

In a nutshell, embracing an iterative process is about embracing change, growth, and the beauty of gradual but steady progress. It’s not just about the destination; it’s about the fulfilling journey to get there.

Here is an example of an iterative process:

A software company is developing a new mobile app. The company starts by defining the project goals and objectives and identifying the user needs. They then conduct user interviews and surveys better to understand the users’ pain points and goals.

Once they understand the user’s needs, the company starts to develop a design for the app. They create wireframes, prototypes, and mockups to get feedback from users. They also begin to build the user interface (UI) and user experience (UX) design.

After getting user feedback, the company changed the design and implemented the app. They test the app with users to get feedback and make further changes. Once satisfied with the app, they release it to the public.

The company continues to monitor the app and get feedback from users. 

They make changes to the app as needed to improve the user experience. This iterative process ensures that the app always meets users’ needs.

Let’s look at some other examples of iterative processes:

  • Product design: A product designer might start with a rough product sketch, then create a prototype, test it with users, and make changes based on the feedback. This process might be repeated several times until the product is finalized.
  • Software development: A software developer might start with a high-level software application design, then break it down into smaller components and develop each component one at a time. The developer might also get feedback from users at each stage of the development process.
  • Research: A researcher might start with a hypothesis, then research to test the theory. The researcher might collect data, analyze the data, and make changes to the idea based on the analysis results. This process might be repeated several times until the researcher is confident in the results.

Iterative processes, such as product design and software development, are often used in creative fields. They are also used in research and other areas where getting feedback and making changes as needed is essential.

Navigating an iterative process comes with its fair share of challenges. While it offers many benefits, knowing the hurdles you might encounter is essential. Let’s explore some of these challenges:

  • Time Management: Breaking a project into iterations means managing time effectively for each cycle. It can be a juggling act to ensure you’re making steady progress without rushing or dragging things out.
  • Scope Creep: With each iteration, the scope can be expanded beyond the original plan. While adapting is a strength of iteration, it’s essential to strike a balance so you don’t get overwhelmed.
  • Communication Complexity: Frequent iterations require clear and consistent communication among team members and stakeholders. Ensuring everyone is on the same page can be demanding, especially in larger projects.
  • Resource Allocation: Properly allocating resources for each iteration is crucial. Balancing workforce, time, and tools while avoiding burnout can be challenging, especially if priorities shift.
  • Resistance to Change: Some team members or stakeholders might resist the iterative approach. Adapting to frequent updates and changes can be uncomfortable for those who prefer more structured workflows.
  • Data Overload: Gathering and analyzing feedback after each iteration can lead to information overload. It’s essential to extract actionable insights while not getting bogged down by too much data.
  • Risk of Redundancy: Repeating similar tasks across iterations can lead to redundancy if not managed carefully. It’s essential to strike a balance between refining and revisiting.
  • Testing Complexities: Frequent changes can make testing more challenging. Ensuring the end product is thoroughly tested, and bug-free becomes an intricate process.
  • Lack of Big-Picture View: While focusing on the details of each iteration, there’s a risk of losing sight of the bigger picture. Regularly reassessing how each iteration contributes to the overall goal is essential.
  • Client Expectations: Iterative processes might be unfamiliar to clients who are used to traditional approaches. Managing their expectations and helping them understand the value of ongoing improvements can be demanding.
  • Skill Requirement: Effective iteration requires adaptability, quick decision-making, and continuous learning. Not all team members may possess these skills naturally.
  • Pressure for Results: Frequent iterations can create pressure to deliver visible results after each cycle. Managing expectations while ensuring quality can be a delicate balance.

Despite these challenges, embracing an iterative approach is about learning and growth. Each challenge presents an opportunity to refine your process, improve collaboration, and create a product more aligned with your vision.

In conclusion, an iterative process is a dynamic and cyclical approach to problem-solving and project development. It involves breaking down tasks into manageable cycles, each consisting of planning, execution, feedback, and refinement. 

This method emphasizes constant learning, adaptation, and improvement, allowing for the incorporation of new insights and adjustments at every stage. 

By embracing an iterative process, individuals and teams can navigate challenges more effectively, enhance collaboration, and ultimately achieve higher quality and innovation in their endeavors.

More Like This :-

  • What is Deployment? Meaning and Process
  • What Is Product Research? Definition & Process
  • Project Management Methodologies: Choose the Right One

An iterative process might not be suitable when strict deadlines or fixed budgets demand a linear, predefined path, making frequent changes and adaptations less feasible.

While both involve progressive development, an iterative process focuses on refining the entire project in each cycle, considering user feedback and making holistic adjustments. In contrast, incremental design linearly adds new features, building upon the existing foundation without revisiting previous components as extensively.

Crafting great product requires great tools. Try Chisel today, it's free forever.

  • Product overview
  • All features
  • App integrations

CAPABILITIES

  • project icon Project management
  • Project views
  • Custom fields
  • Status updates
  • goal icon Goals and reporting
  • Reporting dashboards
  • workflow icon Workflows and automation
  • portfolio icon Resource management
  • Capacity planning
  • Time tracking
  • my-task icon Admin and security
  • Admin console
  • asana-intelligence icon Asana AI
  • list icon Personal
  • premium icon Starter
  • briefcase icon Advanced
  • Goal management
  • Organizational planning
  • Campaign management
  • Creative production
  • Content calendars
  • Marketing strategic planning
  • Resource planning
  • Project intake
  • Product launches
  • Employee onboarding
  • View all uses arrow-right icon
  • Project plans
  • Team goals & objectives
  • Team continuity
  • Meeting agenda
  • View all templates arrow-right icon
  • Work management resources Discover best practices, watch webinars, get insights
  • What's new Learn about the latest and greatest from Asana
  • Customer stories See how the world's best organizations drive work innovation with Asana
  • Help Center Get lots of tips, tricks, and advice to get the most from Asana
  • Asana Academy Sign up for interactive courses and webinars to learn Asana
  • Developers Learn more about building apps on the Asana platform
  • Community programs Connect with and learn from Asana customers around the world
  • Events Find out about upcoming events near you
  • Partners Learn more about our partner programs
  • Support Need help? Contact the Asana support team
  • Asana for nonprofits Get more information on our nonprofit discount program, and apply.

Featured Reads

what is iterative problem solving

  • Understanding the iterative process, wi ...

Understanding the iterative process, with examples

Julia Martins contributor headshot

If you want to give the iterative process a try, this article is for you. We’ll walk you through how to define the iterative process, as well as how to implement this process on your own team. 

What is the iterative process? 

The iterative process is the practice of building, refining, and improving a project, product, or initiative. Teams that use the iterative development process create, test, and revise until they’re satisfied with the end result. You can think of an iterative process as a trial-and-error methodology that brings your project closer to its end goal. 

Iterative processes are a fundamental part of lean methodologies and Agile project management —but these processes can be implemented by any team, not just Agile ones. During the iterative process, you will continually improve your design, product, or project until you and your team are satisfied with the final project deliverable .

So what is a non-iterative process? 

In a non-iterative process, you and your team would work together to come up with a final product without necessarily trying new ideas along the way. Typically, non-iterative processes require more time during the conceptualization and creation phase, so that everything works as intended during the testing phase. 

Waterfall is the most common non-iterative process. In the waterfall model, you and your team will define project phases before the project starts. Each phase begins once a previous phase is completed in its entirety. Requirements and resources will typically be locked before a project begins, and the team avoids changing the project plan as much as possible. 

For example, imagine you’re working with a design agency to create an ebook. You first need to provide all of the copy for the ebook. Then, the design agency will take that copy and create designs. Finally, your internal team will copyedit the designed ebook to make sure everything looks ok. This is an example of the waterfall model because each phase relies on the previous step (i.e. you can’t copyedit the designed ebook until it’s been designed).

Depending on the team you’re on and the type of projects you run, non-iterative processes can be challenging because they don’t build in time for your team to iterate and continuously improve. Because there are so many unknowns and surprises in engineering, engineering teams in particular tend to use iterative processes instead of non-iterative ones, but any team can benefit. 

Is incremental design the same thing as iterative processes? 

Most teams use incremental design and iterative processes interchangeably, and in practice, they often go hand-in-hand. But there is a difference between the two terms.

In an iterative process, your team works to refine and improve your project based on feedback or new information. The key to the iterative process is trial and error: the project gets better over time as a result of these changes. 

In incremental design—sometimes called incremental development—you will add new features and build better things on top of your first version or deliverable. To run an incremental design process, teams will purposefully produce a bare-bones version of their ultimate project deliverable in order to get it out the door as quickly as possible (like Facebook’s old mantra—move fast and break things). Then, the team will iterate and improve upon the initial version by creating increments that include more features than the initial version. They will continue to do so until their deliverable has all of the functionality it needs to have. 

Most teams that use iterative processes use incremental design and vice versa. Good iterative processes are also incremental so that you can continuously improve on your original deliverable. Good incremental design is also iterative because you need to be able to respond to customer feedback and pivot if necessary.

Example iterative processes

Engineering.

Many engineering teams use the iterative process to develop new features, implement bug fixes, or A/B test new strategies. Often, an engineering team will create a few iterations that they think are equally promising, then test them with users. They’ll note pain points and successes, and then continue building out the one that tested the best.

Product development

You might be surprised to realize that most product development is very iterative. Think of any personal technology you’ve ever purchased for yourself—there was likely a previous version before the one you bought, and maybe a version afterwards, as well. Think of the development of mobile phones throughout the years, how speakers have gotten smaller and more portable over time, or even the way refrigerators from the same brands have changed to adapt to new family needs. All of these are iterative processes. 

Some marketing teams embrace iterative processes, others not so much. But to a certain extent, a lot of marketing is iterative. For example, some marketing teams might test different advertising copy to see which one gets better engagement, or send out two versions of an email newsletter to compare click-through rates. Alternatively, a brand marketing team could use iterative design processes to identify the imagery that works best for their target audience.

Though most of a sales team’s customer-facing work isn’t iterative, some of their tasks can benefit from iterative processes. For example, a sales team might take an iterative approach to sending cold emails. They might have their reps send a few different email subject lines and analyze the results. Then, the team can implement the most successful subject lines moving forward.

The 5 steps of the iterative process

The iterative process can help you during the lifecycle of a project. During the steps of the iterative process, your goals and requirements will serve as the project’s starting point. Then, your team will use testing, prototyping, and iteration to achieve the best possible result. Here’s how:

1. Planning and requirements

During this step in the iterative process, you will define your project plan and align on your overall project objectives . This is the stage where you will outline any hard requirements—things that must happen in order for your project to succeed. Without this step, you run the risk of iterating but not hitting your goals. 

2. Analysis and design

During this step, you and your team will focus on the business needs and technical requirements of your project. If step one was the process of outlining your goals, step two is when you brainstorm a design that will help you ultimately hit those goals. 

3. Implementation

During the third step, your team will create the first iteration of your project deliverable . This iteration will be informed by your analysis and design, and should work to hit your ultimate project objective. The level of detail and time you spend on this iteration will depend on the project.

Now that you have an iteration, you will test it in whatever way makes the most sense. If you’re working on an improvement to a web page, for example, you might want to A/B test it against your current web page. If you’re creating a new product or feature, consider doing usability testing with a set of potential customers. 

In addition to testing, you should also check in with your project stakeholders . Ask them to weigh in on the iteration, and provide any feedback . 

5. Evaluation and review 

After testing, your team will evaluate the success of the iteration and align on anything that needs to change. Does this iteration achieve your project objectives? Why, or why not? If something needs to change, you can restart the iterative process by going back to step two to create the next iteration. Keep in mind that your initial planning and goals should remain the same for all iterations. Continue building upon the previous iteration until you get to a deliverable you’re happy with.

If you restart the iterative process, make sure everyone is still aligned on your project goals. The iterative process can take weeks or months, depending on how many iterations you run through. Centering your iteration on your project objectives every time you restart the iterative process can help you ensure you don't lose track of your north star.

The benefits and challenges of the iterative process

The iterative model isn’t right for every team—or every project. Here are the main pros and cons of the iterative process for your team.

Increased efficiency. Because the iterative process embraces trial and error, it can often help you achieve your desired result faster than a non-iterative process. 

Increased collaboration. Instead of working from predetermined plans and specs (which also takes a lot of time to create), your team is actively working together.

Increased adaptability. As you learn new things during the implementation and testing phases, you can tweak your iteration to best hit your goals—even if that means doing something you didn’t expect to be doing at the start of the iterative process. 

More cost effective. If you need to change the scope of the project, you’ll only have invested the minimum time and effort into the process. 

Ability to work in parallel. Unlike other, non-iterative methodologies like the waterfall method, iterations aren’t necessarily dependent on the work that comes before them. Team members can work on several elements of the project in parallel, which can shorten your overall timeline. 

Reduced project-level risk . In the iterative process, risks are identified and addressed during each iteration. Instead of solving for large risks at the beginning and end of the project, you’re consistently working to resolve low-level risks.

More reliable user feedback. When you have an iteration that users can interact with or see, they’re able to give you incremental feedback about what works or doesn’t work for them.

Increased risk of scope creep . Because of the trial-and-error nature of the iterative process, your project could develop in ways you didn’t expect and exceed your original project scope . 

Inflexible planning and requirements. The first step of the iterative process is to define your project requirements. Changing these requirements during the iterative process can break the flow of your work, and cause you to create iterations that don’t serve your project’s purpose.

Vague timelines. Because team members will create, test, and revise iterations until they get to a satisfying solution, the iterative timeline isn’t clearly defined. Additionally, testing for different increments can vary in length, which also impacts the overall iterative process timeline. 

Try, trial, and try again

Ultimately, every team can learn something from the iterative process. When possible, approach work with a trial-and-error mentality. When in doubt, lean into flexibility and collaboration. And—whether or not you implement the iterative method—always strive for continuous improvement in your work. 

For more tips, read our article on 25 essential project management skills .

Related resources

what is iterative problem solving

What is technical debt and how to pay it off (with examples)

what is iterative problem solving

6 ways to develop adaptability in the workplace and embrace change

what is iterative problem solving

Burndown chart: What it is and how to use it (with example)

what is iterative problem solving

What are story points? Six easy steps to estimate work in Agile

How to master the seven-step problem-solving process

In this episode of the McKinsey Podcast , Simon London speaks with Charles Conn, CEO of venture-capital firm Oxford Sciences Innovation, and McKinsey senior partner Hugo Sarrazin about the complexities of different problem-solving strategies.

Podcast transcript

Simon London: Hello, and welcome to this episode of the McKinsey Podcast , with me, Simon London. What’s the number-one skill you need to succeed professionally? Salesmanship, perhaps? Or a facility with statistics? Or maybe the ability to communicate crisply and clearly? Many would argue that at the very top of the list comes problem solving: that is, the ability to think through and come up with an optimal course of action to address any complex challenge—in business, in public policy, or indeed in life.

Looked at this way, it’s no surprise that McKinsey takes problem solving very seriously, testing for it during the recruiting process and then honing it, in McKinsey consultants, through immersion in a structured seven-step method. To discuss the art of problem solving, I sat down in California with McKinsey senior partner Hugo Sarrazin and also with Charles Conn. Charles is a former McKinsey partner, entrepreneur, executive, and coauthor of the book Bulletproof Problem Solving: The One Skill That Changes Everything [John Wiley & Sons, 2018].

Charles and Hugo, welcome to the podcast. Thank you for being here.

Hugo Sarrazin: Our pleasure.

Charles Conn: It’s terrific to be here.

Simon London: Problem solving is a really interesting piece of terminology. It could mean so many different things. I have a son who’s a teenage climber. They talk about solving problems. Climbing is problem solving. Charles, when you talk about problem solving, what are you talking about?

Charles Conn: For me, problem solving is the answer to the question “What should I do?” It’s interesting when there’s uncertainty and complexity, and when it’s meaningful because there are consequences. Your son’s climbing is a perfect example. There are consequences, and it’s complicated, and there’s uncertainty—can he make that grab? I think we can apply that same frame almost at any level. You can think about questions like “What town would I like to live in?” or “Should I put solar panels on my roof?”

You might think that’s a funny thing to apply problem solving to, but in my mind it’s not fundamentally different from business problem solving, which answers the question “What should my strategy be?” Or problem solving at the policy level: “How do we combat climate change?” “Should I support the local school bond?” I think these are all part and parcel of the same type of question, “What should I do?”

I’m a big fan of structured problem solving. By following steps, we can more clearly understand what problem it is we’re solving, what are the components of the problem that we’re solving, which components are the most important ones for us to pay attention to, which analytic techniques we should apply to those, and how we can synthesize what we’ve learned back into a compelling story. That’s all it is, at its heart.

I think sometimes when people think about seven steps, they assume that there’s a rigidity to this. That’s not it at all. It’s actually to give you the scope for creativity, which often doesn’t exist when your problem solving is muddled.

Simon London: You were just talking about the seven-step process. That’s what’s written down in the book, but it’s a very McKinsey process as well. Without getting too deep into the weeds, let’s go through the steps, one by one. You were just talking about problem definition as being a particularly important thing to get right first. That’s the first step. Hugo, tell us about that.

Hugo Sarrazin: It is surprising how often people jump past this step and make a bunch of assumptions. The most powerful thing is to step back and ask the basic questions—“What are we trying to solve? What are the constraints that exist? What are the dependencies?” Let’s make those explicit and really push the thinking and defining. At McKinsey, we spend an enormous amount of time in writing that little statement, and the statement, if you’re a logic purist, is great. You debate. “Is it an ‘or’? Is it an ‘and’? What’s the action verb?” Because all these specific words help you get to the heart of what matters.

Want to subscribe to The McKinsey Podcast ?

Simon London: So this is a concise problem statement.

Hugo Sarrazin: Yeah. It’s not like “Can we grow in Japan?” That’s interesting, but it is “What, specifically, are we trying to uncover in the growth of a product in Japan? Or a segment in Japan? Or a channel in Japan?” When you spend an enormous amount of time, in the first meeting of the different stakeholders, debating this and having different people put forward what they think the problem definition is, you realize that people have completely different views of why they’re here. That, to me, is the most important step.

Charles Conn: I would agree with that. For me, the problem context is critical. When we understand “What are the forces acting upon your decision maker? How quickly is the answer needed? With what precision is the answer needed? Are there areas that are off limits or areas where we would particularly like to find our solution? Is the decision maker open to exploring other areas?” then you not only become more efficient, and move toward what we call the critical path in problem solving, but you also make it so much more likely that you’re not going to waste your time or your decision maker’s time.

How often do especially bright young people run off with half of the idea about what the problem is and start collecting data and start building models—only to discover that they’ve really gone off half-cocked.

Hugo Sarrazin: Yeah.

Charles Conn: And in the wrong direction.

Simon London: OK. So step one—and there is a real art and a structure to it—is define the problem. Step two, Charles?

Charles Conn: My favorite step is step two, which is to use logic trees to disaggregate the problem. Every problem we’re solving has some complexity and some uncertainty in it. The only way that we can really get our team working on the problem is to take the problem apart into logical pieces.

What we find, of course, is that the way to disaggregate the problem often gives you an insight into the answer to the problem quite quickly. I love to do two or three different cuts at it, each one giving a bit of a different insight into what might be going wrong. By doing sensible disaggregations, using logic trees, we can figure out which parts of the problem we should be looking at, and we can assign those different parts to team members.

Simon London: What’s a good example of a logic tree on a sort of ratable problem?

Charles Conn: Maybe the easiest one is the classic profit tree. Almost in every business that I would take a look at, I would start with a profit or return-on-assets tree. In its simplest form, you have the components of revenue, which are price and quantity, and the components of cost, which are cost and quantity. Each of those can be broken out. Cost can be broken into variable cost and fixed cost. The components of price can be broken into what your pricing scheme is. That simple tree often provides insight into what’s going on in a business or what the difference is between that business and the competitors.

If we add the leg, which is “What’s the asset base or investment element?”—so profit divided by assets—then we can ask the question “Is the business using its investments sensibly?” whether that’s in stores or in manufacturing or in transportation assets. I hope we can see just how simple this is, even though we’re describing it in words.

When I went to work with Gordon Moore at the Moore Foundation, the problem that he asked us to look at was “How can we save Pacific salmon?” Now, that sounds like an impossible question, but it was amenable to precisely the same type of disaggregation and allowed us to organize what became a 15-year effort to improve the likelihood of good outcomes for Pacific salmon.

Simon London: Now, is there a danger that your logic tree can be impossibly large? This, I think, brings us onto the third step in the process, which is that you have to prioritize.

Charles Conn: Absolutely. The third step, which we also emphasize, along with good problem definition, is rigorous prioritization—we ask the questions “How important is this lever or this branch of the tree in the overall outcome that we seek to achieve? How much can I move that lever?” Obviously, we try and focus our efforts on ones that have a big impact on the problem and the ones that we have the ability to change. With salmon, ocean conditions turned out to be a big lever, but not one that we could adjust. We focused our attention on fish habitats and fish-harvesting practices, which were big levers that we could affect.

People spend a lot of time arguing about branches that are either not important or that none of us can change. We see it in the public square. When we deal with questions at the policy level—“Should you support the death penalty?” “How do we affect climate change?” “How can we uncover the causes and address homelessness?”—it’s even more important that we’re focusing on levers that are big and movable.

Would you like to learn more about our Strategy & Corporate Finance Practice ?

Simon London: Let’s move swiftly on to step four. You’ve defined your problem, you disaggregate it, you prioritize where you want to analyze—what you want to really look at hard. Then you got to the work plan. Now, what does that mean in practice?

Hugo Sarrazin: Depending on what you’ve prioritized, there are many things you could do. It could be breaking the work among the team members so that people have a clear piece of the work to do. It could be defining the specific analyses that need to get done and executed, and being clear on time lines. There’s always a level-one answer, there’s a level-two answer, there’s a level-three answer. Without being too flippant, I can solve any problem during a good dinner with wine. It won’t have a whole lot of backing.

Simon London: Not going to have a lot of depth to it.

Hugo Sarrazin: No, but it may be useful as a starting point. If the stakes are not that high, that could be OK. If it’s really high stakes, you may need level three and have the whole model validated in three different ways. You need to find a work plan that reflects the level of precision, the time frame you have, and the stakeholders you need to bring along in the exercise.

Charles Conn: I love the way you’ve described that, because, again, some people think of problem solving as a linear thing, but of course what’s critical is that it’s iterative. As you say, you can solve the problem in one day or even one hour.

Charles Conn: We encourage our teams everywhere to do that. We call it the one-day answer or the one-hour answer. In work planning, we’re always iterating. Every time you see a 50-page work plan that stretches out to three months, you know it’s wrong. It will be outmoded very quickly by that learning process that you described. Iterative problem solving is a critical part of this. Sometimes, people think work planning sounds dull, but it isn’t. It’s how we know what’s expected of us and when we need to deliver it and how we’re progressing toward the answer. It’s also the place where we can deal with biases. Bias is a feature of every human decision-making process. If we design our team interactions intelligently, we can avoid the worst sort of biases.

Simon London: Here we’re talking about cognitive biases primarily, right? It’s not that I’m biased against you because of your accent or something. These are the cognitive biases that behavioral sciences have shown we all carry around, things like anchoring, overoptimism—these kinds of things.

Both: Yeah.

Charles Conn: Availability bias is the one that I’m always alert to. You think you’ve seen the problem before, and therefore what’s available is your previous conception of it—and we have to be most careful about that. In any human setting, we also have to be careful about biases that are based on hierarchies, sometimes called sunflower bias. I’m sure, Hugo, with your teams, you make sure that the youngest team members speak first. Not the oldest team members, because it’s easy for people to look at who’s senior and alter their own creative approaches.

Hugo Sarrazin: It’s helpful, at that moment—if someone is asserting a point of view—to ask the question “This was true in what context?” You’re trying to apply something that worked in one context to a different one. That can be deadly if the context has changed, and that’s why organizations struggle to change. You promote all these people because they did something that worked well in the past, and then there’s a disruption in the industry, and they keep doing what got them promoted even though the context has changed.

Simon London: Right. Right.

Hugo Sarrazin: So it’s the same thing in problem solving.

Charles Conn: And it’s why diversity in our teams is so important. It’s one of the best things about the world that we’re in now. We’re likely to have people from different socioeconomic, ethnic, and national backgrounds, each of whom sees problems from a slightly different perspective. It is therefore much more likely that the team will uncover a truly creative and clever approach to problem solving.

Simon London: Let’s move on to step five. You’ve done your work plan. Now you’ve actually got to do the analysis. The thing that strikes me here is that the range of tools that we have at our disposal now, of course, is just huge, particularly with advances in computation, advanced analytics. There’s so many things that you can apply here. Just talk about the analysis stage. How do you pick the right tools?

Charles Conn: For me, the most important thing is that we start with simple heuristics and explanatory statistics before we go off and use the big-gun tools. We need to understand the shape and scope of our problem before we start applying these massive and complex analytical approaches.

Simon London: Would you agree with that?

Hugo Sarrazin: I agree. I think there are so many wonderful heuristics. You need to start there before you go deep into the modeling exercise. There’s an interesting dynamic that’s happening, though. In some cases, for some types of problems, it is even better to set yourself up to maximize your learning. Your problem-solving methodology is test and learn, test and learn, test and learn, and iterate. That is a heuristic in itself, the A/B testing that is used in many parts of the world. So that’s a problem-solving methodology. It’s nothing different. It just uses technology and feedback loops in a fast way. The other one is exploratory data analysis. When you’re dealing with a large-scale problem, and there’s so much data, I can get to the heuristics that Charles was talking about through very clever visualization of data.

You test with your data. You need to set up an environment to do so, but don’t get caught up in neural-network modeling immediately. You’re testing, you’re checking—“Is the data right? Is it sound? Does it make sense?”—before you launch too far.

Simon London: You do hear these ideas—that if you have a big enough data set and enough algorithms, they’re going to find things that you just wouldn’t have spotted, find solutions that maybe you wouldn’t have thought of. Does machine learning sort of revolutionize the problem-solving process? Or are these actually just other tools in the toolbox for structured problem solving?

Charles Conn: It can be revolutionary. There are some areas in which the pattern recognition of large data sets and good algorithms can help us see things that we otherwise couldn’t see. But I do think it’s terribly important we don’t think that this particular technique is a substitute for superb problem solving, starting with good problem definition. Many people use machine learning without understanding algorithms that themselves can have biases built into them. Just as 20 years ago, when we were doing statistical analysis, we knew that we needed good model definition, we still need a good understanding of our algorithms and really good problem definition before we launch off into big data sets and unknown algorithms.

Simon London: Step six. You’ve done your analysis.

Charles Conn: I take six and seven together, and this is the place where young problem solvers often make a mistake. They’ve got their analysis, and they assume that’s the answer, and of course it isn’t the answer. The ability to synthesize the pieces that came out of the analysis and begin to weave those into a story that helps people answer the question “What should I do?” This is back to where we started. If we can’t synthesize, and we can’t tell a story, then our decision maker can’t find the answer to “What should I do?”

Simon London: But, again, these final steps are about motivating people to action, right?

Charles Conn: Yeah.

Simon London: I am slightly torn about the nomenclature of problem solving because it’s on paper, right? Until you motivate people to action, you actually haven’t solved anything.

Charles Conn: I love this question because I think decision-making theory, without a bias to action, is a waste of time. Everything in how I approach this is to help people take action that makes the world better.

Simon London: Hence, these are absolutely critical steps. If you don’t do this well, you’ve just got a bunch of analysis.

Charles Conn: We end up in exactly the same place where we started, which is people speaking across each other, past each other in the public square, rather than actually working together, shoulder to shoulder, to crack these important problems.

Simon London: In the real world, we have a lot of uncertainty—arguably, increasing uncertainty. How do good problem solvers deal with that?

Hugo Sarrazin: At every step of the process. In the problem definition, when you’re defining the context, you need to understand those sources of uncertainty and whether they’re important or not important. It becomes important in the definition of the tree.

You need to think carefully about the branches of the tree that are more certain and less certain as you define them. They don’t have equal weight just because they’ve got equal space on the page. Then, when you’re prioritizing, your prioritization approach may put more emphasis on things that have low probability but huge impact—or, vice versa, may put a lot of priority on things that are very likely and, hopefully, have a reasonable impact. You can introduce that along the way. When you come back to the synthesis, you just need to be nuanced about what you’re understanding, the likelihood.

Often, people lack humility in the way they make their recommendations: “This is the answer.” They’re very precise, and I think we would all be well-served to say, “This is a likely answer under the following sets of conditions” and then make the level of uncertainty clearer, if that is appropriate. It doesn’t mean you’re always in the gray zone; it doesn’t mean you don’t have a point of view. It just means that you can be explicit about the certainty of your answer when you make that recommendation.

Simon London: So it sounds like there is an underlying principle: “Acknowledge and embrace the uncertainty. Don’t pretend that it isn’t there. Be very clear about what the uncertainties are up front, and then build that into every step of the process.”

Hugo Sarrazin: Every step of the process.

Simon London: Yeah. We have just walked through a particular structured methodology for problem solving. But, of course, this is not the only structured methodology for problem solving. One that is also very well-known is design thinking, which comes at things very differently. So, Hugo, I know you have worked with a lot of designers. Just give us a very quick summary. Design thinking—what is it, and how does it relate?

Hugo Sarrazin: It starts with an incredible amount of empathy for the user and uses that to define the problem. It does pause and go out in the wild and spend an enormous amount of time seeing how people interact with objects, seeing the experience they’re getting, seeing the pain points or joy—and uses that to infer and define the problem.

Simon London: Problem definition, but out in the world.

Hugo Sarrazin: With an enormous amount of empathy. There’s a huge emphasis on empathy. Traditional, more classic problem solving is you define the problem based on an understanding of the situation. This one almost presupposes that we don’t know the problem until we go see it. The second thing is you need to come up with multiple scenarios or answers or ideas or concepts, and there’s a lot of divergent thinking initially. That’s slightly different, versus the prioritization, but not for long. Eventually, you need to kind of say, “OK, I’m going to converge again.” Then you go and you bring things back to the customer and get feedback and iterate. Then you rinse and repeat, rinse and repeat. There’s a lot of tactile building, along the way, of prototypes and things like that. It’s very iterative.

Simon London: So, Charles, are these complements or are these alternatives?

Charles Conn: I think they’re entirely complementary, and I think Hugo’s description is perfect. When we do problem definition well in classic problem solving, we are demonstrating the kind of empathy, at the very beginning of our problem, that design thinking asks us to approach. When we ideate—and that’s very similar to the disaggregation, prioritization, and work-planning steps—we do precisely the same thing, and often we use contrasting teams, so that we do have divergent thinking. The best teams allow divergent thinking to bump them off whatever their initial biases in problem solving are. For me, design thinking gives us a constant reminder of creativity, empathy, and the tactile nature of problem solving, but it’s absolutely complementary, not alternative.

Simon London: I think, in a world of cross-functional teams, an interesting question is do people with design-thinking backgrounds really work well together with classical problem solvers? How do you make that chemistry happen?

Hugo Sarrazin: Yeah, it is not easy when people have spent an enormous amount of time seeped in design thinking or user-centric design, whichever word you want to use. If the person who’s applying classic problem-solving methodology is very rigid and mechanical in the way they’re doing it, there could be an enormous amount of tension. If there’s not clarity in the role and not clarity in the process, I think having the two together can be, sometimes, problematic.

The second thing that happens often is that the artifacts the two methodologies try to gravitate toward can be different. Classic problem solving often gravitates toward a model; design thinking migrates toward a prototype. Rather than writing a big deck with all my supporting evidence, they’ll bring an example, a thing, and that feels different. Then you spend your time differently to achieve those two end products, so that’s another source of friction.

Now, I still think it can be an incredibly powerful thing to have the two—if there are the right people with the right mind-set, if there is a team that is explicit about the roles, if we’re clear about the kind of outcomes we are attempting to bring forward. There’s an enormous amount of collaborativeness and respect.

Simon London: But they have to respect each other’s methodology and be prepared to flex, maybe, a little bit, in how this process is going to work.

Hugo Sarrazin: Absolutely.

Simon London: The other area where, it strikes me, there could be a little bit of a different sort of friction is this whole concept of the day-one answer, which is what we were just talking about in classical problem solving. Now, you know that this is probably not going to be your final answer, but that’s how you begin to structure the problem. Whereas I would imagine your design thinkers—no, they’re going off to do their ethnographic research and get out into the field, potentially for a long time, before they come back with at least an initial hypothesis.

Want better strategies? Become a bulletproof problem solver

Want better strategies? Become a bulletproof problem solver

Hugo Sarrazin: That is a great callout, and that’s another difference. Designers typically will like to soak into the situation and avoid converging too quickly. There’s optionality and exploring different options. There’s a strong belief that keeps the solution space wide enough that you can come up with more radical ideas. If there’s a large design team or many designers on the team, and you come on Friday and say, “What’s our week-one answer?” they’re going to struggle. They’re not going to be comfortable, naturally, to give that answer. It doesn’t mean they don’t have an answer; it’s just not where they are in their thinking process.

Simon London: I think we are, sadly, out of time for today. But Charles and Hugo, thank you so much.

Charles Conn: It was a pleasure to be here, Simon.

Hugo Sarrazin: It was a pleasure. Thank you.

Simon London: And thanks, as always, to you, our listeners, for tuning into this episode of the McKinsey Podcast . If you want to learn more about problem solving, you can find the book, Bulletproof Problem Solving: The One Skill That Changes Everything , online or order it through your local bookstore. To learn more about McKinsey, you can of course find us at McKinsey.com.

Charles Conn is CEO of Oxford Sciences Innovation and an alumnus of McKinsey’s Sydney office. Hugo Sarrazin is a senior partner in the Silicon Valley office, where Simon London, a member of McKinsey Publishing, is also based.

Explore a career with us

Related articles.

Want better strategies? Become a bulletproof problem solver

Strategy to beat the odds

firo13_frth

Five routes to more innovative problem solving

  • DSA Tutorial
  • Data Structures
  • Linked List
  • Dynamic Programming
  • Binary Tree
  • Binary Search Tree
  • Divide & Conquer
  • Mathematical
  • Backtracking
  • Branch and Bound
  • Pattern Searching
  • Introduction to Recursion
  • What is Recursion?

Difference between Recursion and Iteration

  • Types of Recursions
  • Finite and Infinite Recursion with examples
  • What is Tail Recursion
  • What is Implicit recursion?
  • Why is Tail Recursion optimization faster than normal Recursion?
  • Recursive Functions
  • Difference Between Recursion and Induction

Recursion in different languages

  • Recursion in Python
  • Recursion in Java
  • Recursion in C#
  • How to Understand Recursion in JavaScript ?

Standard Problems on Recursion

  • Program for Tower of Hanoi Algorithm
  • Time Complexity Analysis | Tower Of Hanoi (Recursion)
  • Find the value of a number raised to its reverse
  • Recursively remove all adjacent duplicates
  • Print 1 to n without using loops
  • Print N to 1 without loop
  • Sort the Queue using Recursion
  • Reversing a queue using recursion
  • Mean of array using recursion
  • Binary to Gray code using recursion
  • Sum of natural numbers using recursion
  • Delete a linked list using recursion
  • Product of 2 Numbers using Recursion
  • Decimal to binary number using recursion
  • Sum of array elements using recursion
  • How to Sort a Stack using Recursion
  • Reverse a Doubly linked list using recursion
  • Programs for Printing Pyramid Patterns using Recursion
  • DFS traversal of a Tree
  • Length of longest palindromic sub-string : Recursion
  • Count Set-bits of number using Recursion
  • Print reverse of a string using recursion
  • Print Fibonacci Series in reverse order using Recursion
  • Java Program to Reverse a Sentence Using Recursion
  • Program for length of a string using recursion
  • Sum of digit of a number using recursion
  • Program to calculate value of nCr using Recursion
  • Find geometric sum of the series using recursion
  • Bottom View of a Binary Tree using Recursion
  • Convert a String to an Integer using Recursion
  • Tail recursion to calculate sum of array elements.

Practice Sets on Recursion

  • Recursive Practice Problems with Solutions
  • Practice Questions for Recursion | Set 1
  • Practice Questions for Recursion | Set 2
  • Practice Questions for Recursion | Set 3
  • Practice Questions for Recursion | Set 4
  • Practice Questions for Recursion | Set 5
  • Practice Questions for Recursion | Set 6
  • Practice Questions for Recursion | Set 7
  • Practice questions for Linked List and Recursion
  • Top MCQs on Recursion Algorithm with Answers

A program is called recursive when an entity calls itself. A program is called iterative when there is a loop (or repetition).

Example: Program to find the factorial of a number 

 
 
 

Time and Space Complexity

Below is a detailed explanation to illustrate the difference between the two using the above example. We will study the different aspects of both recursive and iterative approaches.

1. Time Complexity

The time complexity of the method may vary depending on whether the algorithm is implemented using recursion or iteration.

  • Recursion : The time complexity of recursion can be found by finding the value of the nth recursive call in terms of the previous calls. Thus, finding the destination case in terms of the base case, and solving in terms of the base case gives us an idea of the time complexity of recursive equations. Please see Solving Recurrences for more details.  
  • Iteration : The time complexity of iteration can be found by finding the number of cycles being repeated inside the loop. 

Usage of either of these techniques is a trade-off between time complexity and size of code. If time complexity is the point of focus, and the number of recursive calls would be large, it is better to use iteration. However, if time complexity is not an issue and shortness of code is, recursion would be the way to go.

  • Recursion : Recursion involves calling the same function again, and hence, has a very small length of code. However, as we saw in the analysis, the time complexity of recursion can get to be exponential when there are a considerable number of recursive calls. Hence, usage of recursion is advantageous in shorter code, but higher time complexity.  
  • Iteration : Iteration is the repetition of a block of code. This involves a larger size of code, but the time complexity is generally lesser than it is for recursion. 

3. Overhead

Recursion has a large amount of Overhead as compared to Iteration. 

  • Recursion : Recursion has the overhead of repeated function calls, that is due to the repetitive calling of the same function, the time complexity of the code increases manyfold.  
  • Iteration : Iteration does not involve any such overhead. 

4. Infinite Repetition

Infinite Repetition in recursion can lead to a CPU crash but in iteration, it will stop when memory is exhausted. 

  • Recursion : In Recursion, Infinite recursive calls may occur due to some mistake in specifying the base condition, which on never becoming false, keeps calling the function, which may lead to a system CPU crash.  
  • Iteration : Infinite iteration due to a mistake in iterator assignment or increment, or in the terminating condition, will lead to infinite loops, which may or may not lead to system errors, but will surely stop program execution any further.

Difference between Iteration and Recursion

The following table lists the major differences between iteration and recursion:

Property

Recursion

Iteration

Function calls itself. A set of instructions repeatedly executed.
For functions. For loops.
Through base case, where there will be no function call. When the termination condition for the iterator ceases to be satisfied.
Used when code size needs to be small, and time complexity is not an issue. Used when time complexity needs to be balanced against an expanded code size.
Smaller code size Larger Code Size.
Very high(generally exponential) time complexity. Relatively lower time complexity(generally polynomial-logarithmic).
The space complexity is higher than iterations. Space complexity is lower.
Here the stack is used to store local variables when the function is called. Stack is not used.
Execution is slow since it has the overhead of maintaining and updating the stack. Normally, it is faster than recursion as it doesn’t utilize the stack.
Recursion uses more memory as compared to iteration. Iteration uses less memory as compared to recursion.
Possesses overhead of repeated function calls. No overhead as there are no function calls in iteration.
If the recursive function does not meet to a termination condition or the base case is not defined or is never reached then it leads to a stack overflow error and there is a chance that the an system may crash in infinite recursion. If the control condition of the iteration statement never becomes false or the control variable does not reach the termination value, then it will cause infinite loop. On the infinite loop, it uses the CPU cycles again and again.

author

Please Login to comment...

Similar reads.

  • Technical Scripter
  • Algorithms-Recursion
  • Technical Scripter 2018

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

enjoyalgorithms

EnjoyMathematics

Difference Between Recursion and Iteration

In data structure and algorithms, iteration and recursion are two fundamental problem-solving approaches. Both involve executing instructions repeatedly until the task is finished. But there are significant differences between recursion and iteration in terms of thought processes, implementation approaches, analysis techniques, code complexity, and code performance.

Difference in terms of thought process

Sometimes, a coding problem can be solved using both iteration and recursion, but the choice of approach often depends on the nature of the problem and which one is more intuitive to use.

  • For example, recursion is often more natural for algorithms such as binary search, merge sort, quick sort, DFS traversal of a graph, etc. Similarly, approaches like backtracking and data structures like trees are often easier to understand using recursion.
  • On the other hand, many coding problems are more straightforward to solve using iteration. Recursive solutions may be challenging or impossible to understand in these cases. For example, insertion sort, heap sort, and BFS traversal of a graph or tree are often more efficiently implemented using iteration.

Ultimately, the decision between iteration and recursion depends on the specific problem being solved and which approach is more intuitive or efficient in that situation.

Popular recursive and iterative problem solving approaches in DSA

Difference in terms of implementation approach

Iteration is implemented using a loop, which consists of initialization, increment of loop variables, code inside the loop body, and termination conditions. In contrast, recursion is implemented using function calls and defined in terms of the number of sub-problems, input size of sub-problems, base cases, and additional operations required to combine solutions to the sub-problems.

  • In a recursive implementation, compiler uses call stack to store function calls to smaller sub-problems and keep track of the current state of the program.
  • It is possible to transform every recursive implementation into an iterative implementation using a stack (which is what the compiler does in the background).
  • In most cases, iterative implementation using a stack becomes more complex due to many input variables, additional operations, and complex nature of recursive calls. This means that changing a recursive algorithm to an iterative algorithm may require significant code modification, which can make the code more complicated or less maintainable.
  • There are some situations where recursion is simple and can be easily converted into iterative code using a stack. One idea that works well is to mimic what the compiler does. An excellent example of this is iterative DFS traversal using a stack.
  • There are some recursive solutions that can be implemented iteratively without using a stack. Classic examples of this include finding Fibonacci numbers, finding the factorial, and binary search.

Difference in terms of code execution

An iterative process involves repeatedly executing some code statements using a loop until the problem is solved. In contrast, a recursive process involves solving the problem using smaller sub-problems until the smallest version of the problem (the base case) is reached.

  • Recursion is usually slower due to the extra overhead of calling multiple functions and maintaining the call stack. However, it can be more intuitive and easier to implement sometimes, especially when the problem can be naturally divided into smaller sub-problems.
  • Iteration is generally faster due to the lack of function call overhead, but it can be more complex to implement and debug in some cases.

Difference in terms  of code error

  • In iteration, an infinite loop can occur due to an error in the assignment or increment of the loop variable or a wrong terminating condition. This can consume system resources like processor time or memory and stop the program execution.
  • In recursion, an infinite recursion may occur due to the absence of base cases or incorrect base cases. This can cause a stack overflow scenario, leading to a CPU crash.

Both iteration and recursion can be prone to small but critical mistakes, such as the "off by one" error in iteration or passing the wrong value to function parameters in recursion. It is important to carefully consider and test conditions and variables involved in these approaches to avoid such errors.

Difference in terms of code a nalysis

  • In general, the analysis of iterative code is relatively simple as it involves counting the number of loop iterations and multiplying that by the time complexity of the code executed at each iteration. However, there are some exceptions where counting loop iterations can be tricky or the operations performed by the loop are lower than expected.
  • The primary method for analyzing recursive code is the recursion tree method, which involves drawing a tree and summing the total cost of the recursion at each level. This can be more difficult due to complex recurrence relations. However, in the case of divide and conquer solutions, it is possible to analyze the code more simply using the master theorem.

Comparing recursion vs iteration using code examples

Here are some examples of recursive and iterative solutions to the same problem, along with a comparison of their thought process, performance, and code simplicity.

Example 1: Finding the factorial of a number

Finding the nth factorial can be implemented using both iterative and recursive approaches. While the recursive solution may appear simpler, it can be slower due to the overhead of function calls and the need for additional space for the call stack.

Both iterative and recursive solutions have a time complexity of O(n), but the recursive solution requires O(n) extra space for the call stack. When choosing between iterative and recursive solutions, this space requirement can be a crucial factor.

Recursive pseudocode

Iterative pseudocode

Example 2: Finding nth Fibonacci

In this case, the recursive solution for calculating Fibonacci numbers may be simple and easy to understand, but it is highly inefficient, with time complexity of O(2^n) and space complexity of O(n). In contrast, the iterative solution has a time complexity of O(n) and a space complexity of O(1), making it a much more efficient option.

When choosing between iterative and recursive solutions, we need to consider the trade-off between simplicity, time complexity, and space complexity.

Example 3: Binary search

In this case, both the iterative and recursive binary search solutions appear simple. However, the recursive solution may be easier to understand as it involves solving the larger problem using the solution of a smaller problem.

Despite this, iterative solution is a more efficient choice in terms of time and space complexity. Both solutions have a time complexity of O(logn), but the recursive solution requires O(logn) extra space for the call stack. In contrast, the iterative solution has no overhead of recursive calls and requires only O(1) space, making it a more efficient choice.

Example 4: Insertion sort

In this case, both iterative and recursive solutions have a time complexity of O(n^2). However, iterative solution is a more efficient choice in terms of space complexity. Recursive solution requires O(n) extra space for the call stack, while the iterative solution has no overhead of recursive calls and requires only O(1) space. So the iterative solution offers a balance of efficiency and simplicity, making it the best choice.

Example 5: Pre-order tree traversal

Here, recursive code is simple and easy to understand because it involves only one function parameter and a few lines of code. On the other hand, recursive code of preorder traversal is tail-recursive i.e. there are no additional operations after the final recursive call. As a result, it can be implemented iteratively using a stack.

In the worst case, both recursive and iterative approaches have a space and time complexity of O(n). It is worth taking the time to understand this iterative code because it can be a useful tool in problem-solving.

Critical ideas to think about!

  • Despite being slower in general, why do some people prefer recursion over iteration?
  • Is there a general guideline for converting recursive code into iterative code?
  • Is it possible to convert all recursive code into iterative code or vice versa?

Enjoy learning, Enjoy algorithms!

More from EnjoyAlgorithms

Self-paced courses and blogs.

What is Six Sigma? – Certification, Training, Lean

  • Lean Six Sigma

Plan Do Study Act (PDSA)

The Plan do study act is an iterative, four-stage problem solving model used for improving a process or carrying out change. The PDSA cycle is a systematic series of steps for gaining valuable learning and knowledge for the continuous improvement of a product or process. It is also known as Deming cycle, as Dr. Edward W Deming popularized the concept. Mr. Walter A. Shewart introduced him to this concept.

PDSA is an analytical process that considers the process as is, analyzes it further, revises it as appropriate and then repeats the cycle for continuous improvement. The PDSA cycle includes internal and external customers into considers, as they can provide feedback about is the change plan works or not. The customer defines quality and hence it is appropriate to involve them in the process, to increase acceptance of the end product.

Stages in PDSA Cycle

Plan: Plan a change. Under this stage, you define the objective and subsequently intend to answer all the other questions. Planning stage implies to,

  • Identify the problem
  • Analyze the problem
  • Clarify goals and objectives
  • Define success
  • Identify key team players
  • Plan strategies putting a plan into action

Do: In this stage components of the plan are implemented, such as developing or product or service. And Do stage implies,

  • To start implementation of the action plan
  • To collect of the data
  • To design appropriate tools to implement changes
  • To perform appropriate activities

Study: Outcomes are monitored to test the validity of the plan against the goal and objectives. Study stage implies to,

  • Analyze the data collected
  • Ensure plan is working
  • Identify and remove bottlenecks

Act: The Act step ends the cycle by integrating the learning generated by the entire process. Act stage implies to,

  • Communicate the results and determine if plan worked
  • Adjust the goals to meet the objectives, change methods or even reformulate a theory altogether

Benefits of PDSA Cycle

  • PDSA works well when you are establishing new processes.
  • A PDSA is repetitive approach, and it helps you apply learning on a small scale first and gradually scaling up the volumes.
  • PDSA works well on new product development.
  • PDSA can quickly help identify non-value added resources and find ways to reduce while saving cost to the company
  • PDSA is a continuous improvement and development tool
  • PDSA lends itself well to high-volume process, where change can make a significant difference to effectiveness and quality of output
  • Problem-solving process: Works well in cases where there are plenty of data to analyze and evaluate

What is the difference between PDSA and PDCA?

A PDCA stands for Plan Do Check Act Cycle also called as Shewhart cycle. Mr. Walter A. Shewart first introduced PDCA in 1939 in one of his books and there after it was Dr. Deming who emphasized it has to be changed to PDSA in 1950’s. Dr. Deming encouraged a systematic approach of not just checking, but of problem solving to improve the process of products and services and promoted the now widely recognized four step process PDSA, for continual improvement.

Major changes that one can identify are in the 3rd stage of the process, such as

  • Check stage implies a simple Yes-No response where as Study stage implies a much deeper analysis of what went wrong.
  • Study also implies that you could gather a lot from something that has not worked as expected, whereas check doesn’t suggest that as much.
  • PDCA was to be used for more straightforward improvement situations, and PDSA was to be applied in more complex scenarios when metrics need more extensive reflections

Previous post: Machine Capability Index

Next post: ANDON

  • 10 Things You Should Know About Six Sigma
  • Famous Six Sigma People
  • Six Sigma Software

Recent Posts

  • Control System Expansion
  • Energy Audit Management
  • Industrial Project Management
  • Network Diagram
  • Supply Chain and Logistics
  • Visual Management
  • Utilizing Pareto Charts in Business Analysis
  • Privacy Policy

40 problem-solving techniques and processes

Problem solving workshop

All teams and organizations encounter challenges. Approaching those challenges without a structured problem solving process can end up making things worse.

Proven problem solving techniques such as those outlined below can guide your group through a process of identifying problems and challenges , ideating on possible solutions , and then evaluating and implementing the most suitable .

In this post, you'll find problem-solving tools you can use to develop effective solutions. You'll also find some tips for facilitating the problem solving process and solving complex problems.

Design your next session with SessionLab

Join the 150,000+ facilitators 
using SessionLab.

Recommended Articles

A step-by-step guide to planning a workshop, 54 great online tools for workshops and meetings, how to create an unforgettable training session in 8 simple steps.

  • 18 Free Facilitation Resources We Think You’ll Love

What is problem solving?

Problem solving is a process of finding and implementing a solution to a challenge or obstacle. In most contexts, this means going through a problem solving process that begins with identifying the issue, exploring its root causes, ideating and refining possible solutions before implementing and measuring the impact of that solution.

For simple or small problems, it can be tempting to skip straight to implementing what you believe is the right solution. The danger with this approach is that without exploring the true causes of the issue, it might just occur again or your chosen solution may cause other issues.

Particularly in the world of work, good problem solving means using data to back up each step of the process, bringing in new perspectives and effectively measuring the impact of your solution.

Effective problem solving can help ensure that your team or organization is well positioned to overcome challenges, be resilient to change and create innovation. In my experience, problem solving is a combination of skillset, mindset and process, and it’s especially vital for leaders to cultivate this skill.

A group of people looking at a poster with notes on it

What is the seven step problem solving process?

A problem solving process is a step-by-step framework from going from discovering a problem all the way through to implementing a solution.

With practice, this framework can become intuitive, and innovative companies tend to have a consistent and ongoing ability to discover and tackle challenges when they come up.

You might see everything from a four step problem solving process through to seven steps. While all these processes cover roughly the same ground, I’ve found a seven step problem solving process is helpful for making all key steps legible.

We’ll outline that process here and then follow with techniques you can use to explore and work on that step of the problem solving process with a group.

The seven-step problem solving process is:

1. Problem identification 

The first stage of any problem solving process is to identify the problem(s) you need to solve. This often looks like using group discussions and activities to help a group surface and effectively articulate the challenges they’re facing and wish to resolve.

Be sure to align with your team on the exact definition and nature of the problem you’re solving. An effective process is one where everyone is pulling in the same direction – ensure clarity and alignment now to help avoid misunderstandings later.

2. Problem analysis and refinement

The process of problem analysis means ensuring that the problem you are seeking to solve is  the   right problem . Choosing the right problem to solve means you are on the right path to creating the right solution.

At this stage, you may look deeper at the problem you identified to try and discover the root cause at the level of people or process. You may also spend some time sourcing data, consulting relevant parties and creating and refining a problem statement.

Problem refinement means adjusting scope or focus of the problem you will be aiming to solve based on what comes up during your analysis. As you analyze data sources, you might discover that the root cause means you need to adjust your problem statement. Alternatively, you might find that your original problem statement is too big to be meaningful approached within your current project.

Remember that the goal of any problem refinement is to help set the stage for effective solution development and deployment. Set the right focus and get buy-in from your team here and you’ll be well positioned to move forward with confidence.

3. Solution generation

Once your group has nailed down the particulars of the problem you wish to solve, you want to encourage a free flow of ideas connecting to solving that problem. This can take the form of problem solving games that encourage creative thinking or techniquess designed to produce working prototypes of possible solutions. 

The key to ensuring the success of this stage of the problem solving process is to encourage quick, creative thinking and create an open space where all ideas are considered. The best solutions can often come from unlikely places and by using problem solving techniques that celebrate invention, you might come up with solution gold. 

what is iterative problem solving

4. Solution development

No solution is perfect right out of the gate. It’s important to discuss and develop the solutions your group has come up with over the course of following the previous problem solving steps in order to arrive at the best possible solution. Problem solving games used in this stage involve lots of critical thinking, measuring potential effort and impact, and looking at possible solutions analytically. 

During this stage, you will often ask your team to iterate and improve upon your front-running solutions and develop them further. Remember that problem solving strategies always benefit from a multitude of voices and opinions, and not to let ego get involved when it comes to choosing which solutions to develop and take further.

Finding the best solution is the goal of all problem solving workshops and here is the place to ensure that your solution is well thought out, sufficiently robust and fit for purpose. 

5. Decision making and planning

Nearly there! Once you’ve got a set of possible, you’ll need to make a decision on which to implement. This can be a consensus-based group decision or it might be for a leader or major stakeholder to decide. You’ll find a set of effective decision making methods below.

Once your group has reached consensus and selected a solution, there are some additional actions that also need to be decided upon. You’ll want to work on allocating ownership of the project, figure out who will do what, how the success of the solution will be measured and decide the next course of action.

Set clear accountabilities, actions, timeframes, and follow-ups for your chosen solution. Make these decisions and set clear next-steps in the problem solving workshop so that everyone is aligned and you can move forward effectively as a group. 

Ensuring that you plan for the roll-out of a solution is one of the most important problem solving steps. Without adequate planning or oversight, it can prove impossible to measure success or iterate further if the problem was not solved. 

6. Solution implementation 

This is what we were waiting for! All problem solving processes have the end goal of implementing an effective and impactful solution that your group has confidence in.

Project management and communication skills are key here – your solution may need to adjust when out in the wild or you might discover new challenges along the way. For some solutions, you might also implement a test with a small group and monitor results before rolling it out to an entire company.

You should have a clear owner for your solution who will oversee the plans you made together and help ensure they’re put into place. This person will often coordinate the implementation team and set-up processes to measure the efficacy of your solution too.

7. Solution evaluation 

So you and your team developed a great solution to a problem and have a gut feeling it’s been solved. Work done, right? Wrong. All problem solving strategies benefit from evaluation, consideration, and feedback.

You might find that the solution does not work for everyone, might create new problems, or is potentially so successful that you will want to roll it out to larger teams or as part of other initiatives. 

None of that is possible without taking the time to evaluate the success of the solution you developed in your problem solving model and adjust if necessary.

Remember that the problem solving process is often iterative and it can be common to not solve complex issues on the first try. Even when this is the case, you and your team will have generated learning that will be important for future problem solving workshops or in other parts of the organization. 

It’s also worth underlining how important record keeping is throughout the problem solving process. If a solution didn’t work, you need to have the data and records to see why that was the case. If you go back to the drawing board, notes from the previous workshop can help save time.

What does an effective problem solving process look like?

Every effective problem solving process begins with an agenda . In our experience, a well-structured problem solving workshop is one of the best methods for successfully guiding a group from exploring a problem to implementing a solution.

The format of a workshop ensures that you can get buy-in from your group, encourage free-thinking and solution exploration before making a decision on what to implement following the session.

This Design Sprint 2.0 template is an effective problem solving process from top agency AJ&Smart. It’s a great format for the entire problem solving process, with four-days of workshops designed to surface issues, explore solutions and even test a solution.

Check it for an example of how you might structure and run a problem solving process and feel free to copy and adjust it your needs!

For a shorter process you can run in a single afternoon, this remote problem solving agenda will guide you effectively in just a couple of hours.

Whatever the length of your workshop, by using SessionLab, it’s easy to go from an idea to a complete agenda . Start by dragging and dropping your core problem solving activities into place . Add timings, breaks and necessary materials before sharing your agenda with your colleagues.

The resulting agenda will be your guide to an effective and productive problem solving session that will also help you stay organized on the day!

what is iterative problem solving

Complete problem-solving methods

In this section, we’ll look at in-depth problem-solving methods that provide a complete end-to-end process for developing effective solutions. These will help guide your team from the discovery and definition of a problem through to delivering the right solution.

If you’re looking for an all-encompassing method or problem-solving model, these processes are a great place to start. They’ll ask your team to challenge preconceived ideas and adopt a mindset for solving problems more effectively.

Six Thinking Hats

Individual approaches to solving a problem can be very different based on what team or role an individual holds. It can be easy for existing biases or perspectives to find their way into the mix, or for internal politics to direct a conversation.

Six Thinking Hats is a classic method for identifying the problems that need to be solved and enables your team to consider them from different angles, whether that is by focusing on facts and data, creative solutions, or by considering why a particular solution might not work.

Like all problem-solving frameworks, Six Thinking Hats is effective at helping teams remove roadblocks from a conversation or discussion and come to terms with all the aspects necessary to solve complex problems.

The Six Thinking Hats   #creative thinking   #meeting facilitation   #problem solving   #issue resolution   #idea generation   #conflict resolution   The Six Thinking Hats are used by individuals and groups to separate out conflicting styles of thinking. They enable and encourage a group of people to think constructively together in exploring and implementing change, rather than using argument to fight over who is right and who is wrong.

Lightning Decision Jam

Featured courtesy of Jonathan Courtney of AJ&Smart Berlin, Lightning Decision Jam is one of those strategies that should be in every facilitation toolbox. Exploring problems and finding solutions is often creative in nature, though as with any creative process, there is the potential to lose focus and get lost.

Unstructured discussions might get you there in the end, but it’s much more effective to use a method that creates a clear process and team focus.

In Lightning Decision Jam, participants are invited to begin by writing challenges, concerns, or mistakes on post-its without discussing them before then being invited by the moderator to present them to the group.

From there, the team vote on which problems to solve and are guided through steps that will allow them to reframe those problems, create solutions and then decide what to execute on. 

By deciding the problems that need to be solved as a team before moving on, this group process is great for ensuring the whole team is aligned and can take ownership over the next stages. 

Lightning Decision Jam (LDJ)   #action   #decision making   #problem solving   #issue analysis   #innovation   #design   #remote-friendly   It doesn’t matter where you work and what your job role is, if you work with other people together as a team, you will always encounter the same challenges: Unclear goals and miscommunication that cause busy work and overtime Unstructured meetings that leave attendants tired, confused and without clear outcomes. Frustration builds up because internal challenges to productivity are not addressed Sudden changes in priorities lead to a loss of focus and momentum Muddled compromise takes the place of clear decision- making, leaving everybody to come up with their own interpretation. In short, a lack of structure leads to a waste of time and effort, projects that drag on for too long and frustrated, burnt out teams. AJ&Smart has worked with some of the most innovative, productive companies in the world. What sets their teams apart from others is not better tools, bigger talent or more beautiful offices. The secret sauce to becoming a more productive, more creative and happier team is simple: Replace all open discussion or brainstorming with a structured process that leads to more ideas, clearer decisions and better outcomes. When a good process provides guardrails and a clear path to follow, it becomes easier to come up with ideas, make decisions and solve problems. This is why AJ&Smart created Lightning Decision Jam (LDJ). It’s a simple and short, but powerful group exercise that can be run either in-person, in the same room, or remotely with distributed teams.

Problem Definition Process

While problems can be complex, the problem-solving methods you use to identify and solve those problems can often be simple in design. 

By taking the time to truly identify and define a problem before asking the group to reframe the challenge as an opportunity, this method is a great way to enable change.

Begin by identifying a focus question and exploring the ways in which it manifests before splitting into five teams who will each consider the problem using a different method: escape, reversal, exaggeration, distortion or wishful. Teams develop a problem objective and create ideas in line with their method before then feeding them back to the group.

This method is great for enabling in-depth discussions while also creating space for finding creative solutions too!

Problem Definition   #problem solving   #idea generation   #creativity   #online   #remote-friendly   A problem solving technique to define a problem, challenge or opportunity and to generate ideas.

The 5 Whys 

Sometimes, a group needs to go further with their strategies and analyze the root cause at the heart of organizational issues. An RCA or root cause analysis is the process of identifying what is at the heart of business problems or recurring challenges. 

The 5 Whys is a simple and effective method of helping a group go find the root cause of any problem or challenge and conduct analysis that will deliver results. 

By beginning with the creation of a problem statement and going through five stages to refine it, The 5 Whys provides everything you need to truly discover the cause of an issue.

The 5 Whys   #hyperisland   #innovation   This simple and powerful method is useful for getting to the core of a problem or challenge. As the title suggests, the group defines a problems, then asks the question “why” five times, often using the resulting explanation as a starting point for creative problem solving.

World Cafe is a simple but powerful facilitation technique to help bigger groups to focus their energy and attention on solving complex problems.

World Cafe enables this approach by creating a relaxed atmosphere where participants are able to self-organize and explore topics relevant and important to them which are themed around a central problem-solving purpose. Create the right atmosphere by modeling your space after a cafe and after guiding the group through the method, let them take the lead!

Making problem-solving a part of your organization’s culture in the long term can be a difficult undertaking. More approachable formats like World Cafe can be especially effective in bringing people unfamiliar with workshops into the fold. 

World Cafe   #hyperisland   #innovation   #issue analysis   World Café is a simple yet powerful method, originated by Juanita Brown, for enabling meaningful conversations driven completely by participants and the topics that are relevant and important to them. Facilitators create a cafe-style space and provide simple guidelines. Participants then self-organize and explore a set of relevant topics or questions for conversation.

Discovery & Action Dialogue (DAD)

One of the best approaches is to create a safe space for a group to share and discover practices and behaviors that can help them find their own solutions.

With DAD, you can help a group choose which problems they wish to solve and which approaches they will take to do so. It’s great at helping remove resistance to change and can help get buy-in at every level too!

This process of enabling frontline ownership is great in ensuring follow-through and is one of the methods you will want in your toolbox as a facilitator.

Discovery & Action Dialogue (DAD)   #idea generation   #liberating structures   #action   #issue analysis   #remote-friendly   DADs make it easy for a group or community to discover practices and behaviors that enable some individuals (without access to special resources and facing the same constraints) to find better solutions than their peers to common problems. These are called positive deviant (PD) behaviors and practices. DADs make it possible for people in the group, unit, or community to discover by themselves these PD practices. DADs also create favorable conditions for stimulating participants’ creativity in spaces where they can feel safe to invent new and more effective practices. Resistance to change evaporates as participants are unleashed to choose freely which practices they will adopt or try and which problems they will tackle. DADs make it possible to achieve frontline ownership of solutions.
Design Sprint 2.0

Want to see how a team can solve big problems and move forward with prototyping and testing solutions in a few days? The Design Sprint 2.0 template from Jake Knapp, author of Sprint, is a complete agenda for a with proven results.

Developing the right agenda can involve difficult but necessary planning. Ensuring all the correct steps are followed can also be stressful or time-consuming depending on your level of experience.

Use this complete 4-day workshop template if you are finding there is no obvious solution to your challenge and want to focus your team around a specific problem that might require a shortcut to launching a minimum viable product or waiting for the organization-wide implementation of a solution.

Open space technology

Open space technology- developed by Harrison Owen – creates a space where large groups are invited to take ownership of their problem solving and lead individual sessions. Open space technology is a great format when you have a great deal of expertise and insight in the room and want to allow for different takes and approaches on a particular theme or problem you need to be solved.

Start by bringing your participants together to align around a central theme and focus their efforts. Explain the ground rules to help guide the problem-solving process and then invite members to identify any issue connecting to the central theme that they are interested in and are prepared to take responsibility for.

Once participants have decided on their approach to the core theme, they write their issue on a piece of paper, announce it to the group, pick a session time and place, and post the paper on the wall. As the wall fills up with sessions, the group is then invited to join the sessions that interest them the most and which they can contribute to, then you’re ready to begin!

Everyone joins the problem-solving group they’ve signed up to, record the discussion and if appropriate, findings can then be shared with the rest of the group afterward.

Open Space Technology   #action plan   #idea generation   #problem solving   #issue analysis   #large group   #online   #remote-friendly   Open Space is a methodology for large groups to create their agenda discerning important topics for discussion, suitable for conferences, community gatherings and whole system facilitation

Techniques to identify and analyze problems

Using a problem-solving method to help a team identify and analyze a problem can be a quick and effective addition to any workshop or meeting.

While further actions are always necessary, you can generate momentum and alignment easily, and these activities are a great place to get started.

We’ve put together this list of techniques to help you and your team with problem identification, analysis, and discussion that sets the foundation for developing effective solutions.

Let’s take a look!

Fishbone Analysis

Organizational or team challenges are rarely simple, and it’s important to remember that one problem can be an indication of something that goes deeper and may require further consideration to be solved.

Fishbone Analysis helps groups to dig deeper and understand the origins of a problem. It’s a great example of a root cause analysis method that is simple for everyone on a team to get their head around. 

Participants in this activity are asked to annotate a diagram of a fish, first adding the problem or issue to be worked on at the head of a fish before then brainstorming the root causes of the problem and adding them as bones on the fish. 

Using abstractions such as a diagram of a fish can really help a team break out of their regular thinking and develop a creative approach.

Fishbone Analysis   #problem solving   ##root cause analysis   #decision making   #online facilitation   A process to help identify and understand the origins of problems, issues or observations.

Problem Tree 

Encouraging visual thinking can be an essential part of many strategies. By simply reframing and clarifying problems, a group can move towards developing a problem solving model that works for them. 

In Problem Tree, groups are asked to first brainstorm a list of problems – these can be design problems, team problems or larger business problems – and then organize them into a hierarchy. The hierarchy could be from most important to least important or abstract to practical, though the key thing with problem solving games that involve this aspect is that your group has some way of managing and sorting all the issues that are raised.

Once you have a list of problems that need to be solved and have organized them accordingly, you’re then well-positioned for the next problem solving steps.

Problem tree   #define intentions   #create   #design   #issue analysis   A problem tree is a tool to clarify the hierarchy of problems addressed by the team within a design project; it represents high level problems or related sublevel problems.

SWOT Analysis

Chances are you’ve heard of the SWOT Analysis before. This problem-solving method focuses on identifying strengths, weaknesses, opportunities, and threats is a tried and tested method for both individuals and teams.

Start by creating a desired end state or outcome and bare this in mind – any process solving model is made more effective by knowing what you are moving towards. Create a quadrant made up of the four categories of a SWOT analysis and ask participants to generate ideas based on each of those quadrants.

Once you have those ideas assembled in their quadrants, cluster them together based on their affinity with other ideas. These clusters are then used to facilitate group conversations and move things forward. 

SWOT analysis   #gamestorming   #problem solving   #action   #meeting facilitation   The SWOT Analysis is a long-standing technique of looking at what we have, with respect to the desired end state, as well as what we could improve on. It gives us an opportunity to gauge approaching opportunities and dangers, and assess the seriousness of the conditions that affect our future. When we understand those conditions, we can influence what comes next.

Agreement-Certainty Matrix

Not every problem-solving approach is right for every challenge, and deciding on the right method for the challenge at hand is a key part of being an effective team.

The Agreement Certainty matrix helps teams align on the nature of the challenges facing them. By sorting problems from simple to chaotic, your team can understand what methods are suitable for each problem and what they can do to ensure effective results. 

If you are already using Liberating Structures techniques as part of your problem-solving strategy, the Agreement-Certainty Matrix can be an invaluable addition to your process. We’ve found it particularly if you are having issues with recurring problems in your organization and want to go deeper in understanding the root cause. 

Agreement-Certainty Matrix   #issue analysis   #liberating structures   #problem solving   You can help individuals or groups avoid the frequent mistake of trying to solve a problem with methods that are not adapted to the nature of their challenge. The combination of two questions makes it possible to easily sort challenges into four categories: simple, complicated, complex , and chaotic .  A problem is simple when it can be solved reliably with practices that are easy to duplicate.  It is complicated when experts are required to devise a sophisticated solution that will yield the desired results predictably.  A problem is complex when there are several valid ways to proceed but outcomes are not predictable in detail.  Chaotic is when the context is too turbulent to identify a path forward.  A loose analogy may be used to describe these differences: simple is like following a recipe, complicated like sending a rocket to the moon, complex like raising a child, and chaotic is like the game “Pin the Tail on the Donkey.”  The Liberating Structures Matching Matrix in Chapter 5 can be used as the first step to clarify the nature of a challenge and avoid the mismatches between problems and solutions that are frequently at the root of chronic, recurring problems.

Organizing and charting a team’s progress can be important in ensuring its success. SQUID (Sequential Question and Insight Diagram) is a great model that allows a team to effectively switch between giving questions and answers and develop the skills they need to stay on track throughout the process. 

Begin with two different colored sticky notes – one for questions and one for answers – and with your central topic (the head of the squid) on the board. Ask the group to first come up with a series of questions connected to their best guess of how to approach the topic. Ask the group to come up with answers to those questions, fix them to the board and connect them with a line. After some discussion, go back to question mode by responding to the generated answers or other points on the board.

It’s rewarding to see a diagram grow throughout the exercise, and a completed SQUID can provide a visual resource for future effort and as an example for other teams.

SQUID   #gamestorming   #project planning   #issue analysis   #problem solving   When exploring an information space, it’s important for a group to know where they are at any given time. By using SQUID, a group charts out the territory as they go and can navigate accordingly. SQUID stands for Sequential Question and Insight Diagram.

To continue with our nautical theme, Speed Boat is a short and sweet activity that can help a team quickly identify what employees, clients or service users might have a problem with and analyze what might be standing in the way of achieving a solution.

Methods that allow for a group to make observations, have insights and obtain those eureka moments quickly are invaluable when trying to solve complex problems.

In Speed Boat, the approach is to first consider what anchors and challenges might be holding an organization (or boat) back. Bonus points if you are able to identify any sharks in the water and develop ideas that can also deal with competitors!   

Speed Boat   #gamestorming   #problem solving   #action   Speedboat is a short and sweet way to identify what your employees or clients don’t like about your product/service or what’s standing in the way of a desired goal.

The Journalistic Six

Some of the most effective ways of solving problems is by encouraging teams to be more inclusive and diverse in their thinking.

Based on the six key questions journalism students are taught to answer in articles and news stories, The Journalistic Six helps create teams to see the whole picture. By using who, what, when, where, why, and how to facilitate the conversation and encourage creative thinking, your team can make sure that the problem identification and problem analysis stages of the are covered exhaustively and thoughtfully. Reporter’s notebook and dictaphone optional.

The Journalistic Six – Who What When Where Why How   #idea generation   #issue analysis   #problem solving   #online   #creative thinking   #remote-friendly   A questioning method for generating, explaining, investigating ideas.

Individual and group perspectives are incredibly important, but what happens if people are set in their minds and need a change of perspective in order to approach a problem more effectively?

Flip It is a method we love because it is both simple to understand and run, and allows groups to understand how their perspectives and biases are formed. 

Participants in Flip It are first invited to consider concerns, issues, or problems from a perspective of fear and write them on a flip chart. Then, the group is asked to consider those same issues from a perspective of hope and flip their understanding.  

No problem and solution is free from existing bias and by changing perspectives with Flip It, you can then develop a problem solving model quickly and effectively.

Flip It!   #gamestorming   #problem solving   #action   Often, a change in a problem or situation comes simply from a change in our perspectives. Flip It! is a quick game designed to show players that perspectives are made, not born.

LEGO Challenge

Now for an activity that is a little out of the (toy) box. LEGO Serious Play is a facilitation methodology that can be used to improve creative thinking and problem-solving skills. 

The LEGO Challenge includes giving each member of the team an assignment that is hidden from the rest of the group while they create a structure without speaking.

What the LEGO challenge brings to the table is a fun working example of working with stakeholders who might not be on the same page to solve problems. Also, it’s LEGO! Who doesn’t love LEGO! 

LEGO Challenge   #hyperisland   #team   A team-building activity in which groups must work together to build a structure out of LEGO, but each individual has a secret “assignment” which makes the collaborative process more challenging. It emphasizes group communication, leadership dynamics, conflict, cooperation, patience and problem solving strategy.

What, So What, Now What?

If not carefully managed, the problem identification and problem analysis stages of the problem-solving process can actually create more problems and misunderstandings.

The What, So What, Now What? problem-solving activity is designed to help collect insights and move forward while also eliminating the possibility of disagreement when it comes to identifying, clarifying, and analyzing organizational or work problems. 

Facilitation is all about bringing groups together so that might work on a shared goal and the best problem-solving strategies ensure that teams are aligned in purpose, if not initially in opinion or insight.

Throughout the three steps of this game, you give everyone on a team to reflect on a problem by asking what happened, why it is important, and what actions should then be taken. 

This can be a great activity for bringing our individual perceptions about a problem or challenge and contextualizing it in a larger group setting. This is one of the most important problem-solving skills you can bring to your organization.

W³ – What, So What, Now What?   #issue analysis   #innovation   #liberating structures   You can help groups reflect on a shared experience in a way that builds understanding and spurs coordinated action while avoiding unproductive conflict. It is possible for every voice to be heard while simultaneously sifting for insights and shaping new direction. Progressing in stages makes this practical—from collecting facts about What Happened to making sense of these facts with So What and finally to what actions logically follow with Now What . The shared progression eliminates most of the misunderstandings that otherwise fuel disagreements about what to do. Voila!

Journalists  

Problem analysis can be one of the most important and decisive stages of all problem-solving tools. Sometimes, a team can become bogged down in the details and are unable to move forward.

Journalists is an activity that can avoid a group from getting stuck in the problem identification or problem analysis stages of the process.

In Journalists, the group is invited to draft the front page of a fictional newspaper and figure out what stories deserve to be on the cover and what headlines those stories will have. By reframing how your problems and challenges are approached, you can help a team move productively through the process and be better prepared for the steps to follow.

Journalists   #vision   #big picture   #issue analysis   #remote-friendly   This is an exercise to use when the group gets stuck in details and struggles to see the big picture. Also good for defining a vision.

Problem-solving techniques for brainstorming solutions

Now you have the context and background of the problem you are trying to solving, now comes the time to start ideating and thinking about how you’ll solve the issue.

Here, you’ll want to encourage creative, free thinking and speed. Get as many ideas out as possible and explore different perspectives so you have the raw material for the next step.

Looking at a problem from a new angle can be one of the most effective ways of creating an effective solution. TRIZ is a problem-solving tool that asks the group to consider what they must not do in order to solve a challenge.

By reversing the discussion, new topics and taboo subjects often emerge, allowing the group to think more deeply and create ideas that confront the status quo in a safe and meaningful way. If you’re working on a problem that you’ve tried to solve before, TRIZ is a great problem-solving method to help your team get unblocked.

Making Space with TRIZ   #issue analysis   #liberating structures   #issue resolution   You can clear space for innovation by helping a group let go of what it knows (but rarely admits) limits its success and by inviting creative destruction. TRIZ makes it possible to challenge sacred cows safely and encourages heretical thinking. The question “What must we stop doing to make progress on our deepest purpose?” induces seriously fun yet very courageous conversations. Since laughter often erupts, issues that are otherwise taboo get a chance to be aired and confronted. With creative destruction come opportunities for renewal as local action and innovation rush in to fill the vacuum. Whoosh!

Mindspin  

Brainstorming is part of the bread and butter of the problem-solving process and all problem-solving strategies benefit from getting ideas out and challenging a team to generate solutions quickly. 

With Mindspin, participants are encouraged not only to generate ideas but to do so under time constraints and by slamming down cards and passing them on. By doing multiple rounds, your team can begin with a free generation of possible solutions before moving on to developing those solutions and encouraging further ideation. 

This is one of our favorite problem-solving activities and can be great for keeping the energy up throughout the workshop. Remember the importance of helping people become engaged in the process – energizing problem-solving techniques like Mindspin can help ensure your team stays engaged and happy, even when the problems they’re coming together to solve are complex. 

MindSpin   #teampedia   #idea generation   #problem solving   #action   A fast and loud method to enhance brainstorming within a team. Since this activity has more than round ideas that are repetitive can be ruled out leaving more creative and innovative answers to the challenge.

The Creativity Dice

One of the most useful problem solving skills you can teach your team is of approaching challenges with creativity, flexibility, and openness. Games like The Creativity Dice allow teams to overcome the potential hurdle of too much linear thinking and approach the process with a sense of fun and speed. 

In The Creativity Dice, participants are organized around a topic and roll a dice to determine what they will work on for a period of 3 minutes at a time. They might roll a 3 and work on investigating factual information on the chosen topic. They might roll a 1 and work on identifying the specific goals, standards, or criteria for the session.

Encouraging rapid work and iteration while asking participants to be flexible are great skills to cultivate. Having a stage for idea incubation in this game is also important. Moments of pause can help ensure the ideas that are put forward are the most suitable. 

The Creativity Dice   #creativity   #problem solving   #thiagi   #issue analysis   Too much linear thinking is hazardous to creative problem solving. To be creative, you should approach the problem (or the opportunity) from different points of view. You should leave a thought hanging in mid-air and move to another. This skipping around prevents premature closure and lets your brain incubate one line of thought while you consciously pursue another.

Idea and Concept Development

Brainstorming without structure can quickly become chaotic or frustrating. In a problem-solving context, having an ideation framework to follow can help ensure your team is both creative and disciplined.

In this method, you’ll find an idea generation process that encourages your group to brainstorm effectively before developing their ideas and begin clustering them together. By using concepts such as Yes and…, more is more and postponing judgement, you can create the ideal conditions for brainstorming with ease.

Idea & Concept Development   #hyperisland   #innovation   #idea generation   Ideation and Concept Development is a process for groups to work creatively and collaboratively to generate creative ideas. It’s a general approach that can be adapted and customized to suit many different scenarios. It includes basic principles for idea generation and several steps for groups to work with. It also includes steps for idea selection and development.

Problem-solving techniques for developing and refining solutions 

The success of any problem-solving process can be measured by the solutions it produces. After you’ve defined the issue, explored existing ideas, and ideated, it’s time to develop and refine your ideas in order to bring them closer to a solution that actually solves the problem.

Use these problem-solving techniques when you want to help your team think through their ideas and refine them as part of your problem solving process.

Improved Solutions

After a team has successfully identified a problem and come up with a few solutions, it can be tempting to call the work of the problem-solving process complete. That said, the first solution is not necessarily the best, and by including a further review and reflection activity into your problem-solving model, you can ensure your group reaches the best possible result. 

One of a number of problem-solving games from Thiagi Group, Improved Solutions helps you go the extra mile and develop suggested solutions with close consideration and peer review. By supporting the discussion of several problems at once and by shifting team roles throughout, this problem-solving technique is a dynamic way of finding the best solution. 

Improved Solutions   #creativity   #thiagi   #problem solving   #action   #team   You can improve any solution by objectively reviewing its strengths and weaknesses and making suitable adjustments. In this creativity framegame, you improve the solutions to several problems. To maintain objective detachment, you deal with a different problem during each of six rounds and assume different roles (problem owner, consultant, basher, booster, enhancer, and evaluator) during each round. At the conclusion of the activity, each player ends up with two solutions to her problem.

Four Step Sketch

Creative thinking and visual ideation does not need to be confined to the opening stages of your problem-solving strategies. Exercises that include sketching and prototyping on paper can be effective at the solution finding and development stage of the process, and can be great for keeping a team engaged. 

By going from simple notes to a crazy 8s round that involves rapidly sketching 8 variations on their ideas before then producing a final solution sketch, the group is able to iterate quickly and visually. Problem-solving techniques like Four-Step Sketch are great if you have a group of different thinkers and want to change things up from a more textual or discussion-based approach.

Four-Step Sketch   #design sprint   #innovation   #idea generation   #remote-friendly   The four-step sketch is an exercise that helps people to create well-formed concepts through a structured process that includes: Review key information Start design work on paper,  Consider multiple variations , Create a detailed solution . This exercise is preceded by a set of other activities allowing the group to clarify the challenge they want to solve. See how the Four Step Sketch exercise fits into a Design Sprint

Ensuring that everyone in a group is able to contribute to a discussion is vital during any problem solving process. Not only does this ensure all bases are covered, but its then easier to get buy-in and accountability when people have been able to contribute to the process.

1-2-4-All is a tried and tested facilitation technique where participants are asked to first brainstorm on a topic on their own. Next, they discuss and share ideas in a pair before moving into a small group. Those groups are then asked to present the best idea from their discussion to the rest of the team.

This method can be used in many different contexts effectively, though I find it particularly shines in the idea development stage of the process. Giving each participant time to concretize their ideas and develop them in progressively larger groups can create a great space for both innovation and psychological safety.

1-2-4-All   #idea generation   #liberating structures   #issue analysis   With this facilitation technique you can immediately include everyone regardless of how large the group is. You can generate better ideas and more of them faster than ever before. You can tap the know-how and imagination that is distributed widely in places not known in advance. Open, generative conversation unfolds. Ideas and solutions are sifted in rapid fashion. Most importantly, participants own the ideas, so follow-up and implementation is simplified. No buy-in strategies needed! Simple and elegant!

15% Solutions

Some problems are simpler than others and with the right problem-solving activities, you can empower people to take immediate actions that can help create organizational change. 

Part of the liberating structures toolkit, 15% solutions is a problem-solving technique that focuses on finding and implementing solutions quickly. A process of iterating and making small changes quickly can help generate momentum and an appetite for solving complex problems.

Problem-solving strategies can live and die on whether people are onboard. Getting some quick wins is a great way of getting people behind the process.   

It can be extremely empowering for a team to realize that problem-solving techniques can be deployed quickly and easily and delineate between things they can positively impact and those things they cannot change. 

15% Solutions   #action   #liberating structures   #remote-friendly   You can reveal the actions, however small, that everyone can do immediately. At a minimum, these will create momentum, and that may make a BIG difference.  15% Solutions show that there is no reason to wait around, feel powerless, or fearful. They help people pick it up a level. They get individuals and the group to focus on what is within their discretion instead of what they cannot change.  With a very simple question, you can flip the conversation to what can be done and find solutions to big problems that are often distributed widely in places not known in advance. Shifting a few grains of sand may trigger a landslide and change the whole landscape.

Problem-solving techniques for making decisions and planning

After your group is happy with the possible solutions you’ve developed, now comes the time to choose which to implement. There’s more than one way to make a decision and the best option is often dependant on the needs and set-up of your group.

Sometimes, it’s the case that you’ll want to vote as a group on what is likely to be the most impactful solution. Other times, it might be down to a decision maker or major stakeholder to make the final decision. Whatever your process, here’s some techniques you can use to help you make a decision during your problem solving process.

How-Now-Wow Matrix

The problem-solving process is often creative, as complex problems usually require a change of thinking and creative response in order to find the best solutions. While it’s common for the first stages to encourage creative thinking, groups can often gravitate to familiar solutions when it comes to the end of the process. 

When selecting solutions, you don’t want to lose your creative energy! The How-Now-Wow Matrix from Gamestorming is a great problem-solving activity that enables a group to stay creative and think out of the box when it comes to selecting the right solution for a given problem.

Problem-solving techniques that encourage creative thinking and the ideation and selection of new solutions can be the most effective in organisational change. Give the How-Now-Wow Matrix a go, and not just for how pleasant it is to say out loud. 

How-Now-Wow Matrix   #gamestorming   #idea generation   #remote-friendly   When people want to develop new ideas, they most often think out of the box in the brainstorming or divergent phase. However, when it comes to convergence, people often end up picking ideas that are most familiar to them. This is called a ‘creative paradox’ or a ‘creadox’. The How-Now-Wow matrix is an idea selection tool that breaks the creadox by forcing people to weigh each idea on 2 parameters.

Impact and Effort Matrix

All problem-solving techniques hope to not only find solutions to a given problem or challenge but to find the best solution. When it comes to finding a solution, groups are invited to put on their decision-making hats and really think about how a proposed idea would work in practice. 

The Impact and Effort Matrix is one of the problem-solving techniques that fall into this camp, empowering participants to first generate ideas and then categorize them into a 2×2 matrix based on impact and effort.

Activities that invite critical thinking while remaining simple are invaluable. Use the Impact and Effort Matrix to move from ideation and towards evaluating potential solutions before then committing to them. 

Impact and Effort Matrix   #gamestorming   #decision making   #action   #remote-friendly   In this decision-making exercise, possible actions are mapped based on two factors: effort required to implement and potential impact. Categorizing ideas along these lines is a useful technique in decision making, as it obliges contributors to balance and evaluate suggested actions before committing to them.

If you’ve followed each of the problem-solving steps with your group successfully, you should move towards the end of your process with heaps of possible solutions developed with a specific problem in mind. But how do you help a group go from ideation to putting a solution into action? 

Dotmocracy – or Dot Voting -is a tried and tested method of helping a team in the problem-solving process make decisions and put actions in place with a degree of oversight and consensus. 

One of the problem-solving techniques that should be in every facilitator’s toolbox, Dot Voting is fast and effective and can help identify the most popular and best solutions and help bring a group to a decision effectively. 

Dotmocracy   #action   #decision making   #group prioritization   #hyperisland   #remote-friendly   Dotmocracy is a simple method for group prioritization or decision-making. It is not an activity on its own, but a method to use in processes where prioritization or decision-making is the aim. The method supports a group to quickly see which options are most popular or relevant. The options or ideas are written on post-its and stuck up on a wall for the whole group to see. Each person votes for the options they think are the strongest, and that information is used to inform a decision.

Straddling the gap between decision making and planning, MoSCoW is a simple and effective method that allows a group team to easily prioritize a set of possible options.

Use this method in a problem solving process by collecting and summarizing all your possible solutions and then categorize them into 4 sections: “Must have”, “Should have”, “Could have”, or “Would like but won‘t get”.

This method is particularly useful when its less about choosing one possible solution and more about prioritorizing which to do first and which may not fit in the scope of your project. In my experience, complex challenges often require multiple small fixes, and this method can be a great way to move from a pile of things you’d all like to do to a structured plan.

MoSCoW   #define intentions   #create   #design   #action   #remote-friendly   MoSCoW is a method that allows the team to prioritize the different features that they will work on. Features are then categorized into “Must have”, “Should have”, “Could have”, or “Would like but won‘t get”. To be used at the beginning of a timeslot (for example during Sprint planning) and when planning is needed.

When it comes to managing the rollout of a solution, clarity and accountability are key factors in ensuring the success of the project. The RAACI chart is a simple but effective model for setting roles and responsibilities as part of a planning session.

Start by listing each person involved in the project and put them into the following groups in order to make it clear who is responsible for what during the rollout of your solution.

  • Responsibility  (Which person and/or team will be taking action?)
  • Authority  (At what “point” must the responsible person check in before going further?)
  • Accountability  (Who must the responsible person check in with?)
  • Consultation  (Who must be consulted by the responsible person before decisions are made?)
  • Information  (Who must be informed of decisions, once made?)

Ensure this information is easily accessible and use it to inform who does what and who is looped into discussions and kept up to date.

RAACI   #roles and responsibility   #teamwork   #project management   Clarifying roles and responsibilities, levels of autonomy/latitude in decision making, and levels of engagement among diverse stakeholders.

Problem-solving warm-up activities

All facilitators know that warm-ups and icebreakers are useful for any workshop or group process. Problem-solving workshops are no different.

Use these problem-solving techniques to warm up a group and prepare them for the rest of the process. Activating your group by tapping into some of the top problem-solving skills can be one of the best ways to see great outcomes from your session.

Check-in / Check-out

Solid processes are planned from beginning to end, and the best facilitators know that setting the tone and establishing a safe, open environment can be integral to a successful problem-solving process. Check-in / Check-out is a great way to begin and/or bookend a problem-solving workshop. Checking in to a session emphasizes that everyone will be seen, heard, and expected to contribute. 

If you are running a series of meetings, setting a consistent pattern of checking in and checking out can really help your team get into a groove. We recommend this opening-closing activity for small to medium-sized groups though it can work with large groups if they’re disciplined!

Check-in / Check-out   #team   #opening   #closing   #hyperisland   #remote-friendly   Either checking-in or checking-out is a simple way for a team to open or close a process, symbolically and in a collaborative way. Checking-in/out invites each member in a group to be present, seen and heard, and to express a reflection or a feeling. Checking-in emphasizes presence, focus and group commitment; checking-out emphasizes reflection and symbolic closure.

Doodling Together  

Thinking creatively and not being afraid to make suggestions are important problem-solving skills for any group or team, and warming up by encouraging these behaviors is a great way to start. 

Doodling Together is one of our favorite creative ice breaker games – it’s quick, effective, and fun and can make all following problem-solving steps easier by encouraging a group to collaborate visually. By passing cards and adding additional items as they go, the workshop group gets into a groove of co-creation and idea development that is crucial to finding solutions to problems. 

Doodling Together   #collaboration   #creativity   #teamwork   #fun   #team   #visual methods   #energiser   #icebreaker   #remote-friendly   Create wild, weird and often funny postcards together & establish a group’s creative confidence.

Show and Tell

You might remember some version of Show and Tell from being a kid in school and it’s a great problem-solving activity to kick off a session.

Asking participants to prepare a little something before a workshop by bringing an object for show and tell can help them warm up before the session has even begun! Games that include a physical object can also help encourage early engagement before moving onto more big-picture thinking.

By asking your participants to tell stories about why they chose to bring a particular item to the group, you can help teams see things from new perspectives and see both differences and similarities in the way they approach a topic. Great groundwork for approaching a problem-solving process as a team! 

Show and Tell   #gamestorming   #action   #opening   #meeting facilitation   Show and Tell taps into the power of metaphors to reveal players’ underlying assumptions and associations around a topic The aim of the game is to get a deeper understanding of stakeholders’ perspectives on anything—a new project, an organizational restructuring, a shift in the company’s vision or team dynamic.

Constellations

Who doesn’t love stars? Constellations is a great warm-up activity for any workshop as it gets people up off their feet, energized, and ready to engage in new ways with established topics. It’s also great for showing existing beliefs, biases, and patterns that can come into play as part of your session.

Using warm-up games that help build trust and connection while also allowing for non-verbal responses can be great for easing people into the problem-solving process and encouraging engagement from everyone in the group. Constellations is great in large spaces that allow for movement and is definitely a practical exercise to allow the group to see patterns that are otherwise invisible. 

Constellations   #trust   #connection   #opening   #coaching   #patterns   #system   Individuals express their response to a statement or idea by standing closer or further from a central object. Used with teams to reveal system, hidden patterns, perspectives.

Draw a Tree

Problem-solving games that help raise group awareness through a central, unifying metaphor can be effective ways to warm-up a group in any problem-solving model.

Draw a Tree is a simple warm-up activity you can use in any group and which can provide a quick jolt of energy. Start by asking your participants to draw a tree in just 45 seconds – they can choose whether it will be abstract or realistic. 

Once the timer is up, ask the group how many people included the roots of the tree and use this as a means to discuss how we can ignore important parts of any system simply because they are not visible.

All problem-solving strategies are made more effective by thinking of problems critically and by exposing things that may not normally come to light. Warm-up games like Draw a Tree are great in that they quickly demonstrate some key problem-solving skills in an accessible and effective way.

Draw a Tree   #thiagi   #opening   #perspectives   #remote-friendly   With this game you can raise awarness about being more mindful, and aware of the environment we live in.

Closing activities for a problem-solving process

Each step of the problem-solving workshop benefits from an intelligent deployment of activities, games, and techniques. Bringing your session to an effective close helps ensure that solutions are followed through on and that you also celebrate what has been achieved.

Here are some problem-solving activities you can use to effectively close a workshop or meeting and ensure the great work you’ve done can continue afterward.

One Breath Feedback

Maintaining attention and focus during the closing stages of a problem-solving workshop can be tricky and so being concise when giving feedback can be important. It’s easy to incur “death by feedback” should some team members go on for too long sharing their perspectives in a quick feedback round. 

One Breath Feedback is a great closing activity for workshops. You give everyone an opportunity to provide feedback on what they’ve done but only in the space of a single breath. This keeps feedback short and to the point and means that everyone is encouraged to provide the most important piece of feedback to them. 

One breath feedback   #closing   #feedback   #action   This is a feedback round in just one breath that excels in maintaining attention: each participants is able to speak during just one breath … for most people that’s around 20 to 25 seconds … unless of course you’ve been a deep sea diver in which case you’ll be able to do it for longer.

Who What When Matrix 

Matrices feature as part of many effective problem-solving strategies and with good reason. They are easily recognizable, simple to use, and generate results.

The Who What When Matrix is a great tool to use when closing your problem-solving session by attributing a who, what and when to the actions and solutions you have decided upon. The resulting matrix is a simple, easy-to-follow way of ensuring your team can move forward. 

Great solutions can’t be enacted without action and ownership. Your problem-solving process should include a stage for allocating tasks to individuals or teams and creating a realistic timeframe for those solutions to be implemented or checked out. Use this method to keep the solution implementation process clear and simple for all involved. 

Who/What/When Matrix   #gamestorming   #action   #project planning   With Who/What/When matrix, you can connect people with clear actions they have defined and have committed to.

Response cards

Group discussion can comprise the bulk of most problem-solving activities and by the end of the process, you might find that your team is talked out! 

Providing a means for your team to give feedback with short written notes can ensure everyone is head and can contribute without the need to stand up and talk. Depending on the needs of the group, giving an alternative can help ensure everyone can contribute to your problem-solving model in the way that makes the most sense for them.

Response Cards is a great way to close a workshop if you are looking for a gentle warm-down and want to get some swift discussion around some of the feedback that is raised. 

Response Cards   #debriefing   #closing   #structured sharing   #questions and answers   #thiagi   #action   It can be hard to involve everyone during a closing of a session. Some might stay in the background or get unheard because of louder participants. However, with the use of Response Cards, everyone will be involved in providing feedback or clarify questions at the end of a session.

Tips for effective problem solving

Problem-solving activities are only one part of the puzzle. While a great method can help unlock your team’s ability to solve problems, without a thoughtful approach and strong facilitation the solutions may not be fit for purpose.

Let’s take a look at some problem-solving tips you can apply to any process to help it be a success!

Clearly define the problem

Jumping straight to solutions can be tempting, though without first clearly articulating a problem, the solution might not be the right one. Many of the problem-solving activities below include sections where the problem is explored and clearly defined before moving on.

This is a vital part of the problem-solving process and taking the time to fully define an issue can save time and effort later. A clear definition helps identify irrelevant information and it also ensures that your team sets off on the right track.

Don’t jump to conclusions

It’s easy for groups to exhibit cognitive bias or have preconceived ideas about both problems and potential solutions. Be sure to back up any problem statements or potential solutions with facts, research, and adequate forethought.

The best techniques ask participants to be methodical and challenge preconceived notions. Make sure you give the group enough time and space to collect relevant information and consider the problem in a new way. By approaching the process with a clear, rational mindset, you’ll often find that better solutions are more forthcoming.  

Try different approaches  

Problems come in all shapes and sizes and so too should the methods you use to solve them. If you find that one approach isn’t yielding results and your team isn’t finding different solutions, try mixing it up. You’ll be surprised at how using a new creative activity can unblock your team and generate great solutions.

Don’t take it personally 

Depending on the nature of your team or organizational problems, it’s easy for conversations to get heated. While it’s good for participants to be engaged in the discussions, ensure that emotions don’t run too high and that blame isn’t thrown around while finding solutions.

You’re all in it together, and even if your team or area is seeing problems, that isn’t necessarily a disparagement of you personally. Using facilitation skills to manage group dynamics is one effective method of helping conversations be more constructive.

Get the right people in the room

Your problem-solving method is often only as effective as the group using it. Getting the right people on the job and managing the number of people present is important too!

If the group is too small, you may not get enough different perspectives to effectively solve a problem. If the group is too large, you can go round and round during the ideation stages.

Creating the right group makeup is also important in ensuring you have the necessary expertise and skillset to both identify and follow up on potential solutions. Carefully consider who to include at each stage to help ensure your problem-solving method is followed and positioned for success.

Create psychologically safe spaces for discussion

Identifying a problem accurately also requires that all members of a group are able to contribute their views in an open and safe manner.

It can be tough for people to stand up and contribute if the problems or challenges are emotive or personal in nature. Try and create a psychologically safe space for these kinds of discussions and where possible, create regular opportunities for challenges to be brought up organically.

Document everything

The best solutions can take refinement, iteration, and reflection to come out. Get into a habit of documenting your process in order to keep all the learnings from the session and to allow ideas to mature and develop. Many of the methods below involve the creation of documents or shared resources. Be sure to keep and share these so everyone can benefit from the work done!

Bring a facilitator 

Facilitation is all about making group processes easier. With a subject as potentially emotive and important as problem-solving, having an impartial third party in the form of a facilitator can make all the difference in finding great solutions and keeping the process moving. Consider bringing a facilitator to your problem-solving session to get better results and generate meaningful solutions!

Develop your problem-solving skills

It takes time and practice to be an effective problem solver. While some roles or participants might more naturally gravitate towards problem-solving, it can take development and planning to help everyone create better solutions.

You might develop a training program, run a problem-solving workshop or simply ask your team to practice using the techniques below. Check out our post on problem-solving skills to see how you and your group can develop the right mental process and be more resilient to issues too!

Design a great agenda

Workshops are a great format for solving problems. With the right approach, you can focus a group and help them find the solutions to their own problems. But designing a process can be time-consuming and finding the right activities can be difficult.

Check out our workshop planning guide to level-up your agenda design and start running more effective workshops. Need inspiration? Check out templates designed by expert facilitators to help you kickstart your process!

Save time and effort creating an effective problem solving process

A structured problem solving process is a surefire way of solving tough problems, discovering creative solutions and driving organizational change. But how can you design for successful outcomes?

With SessionLab, it’s easy to design engaging workshops that deliver results. Drag, drop and reorder blocks  to build your agenda. When you make changes or update your agenda, your session  timing   adjusts automatically , saving you time on manual adjustments.

Collaborating with stakeholders or clients? Share your agenda with a single click and collaborate in real-time. No more sending documents back and forth over email.

Explore  how to use SessionLab  to design effective problem solving workshops or  watch this five minute video  to see the planner in action!

what is iterative problem solving

Over to you

The problem-solving process can often be as complicated and multifaceted as the problems they are set-up to solve. With the right problem-solving techniques and a mix of exercises designed to guide discussion and generate purposeful ideas, we hope we’ve given you the tools to find the best solutions as simply and easily as possible.

Is there a problem-solving technique that you are missing here? Do you have a favorite activity or method you use when facilitating? Let us know in the comments below, we’d love to hear from you! 

' src=

thank you very much for these excellent techniques

' src=

Certainly wonderful article, very detailed. Shared!

' src=

Your list of techniques for problem solving can be helpfully extended by adding TRIZ to the list of techniques. TRIZ has 40 problem solving techniques derived from methods inventros and patent holders used to get new patents. About 10-12 are general approaches. many organization sponsor classes in TRIZ that are used to solve business problems or general organiztational problems. You can take a look at TRIZ and dwonload a free internet booklet to see if you feel it shound be included per your selection process.

Leave a Comment Cancel reply

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

cycle of workshop planning steps

Going from a mere idea to a workshop that delivers results for your clients can feel like a daunting task. In this piece, we will shine a light on all the work behind the scenes and help you learn how to plan a workshop from start to finish. On a good day, facilitation can feel like effortless magic, but that is mostly the result of backstage work, foresight, and a lot of careful planning. Read on to learn a step-by-step approach to breaking the process of planning a workshop into small, manageable chunks.  The flow starts with the first meeting with a client to define the purposes of a workshop.…

what is iterative problem solving

Effective online tools are a necessity for smooth and engaging virtual workshops and meetings. But how do you choose the right ones? Do you sometimes feel that the good old pen and paper or MS Office toolkit and email leaves you struggling to stay on top of managing and delivering your workshop? Fortunately, there are plenty of great workshop tools to make your life easier when you need to facilitate a meeting and lead workshops. In this post, we’ll share our favorite online tools you can use to make your life easier and run better workshops and meetings. In fact, there are plenty of free online workshop tools and meeting…

what is iterative problem solving

How does learning work? A clever 9-year-old once told me: “I know I am learning something new when I am surprised.” The science of adult learning tells us that, in order to learn new skills (which, unsurprisingly, is harder for adults to do than kids) grown-ups need to first get into a specific headspace.  In a business, this approach is often employed in a training session where employees learn new skills or work on professional development. But how do you ensure your training is effective? In this guide, we'll explore how to create an effective training session plan and run engaging training sessions. As team leader, project manager, or consultant,…

Design your next workshop with SessionLab

Join the 150,000 facilitators using SessionLab

Sign up for free

  • Business Essentials
  • Leadership & Management
  • Credential of Leadership, Impact, and Management in Business (CLIMB)
  • Entrepreneurship & Innovation
  • Digital Transformation
  • Finance & Accounting
  • Business in Society
  • For Organizations
  • Support Portal
  • Media Coverage
  • Founding Donors
  • Leadership Team

what is iterative problem solving

  • Harvard Business School →
  • HBS Online →
  • Business Insights →

Business Insights

Harvard Business School Online's Business Insights Blog provides the career insights you need to achieve your goals and gain confidence in your business skills.

  • Career Development
  • Communication
  • Decision-Making
  • Earning Your MBA
  • Negotiation
  • News & Events
  • Productivity
  • Staff Spotlight
  • Student Profiles
  • Work-Life Balance
  • AI Essentials for Business
  • Alternative Investments
  • Business Analytics
  • Business Strategy
  • Business and Climate Change
  • Creating Brand Value
  • Design Thinking and Innovation
  • Digital Marketing Strategy
  • Disruptive Strategy
  • Economics for Managers
  • Entrepreneurship Essentials
  • Financial Accounting
  • Global Business
  • Launching Tech Ventures
  • Leadership Principles
  • Leadership, Ethics, and Corporate Accountability
  • Leading Change and Organizational Renewal
  • Leading with Finance
  • Management Essentials
  • Negotiation Mastery
  • Organizational Leadership
  • Power and Influence for Positive Impact
  • Strategy Execution
  • Sustainable Business Strategy
  • Sustainable Investing
  • Winning with Digital Platforms

What Is Creative Problem-Solving & Why Is It Important?

Business team using creative problem-solving

  • 01 Feb 2022

One of the biggest hindrances to innovation is complacency—it can be more comfortable to do what you know than venture into the unknown. Business leaders can overcome this barrier by mobilizing creative team members and providing space to innovate.

There are several tools you can use to encourage creativity in the workplace. Creative problem-solving is one of them, which facilitates the development of innovative solutions to difficult problems.

Here’s an overview of creative problem-solving and why it’s important in business.

Access your free e-book today.

What Is Creative Problem-Solving?

Research is necessary when solving a problem. But there are situations where a problem’s specific cause is difficult to pinpoint. This can occur when there’s not enough time to narrow down the problem’s source or there are differing opinions about its root cause.

In such cases, you can use creative problem-solving , which allows you to explore potential solutions regardless of whether a problem has been defined.

Creative problem-solving is less structured than other innovation processes and encourages exploring open-ended solutions. It also focuses on developing new perspectives and fostering creativity in the workplace . Its benefits include:

  • Finding creative solutions to complex problems : User research can insufficiently illustrate a situation’s complexity. While other innovation processes rely on this information, creative problem-solving can yield solutions without it.
  • Adapting to change : Business is constantly changing, and business leaders need to adapt. Creative problem-solving helps overcome unforeseen challenges and find solutions to unconventional problems.
  • Fueling innovation and growth : In addition to solutions, creative problem-solving can spark innovative ideas that drive company growth. These ideas can lead to new product lines, services, or a modified operations structure that improves efficiency.

Design Thinking and Innovation | Uncover creative solutions to your business problems | Learn More

Creative problem-solving is traditionally based on the following key principles :

1. Balance Divergent and Convergent Thinking

Creative problem-solving uses two primary tools to find solutions: divergence and convergence. Divergence generates ideas in response to a problem, while convergence narrows them down to a shortlist. It balances these two practices and turns ideas into concrete solutions.

2. Reframe Problems as Questions

By framing problems as questions, you shift from focusing on obstacles to solutions. This provides the freedom to brainstorm potential ideas.

3. Defer Judgment of Ideas

When brainstorming, it can be natural to reject or accept ideas right away. Yet, immediate judgments interfere with the idea generation process. Even ideas that seem implausible can turn into outstanding innovations upon further exploration and development.

4. Focus on "Yes, And" Instead of "No, But"

Using negative words like "no" discourages creative thinking. Instead, use positive language to build and maintain an environment that fosters the development of creative and innovative ideas.

Creative Problem-Solving and Design Thinking

Whereas creative problem-solving facilitates developing innovative ideas through a less structured workflow, design thinking takes a far more organized approach.

Design thinking is a human-centered, solutions-based process that fosters the ideation and development of solutions. In the online course Design Thinking and Innovation , Harvard Business School Dean Srikant Datar leverages a four-phase framework to explain design thinking.

The four stages are:

The four stages of design thinking: clarify, ideate, develop, and implement

  • Clarify: The clarification stage allows you to empathize with the user and identify problems. Observations and insights are informed by thorough research. Findings are then reframed as problem statements or questions.
  • Ideate: Ideation is the process of coming up with innovative ideas. The divergence of ideas involved with creative problem-solving is a major focus.
  • Develop: In the development stage, ideas evolve into experiments and tests. Ideas converge and are explored through prototyping and open critique.
  • Implement: Implementation involves continuing to test and experiment to refine the solution and encourage its adoption.

Creative problem-solving primarily operates in the ideate phase of design thinking but can be applied to others. This is because design thinking is an iterative process that moves between the stages as ideas are generated and pursued. This is normal and encouraged, as innovation requires exploring multiple ideas.

Creative Problem-Solving Tools

While there are many useful tools in the creative problem-solving process, here are three you should know:

Creating a Problem Story

One way to innovate is by creating a story about a problem to understand how it affects users and what solutions best fit their needs. Here are the steps you need to take to use this tool properly.

1. Identify a UDP

Create a problem story to identify the undesired phenomena (UDP). For example, consider a company that produces printers that overheat. In this case, the UDP is "our printers overheat."

2. Move Forward in Time

To move forward in time, ask: “Why is this a problem?” For example, minor damage could be one result of the machines overheating. In more extreme cases, printers may catch fire. Don't be afraid to create multiple problem stories if you think of more than one UDP.

3. Move Backward in Time

To move backward in time, ask: “What caused this UDP?” If you can't identify the root problem, think about what typically causes the UDP to occur. For the overheating printers, overuse could be a cause.

Following the three-step framework above helps illustrate a clear problem story:

  • The printer is overused.
  • The printer overheats.
  • The printer breaks down.

You can extend the problem story in either direction if you think of additional cause-and-effect relationships.

4. Break the Chains

By this point, you’ll have multiple UDP storylines. Take two that are similar and focus on breaking the chains connecting them. This can be accomplished through inversion or neutralization.

  • Inversion: Inversion changes the relationship between two UDPs so the cause is the same but the effect is the opposite. For example, if the UDP is "the more X happens, the more likely Y is to happen," inversion changes the equation to "the more X happens, the less likely Y is to happen." Using the printer example, inversion would consider: "What if the more a printer is used, the less likely it’s going to overheat?" Innovation requires an open mind. Just because a solution initially seems unlikely doesn't mean it can't be pursued further or spark additional ideas.
  • Neutralization: Neutralization completely eliminates the cause-and-effect relationship between X and Y. This changes the above equation to "the more or less X happens has no effect on Y." In the case of the printers, neutralization would rephrase the relationship to "the more or less a printer is used has no effect on whether it overheats."

Even if creating a problem story doesn't provide a solution, it can offer useful context to users’ problems and additional ideas to be explored. Given that divergence is one of the fundamental practices of creative problem-solving, it’s a good idea to incorporate it into each tool you use.

Brainstorming

Brainstorming is a tool that can be highly effective when guided by the iterative qualities of the design thinking process. It involves openly discussing and debating ideas and topics in a group setting. This facilitates idea generation and exploration as different team members consider the same concept from multiple perspectives.

Hosting brainstorming sessions can result in problems, such as groupthink or social loafing. To combat this, leverage a three-step brainstorming method involving divergence and convergence :

  • Have each group member come up with as many ideas as possible and write them down to ensure the brainstorming session is productive.
  • Continue the divergence of ideas by collectively sharing and exploring each idea as a group. The goal is to create a setting where new ideas are inspired by open discussion.
  • Begin the convergence of ideas by narrowing them down to a few explorable options. There’s no "right number of ideas." Don't be afraid to consider exploring all of them, as long as you have the resources to do so.

Alternate Worlds

The alternate worlds tool is an empathetic approach to creative problem-solving. It encourages you to consider how someone in another world would approach your situation.

For example, if you’re concerned that the printers you produce overheat and catch fire, consider how a different industry would approach the problem. How would an automotive expert solve it? How would a firefighter?

Be creative as you consider and research alternate worlds. The purpose is not to nail down a solution right away but to continue the ideation process through diverging and exploring ideas.

Which HBS Online Entrepreneurship and Innovation Course is Right for You? | Download Your Free Flowchart

Continue Developing Your Skills

Whether you’re an entrepreneur, marketer, or business leader, learning the ropes of design thinking can be an effective way to build your skills and foster creativity and innovation in any setting.

If you're ready to develop your design thinking and creative problem-solving skills, explore Design Thinking and Innovation , one of our online entrepreneurship and innovation courses. If you aren't sure which course is the right fit, download our free course flowchart to determine which best aligns with your goals.

what is iterative problem solving

About the Author

Encyclopedia

Writing with artificial intelligence, problem-solving strategies for writers: a review of research.

  • © 2023 by Joseph M. Moxley - Professor of English - USF

Traditionally, in U.S. classrooms, the writing process is depicted as a series of linear steps (e.g., prewriting , writing , revising , and editing ). However, since the 1980s the writing process has also been depicted as a problem-solving process. This article traces the evolution of Linda Flower and John Hayes' problem-solving model of the writing process, and it provides you with an opportunity to illustrate your own writing process.

what is iterative problem solving

What are Problem Solving Strategies for Writers?

As an alternative to imagining the writing process to be a series of steps or stages that writers work through in linear manner or as a largely mysterious, creative processes informed by embodied knowledge , felt sense , and inner speech, Linda Flower and John Hayes suggested in 1977 that writing should be thought of as a “thinking problem,” a “problem-solving process,” or “cognitive problem solving process”:

“We frequently talk of writing as if it were a series of independent temporally bounded actions (e.g.,  pre-writing ,  writing ,  rewriting ). It is more accurate to see it as a hierarchical set of subproblems arranged under a goal or set of goals. The process then is an iterative one. For each subproblem along the way — whether it is making a logical connection between hazy ideas, or finding a persuasive tone — the writer may draw on a whole repertoire of procedures and heuristics” (Flower & Hayes, 1977, p. 460-461).

Examples of Problem-Solving Strategies

  • Rhetorical analysis , rhetorical reasoning
  • Engage in logical reasoning
  • Engaging in the information literacy perspectives and practices of educated, critical readers
  • Working with others during the writing process , such as brainstorming ideas together, collaborating on a draft , or writing as part of a team .
  • Sharing drafts with peers and giving each other constructive feedback . This can help writers see their work from different perspectives and identify areas for improvement that they might have overlooked.
  • Seeking guidance from more experienced writers or instructors, such as a teacher, tutor, or writing center consultant. This can involve discussing writing challenges, getting feedback on drafts , or learning new writing strategies .
  • Talking through ideas with others before and during the writing process . This can help writers clarify their thoughts, explore different viewpoints, and generate new ideas.
  • In group writing projects, members might need to negotiate on various aspects, like the division of tasks, the main argument or focus of the piece, or the style and tone of the writing .
  • Considering the needs, expectations, and perspectives of the intended readers. This can influence many aspects of the writing, from the overall structure and argument to the choice of language and examples.
  • Defining what one wants to achieve with a piece of writing, be it a specific grade, clarity of argument , or a certain word count.
  • Finding ways to stay motivated during the writing process, such as breaking the task into manageable pieces, rewarding oneself after reaching certain milestones, or focusing on the value and relevance of the task.
  • Managing feelings of frustration, anxiety, or boredom that may arise during the writing process. This might involve taking breaks, practicing mindfulness, or reframing negative thoughts.
  • Organizing one’s time effectively to meet deadlines and avoid last-minute stress. This might involve creating a writing schedule, setting aside specific times for writing, or using tools like timers or apps to stay focused.
  • Regularly reflecting on one’s writing process and progress, identifying strengths and areas for improvement, and making adjustments as necessary.
  • Critically reviewing one’s own writing to identify potential improvements, before getting feedback from others.
  • Thinking about one’s own thinking or writing process involves setting goals, self-monitoring one’s progress, and adjusting tactics as needed.

Review of Research

Initially, in 1977, the problem-solving model was fairly simple: it focused on the writer’s memory, the task environment (aka the rhetorical situation ), prewriting , and reviewing. By 2014, following multiple iterations, the model had become more sophisticated, adding layers of complexity, such as the writer’s motivation, their knowledge of design schemas (given the visual turn in writing ), their intrapersonal and intrapersonal competencies , and their access to production technologies (aka, new writing spaces).

In 1980 Hayes and Flower introduced their cognitive process model in “Identifying the Organization of Writing Processes.” Then, in 1981, they elaborated on that model in “A Cognitive Process Theory of Writing,” an article published in College Composition and Communication , a leading journal in writing studies .

As suggested by the above illustration, Flower and Hayes conceptualized the writing process to be composed of three major cognitive activities:

  • planning – Writers set goals and establish a plan for writing the document.
  • translating – Writers translate thought into words
  • reviewing – Writers detect and correct “weaknesses in the text with respect to language conventions and accuracy of meaning” (p. 12).

They also introduced the concept of a “monitor” to account for how writers switch between planning, translating, and reviewing based on the writer’s assessment of the text.

Later, in “Modeling and Remodeling Writing” (2012), provided a more robust, complex model of the writing process. In his revision, Hayes omitted the concept of the monitor and he suggested that composing occurs on three levels:

  • Control Level This level addresses (1) the writer’s motivation; (2) their ability to set goals (plan, write, revise); (3) their familiarity with writing schemas; (4) their current plan
  • Process Level This level focuses on (1) the task environment and (2) the writing process itself, detailing the interactions between the writer, the task, and the context in which writing occurs. Writing Processes: 1. The Evaluator (e.g., a teacher, boss, or client); 2. The Proposer; 3. The Translator; 4. The Transcriber. Task Environment: 1. Collaborators & Critics; 2. Transcribing Technology; 3. Task Materials, Written Plans; 4. Text Written So Far
  • working memory, which is responsible for temporarily storing and manipulating information during the writing process
  • long-term memory, which stores knowledge about language, genre conventions, and prior experiences with writing tasks
  • attention, which allows writers to focus on specific aspects of the task while filtering out irrelevant information
  • reading, which references the writer’s literary history, what they’ve read and how conversant they are with ongoing scholarly conversations about the topic.

what is iterative problem solving

Some key differences and improvements in the 2012 model include:

  • The 2012 model introduces additional cognitive components, such as working memory and motivation , which were not explicitly addressed in the original model.
  • The 2012 model endeavors to account for the social aspects of writing, including collaboration and communication with others during the writing process.
  • The original Hayes-Flower model presented the writing subprocesses (planning, translating, and reviewing) in a linear fashion. However, the 2012 model emphasizes that these processes are recursive and iterative, meaning that writers continually move back and forth between these stages as they write, revise, and refine their work.
  • The updated model aims to addresses the impact of digital technologies on the writing process, acknowledging that the use of computers, word processing software, and online resources can significantly influence how writers plan, compose, and revise their texts.

In 2014, Hayes, in collaboration with three other colleagues (Leijten et al. 2014), once again revised his model of the composing processes. Leijten et al. argue that writing processes have changed significantly since Hayes’ 2012 revision thanks to the development and adoption of new digital technologies. They were especially interested in online collaboration tools used in the work place.

As illustrated below, in the revised model, Leijten et al. added “design schemas” (e.g., graphics, drawings, photographs, and other visuals) to the control level. At the process level, they added graphics to the text the writer had produced thus far. They also included motivation management at the resource level to address the fatigue and conflicts that can set in during long projects involving many steps and people. Perhaps most importantly, they added a searcher to the writing process to account for how open the writer is to strategic searching or how open they are to new information that contradicts previous information .

what is iterative problem solving

A Fun Exercise

One of the takeaways from research on writer’s composing processes is that we’re all special snowflakes: we each have our unique processes for generating, research, and writing.

To gain some insight into your own writing processes, why not draw it?

  • Get your crayons out or whatever writing tools you use to draw.
  • Draft your own vision of the writing process.
  • Write a narrative that explains your drawing.

Hayes, J. R., & Flower, L. (1980). Identifying the Organization of Writing Processes. In L. W. Gregg, & E. R. Steinberg (Eds.), Cognitive Processes in Writing: An Interdisciplinary Approach (pp. 3-30). Hillsdale, NJ: Lawrence Erlbaum.  

Hayes, J. R. (2012). Modeling and remodeling writing. Written Communication, 29(3), 369-388. https://doi: 10.1177/0741088312451260

Hayes, J. R., & Flower, L. S. (1986). Writing research and the writer. American Psychologist, 41(10), 1106-1113. https://doi.org/10.1037/0003-066X.41.10.1106

Leijten, Van Waes, L., Schriver, K., & Hayes, J. R. (2014). Writing in the workplace: Constructing documents using multiple digital sources. Journal of Writing Research, 5(3), 285–337. https://doi.org/10.17239/jowr-2014.05.03.3

Brevity - Say More with Less

Brevity - Say More with Less

Clarity (in Speech and Writing)

Clarity (in Speech and Writing)

Coherence - How to Achieve Coherence in Writing

Coherence - How to Achieve Coherence in Writing

Diction

Flow - How to Create Flow in Writing

Inclusivity - Inclusive Language

Inclusivity - Inclusive Language

Simplicity

The Elements of Style - The DNA of Powerful Writing

Unity

Recommended

Student engrossed in reading on her laptop, surrounded by a stack of books

Academic Writing – How to Write for the Academic Community

You cannot climb a mountain without a plan / John Read

Structured Revision – How to Revise Your Work

what is iterative problem solving

Professional Writing – How to Write for the Professional World

what is iterative problem solving

Credibility & Authority – How to Be Credible & Authoritative in Research, Speech & Writing

How to Cite Sources in Academic and Professional Writing

Citation Guide – Learn How to Cite Sources in Academic and Professional Writing

Image of a colorful page with a big question in the center, "What is Page Design?"

Page Design – How to Design Messages for Maximum Impact

Suggested edits.

  • Please select the purpose of your message. * - Corrections, Typos, or Edits Technical Support/Problems using the site Advertising with Writing Commons Copyright Issues I am contacting you about something else
  • Your full name
  • Your email address *
  • Page URL needing edits *
  • Email This field is for validation purposes and should be left unchanged.

Other Topics:

Citation - Definition - Introduction to Citation in Academic & Professional Writing

Citation - Definition - Introduction to Citation in Academic & Professional Writing

  • Joseph M. Moxley

Explore the different ways to cite sources in academic and professional writing, including in-text (Parenthetical), numerical, and note citations.

Collaboration - What is the Role of Collaboration in Academic & Professional Writing?

Collaboration - What is the Role of Collaboration in Academic & Professional Writing?

Collaboration refers to the act of working with others or AI to solve problems, coauthor texts, and develop products and services. Collaboration is a highly prized workplace competency in academic...

Genre

Genre may reference a type of writing, art, or musical composition; socially-agreed upon expectations about how writers and speakers should respond to particular rhetorical situations; the cultural values; the epistemological assumptions...

Grammar

Grammar refers to the rules that inform how people and discourse communities use language (e.g., written or spoken English, body language, or visual language) to communicate. Learn about the rhetorical...

Information Literacy - Discerning Quality Information from Noise

Information Literacy - Discerning Quality Information from Noise

Information Literacy refers to the competencies associated with locating, evaluating, using, and archiving information. In order to thrive, much less survive in a global information economy — an economy where information functions as a...

Mindset

Mindset refers to a person or community’s way of feeling, thinking, and acting about a topic. The mindsets you hold, consciously or subconsciously, shape how you feel, think, and act–and...

Rhetoric: Exploring Its Definition and Impact on Modern Communication

Rhetoric: Exploring Its Definition and Impact on Modern Communication

Learn about rhetoric and rhetorical practices (e.g., rhetorical analysis, rhetorical reasoning,  rhetorical situation, and rhetorical stance) so that you can strategically manage how you compose and subsequently produce a text...

Style

Style, most simply, refers to how you say something as opposed to what you say. The style of your writing matters because audiences are unlikely to read your work or...

The Writing Process - Research on Composing

The Writing Process - Research on Composing

The writing process refers to everything you do in order to complete a writing project. Over the last six decades, researchers have studied and theorized about how writers go about...

Writing Studies

Writing Studies

Writing studies refers to an interdisciplinary community of scholars and researchers who study writing. Writing studies also refers to an academic, interdisciplinary discipline – a subject of study. Students in...

Featured Articles

Student engrossed in reading on her laptop, surrounded by a stack of books

Advisory boards aren’t only for executives. Join the LogRocket Content Advisory Board today →

LogRocket blog logo

  • Product Management
  • Solve User-Reported Issues
  • Find Issues Faster
  • Optimize Conversion and Adoption

A guide to the A3 problem-solving framework

what is iterative problem solving

Have you ever found yourself in a situation where you were faced with a problem and didn’t know where to start? While this can be a daunting scenario, there are a number of frameworks you can leverage to take some of the guesswork away and set up a process for approaching these in the future. One of these is the A3 problem-solving framework developed from Toyota’s lean manufacturing practices.

what is iterative problem solving

The A3 problem-solving framework uses a structured approach to address complex problems and gets its name from the A3-size paper used to document the process. With it, you can diagnose the root cause of complex problems and resolve them efficiently.

This article explains the A3 framework, how to use it for problem solving, and accompanying best practices.

Understanding the A3 framework

The A3 problem-solving framework is a structured approach that uses a single A3-sized sheet of paper to document the entire problem-solving process. It includes several key components:

Understanding The Framework

  • Background — Context and importance of the problem
  • Current conditions — Detailed description of the current state
  • Goal statement — Clear objectives to achieve
  • Root cause analysis — Identifying the underlying causes
  • Countermeasures — Proposed solutions to address the root causes
  • Implementation — Steps to put the solutions into action
  • Follow-up — Evaluation of results and future actions

The A3 framework offers several benefits. Think of it as a structured approach to problem-solving. Using it will promote clear documentation, and improved communication among team members.

Step-by-step guide to A3 problem solving

There are a few key steps to correctly apply the A3 problem-solving framework. Each structured step guides you through the entire process. It helps you develop the skill of identifying gaps and proactively resolving issues.

Each step also builds up the understanding of the problems:

Step-By-Step Guide

Here are the key steps involved:

  • Step one — Clearly define the problem and understand its background and current conditions
  • Step two — Use techniques like the 5 whys and fishbone diagrams to identify the root causes
  • Step three — Brainstorm and develop effective countermeasures to address the root cause
  • Step four — Follow best practices to implement the chosen countermeasures and ensure stakeholder buy-in
  • Step five — Track the implementation, evaluate results, and ensure continuous improvement

This method resolves the immediate issue effectively. Additionally, it lays the groundwork for ongoing improvements and sustainable long-term success.

A3 framework case study

Spotify used the A3 framework effectively to rectify an issue it had with its weekly feature engagement. Its product management team applied the process to identify and resolve the root cause. In this case, the A3 framework looked like:

  • Define the problem — The team noted a significant drop in user engagement with Discover Weekly playlists
  • Analyze the root cause — Using the 5 whys technique, they discovered that the algorithm wasn’t personalizing recommendations effectively, leading to irrelevant song suggestions
  • Develop countermeasures — The team brainstormed solutions. From refining the algorithm to better account preferences, they considered precise countermeasures
  • Implement the solution — They rolled out the improved algorithm in stages. Close monitoring of user feedback and engagement metrics proved game-changing
  • Evaluate — Here, the team continuously tracked engagement metrics and user feedback after the update, which led to several iterative adjustments to the algorithm over time

Best practices for using the A3 framework

As a product manager, you should adopt specific best practices to maximize the A3 framework’s effectiveness. These practices focus on documentation, collaboration, and continuous improvement:

  • Maintain clear and concise documentation throughout the A3 process. You need to promote a culture of transparency and progress tracking
  • Encourage cross-functional collaboration. Involve the right stakeholders to gather valuable data. A good collaboration is based on diverse perspectives and expertise
  • Emphasize the need for continuous improvement. Also, regularly revisit the A3 document to update and refine it

By following these best practices, you can leverage the full potential of the A3 framework.

Key takeaways

When it comes to complex issues, implementing the A3 problem-solving framework allows you to solve them systematically and effectively. This structured approach ensures that root causes are identified and solutions are developed and implemented in a timely manner.

The following key pointers will prove useful for your day-to-day reference:

  • Clearly define problems and understand the background and current conditions
  • Use root cause analysis techniques like the 5 whys and fishbone diagrams to identify underlying issues
  • Develop targeted countermeasures and implement solutions with stakeholder buy-in
  • Maintain clear and concise documentation throughout the A3 process
  • Foster cross-functional collaboration to gather diverse insights and expertise
  • Emphasize continuous improvement by regularly revisiting and refining the A3 document

By integrating these practices into your problem-solving strategy, you can tackle challenges head-on. Good luck! And as always, comment with questions.

Featured image source: IconScout

LogRocket generates product insights that lead to meaningful action

Get your teams on the same page — try LogRocket today.

what is iterative problem solving

Over 200k developers and product managers use LogRocket to create better digital experiences

what is iterative problem solving

Share this:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • #career development
  • #tools and resources

what is iterative problem solving

Stop guessing about your digital experience with LogRocket

Recent posts:.

what is iterative problem solving

A guide to social commerce

Social commerce occurs when companies use social media platforms to sell products or services to a targeted group of users.

what is iterative problem solving

Leader Spotlight: Aligning around the customer’s perspective, with Jason Mariasis

Jason Mariasis discusses how he works to bring all departments together to build a shared understanding of the customer’s perspective.

what is iterative problem solving

Mastering the art of cross-selling to boost sales

Cross-selling is the process of introducing complementary products or services that add additional value to a current sale or post sale.

what is iterative problem solving

Leader Spotlight: Boosting conversion rate optimization, with Josh Patrick

Josh Patrick talks about effective conversion rate optimization (CRO) techniques, such as trust builders and safety and security measures.

Leave a Reply Cancel reply

More From Forbes

Computational thinking is a key problem-solving skill in the ai era.

Forbes Human Resources Council

  • Share to Facebook
  • Share to Twitter
  • Share to Linkedin

Neil Morelli, Ph.D., Chief I-O Psychologist, Codility .

A May 2024 Reuters Institute and University of Oxford survey, which included more than 12,000 people from six countries, found that 21% of respondents on average have used ChatGPT professionally. This will surely grow as companies ramp up their AI adoption efforts and look for job candidates with generative AI skills. In fact, Microsoft's 2024 Work Trend Index Annual Report estimates that 71% of leaders are now more likely to hire a candidate with AI skills, even if they have less overall experience.

As AI becomes more prevalent in the workplace, there's one vital skill that can help determine a worker's success in learning, deploying and working with AI tools: computational thinking.

What Is Computational Thinking?

You might not have heard of computational thinking before, but computer scientists and educators have discussed similar concepts since the 1960s. But it was Jeannette Wing, an MIT-trained computer scientist and Columbia professor, who popularized computational thinking in 2006 . She argued that it's a "universally applicable attitude and skill set" that can benefit anyone.

Similar to general problem-solving, computational thinking involves breaking down problems, pulling out key information and forming solutions. But it goes a step further and turns solutions into repeatable instructions that a computer can understand and automate. Computational thinking has five parts: breaking problems into more solvable pieces, abstracting how a problem works into underlying rules, designing a series of steps that take inputs and produce an output (an algorithm), testing a solution over multiple cycles and generalizing the solution to similar problems.

Florida Braces For ‘Dirty Rain.’ What That Means

There is only one actor who can take over as mcu wolverine from hugh jackman, crowdstrike update: microsoft releases windows tool to fix 8.5 million machines.

Wing emphasized that computational thinking is a fundamental skill for problem-solvers, not just a rote mechanical skill for computer literacy or programming. It helps solve problems by finding patterns, understanding new systems and improving solutions with feedback.

To borrow a simple illustration , what do you do when your mobile phone stops working? If you're thinking computationally, you'll form a mental model of how the phone works and hypothesize that a manual reset may refresh the device's internal state to get it working again. Similarly, computational thinking helps AI users create mental models of the systems so they can work more effectively with these tools.

3 Ways Computational Thinking Improves Effectiveness With AI

Let's explore three fundamental aspects of computational thinking and their relevance to AI.

1. Breaking Problems Into Solvable Parts

Computational thinking allows you to divide up problems into more manageable, solvable components. Once broken down, you'll begin abstracting the parts into a working model. When their components are isolated and understood, big problems become less menacing and easier to solve.

When applied to AI, this skill translates into using effective prompting techniques to guide the model toward better solutions. This might involve breaking down complex queries into smaller parts (chain of thought) or providing examples to illustrate the desired outcome ( few-shot learning ).

2. Understanding A System

Computational thinking helps problem-solvers understand systems and get a sense of which AI tool works best for the task. With this thought process, they can better identify the appropriate AI model to employ—whether public, private, fine-tuned or foundational—or if an AI tool is necessary at all. For instance, programming thought leaders like Dave Farley argue that developers save time with generative AI coding tools when they understand whether it's easier to write the code manually or prompt the AI and modify the output.

3. Iterating And Improving Outputs

Recognizing patterns and thinking in loops to improve solutions continuously is a key component of computational thinking. The best problem-solvers use trial and error to improve solutions each time. Computational thinkers can build on AI-generated outputs with additional instructions and refinements using their knowledge and creativity over multiple cycles to increase quality and usability.

Computational Thinking: Beyond Programming

Computational thinking is a foundational skill that underpins effective software engineering. But it extends beyond simply knowing a programming language. It involves thinking like a computer scientist to solve problems.

Wing predicted that as technical systems become more integrated into our daily lives, this way of thinking would become essential for everyone. Today, AI assistants are making this prediction a reality. These tools provide access to advanced computing power through natural language interactions rather than requiring users to communicate in machine language. This shift acts as a force multiplier for computational thinking skills, and more people can supercharge their problem-solving capabilities.

As AI reshapes the modern economy, organizations must identify and nurture problem-solving skills using computing systems, in addition to assessing and developing pure technical skills within a limited set of roles. The most successful workforces will be those that blend human creativity and judgment with AI capabilities. By developing and applying computational thinking skills, professionals across all fields can enhance their effectiveness and adapt to the changing landscape.

Forbes Human Resources Council is an invitation-only organization for HR executives across all industries. Do I qualify?

Neil Morelli

  • Editorial Standards
  • Reprints & Permissions

what is iterative problem solving

  • {{subColumn.name}}

AIMS Mathematics

what is iterative problem solving

  • {{newsColumn.name}}
  • Share facebook twitter google linkedin

what is iterative problem solving

The development of new efficient iterative methods for the solution of absolute value equations

  • Rashid Ali 1 ,  ,  , 
  • Fuad A. Awwad 2 , 
  • Emad A. A. Ismail 2
  • 1. School of Mathematical Sciences, Zhejiang Normal University, Jinhua 321004, Zhejiang, China
  • 2. Department of Quantitative analysis, College of Business Administrations, King Saud University, P.O. Box 71115, Riyadh 11587, Saudi Arabia
  • Received: 22 May 2024 Revised: 02 July 2024 Accepted: 16 July 2024 Published: 22 July 2024

MSC : 49M20, 90C33

  • Full Text(HTML)
  • Download PDF

The use of absolute value equations (AVEs) is widespread across a wide range of fields, including scientific computing, management science, and engineering. Our aim in this study is to introduce two new methods for solving AVEs and to explore their convergence characteristics. Furthermore, numerical experiments will be carried out to demonstrate their feasibility, robustness, and efficacy.

  • iterative methods ,
  • convergence ,
  • absolute value equations ,
  • numerical results

Citation: Rashid Ali, Fuad A. Awwad, Emad A. A. Ismail. The development of new efficient iterative methods for the solution of absolute value equations[J]. AIMS Mathematics, 2024, 9(8): 22565-22577. doi: 10.3934/math.20241098

Related Papers:

[1] , (2004), 421–426. http://dx.doi.org/10.1080/0308108042000220686 --> J. Rohn, A theorem of the alternatives for the equation $Ax + B|x| = b $, , (2004), 421–426. http://dx.doi.org/10.1080/0308108042000220686 doi:
[2] , (2007), 43–53. http://dx.doi.org/10.1007/s10589-006-0395-5 --> O. Mangasarian, Absolute value programming, , (2007), 43–53. http://dx.doi.org/10.1007/s10589-006-0395-5 doi:
[3] , (2009), 101–108. http://dx.doi.org/10.1007/s11590-008-0094-5 --> O. Mangasarian, A generalized Newton method for absolute value equations, , (2009), 101–108. http://dx.doi.org/10.1007/s11590-008-0094-5 doi:
[4] , (2009), 363–372. http://dx.doi.org/10.1007/s10589-007-9158-1 --> O. Prokopyev, On equivalent reformulations for absolute value equations, , (2009), 363–372. http://dx.doi.org/10.1007/s10589-007-9158-1 doi:
[5] , in press. --> R. Ali, Z. Zhang, F. Awwad, The study of new fixed-point iteration schemes for solving absolute value equations, , in press.
[6] , (2010), 417–424. http://dx.doi.org/10.1007/s11590-009-0169-y --> S. Hu, Z. Huang, A note on absolute value equations, , (2010), 417–424. http://dx.doi.org/10.1007/s11590-009-0169-y doi:
[7] , (2006), 359–367. http://dx.doi.org/10.1016/j.laa.2006.05.004 --> O. Mangasarian, R. Meyer, Absolute value equations, , (2006), 359–367. http://dx.doi.org/10.1016/j.laa.2006.05.004 doi:
[8] , (2007), 3–8. http://dx.doi.org/10.1007/s11590-006-0005-6 --> O. Mangasarian, Absolute value equation solution via concave minimization, , (2007), 3–8. http://dx.doi.org/10.1007/s11590-006-0005-6 doi:
[9] , (2024), 128378. http://dx.doi.org/10.1016/j.amc.2023.128378 --> R. Ali, A. Akgül, A new matrix splitting generalized iteration method for linear complementarity problems, , (2024), 128378. http://dx.doi.org/10.1016/j.amc.2023.128378 doi:
[10] , (2023), 867–879. http://dx.doi.org/10.1080/00207160.2022.2163388 --> N. Yilmaz, A. Sahiner, Smoothing techniques in solving non-Lipschitz absolute value equations, , (2023), 867–879. http://dx.doi.org/10.1080/00207160.2022.2163388 doi:
[11] , (2023), 2350106. http://dx.doi.org/10.1142/S1793557123501061 --> R. Ali, A. Ali, The matrix splitting fixed point iterative algorithms for solving absolute value equations, , (2023), 2350106. http://dx.doi.org/10.1142/S1793557123501061 doi:
[12] , (2021), 113578. http://dx.doi.org/10.1016/j.cam.2021.113578 --> H. Zhou, S. Wu, C. Li, Newton-based matrix splitting method for generalized absolute value equation, , (2021), 113578. http://dx.doi.org/10.1016/j.cam.2021.113578 doi:
[13] , (2016), 2191–2202. http://dx.doi.org/10.1007/s11590-014-0727-9 --> D. Salkuyeh, The Picard-HSS iteration method for absolute value equations, , (2016), 2191–2202. http://dx.doi.org/10.1007/s11590-014-0727-9 doi:
[14] , (2023), 291–296. http://dx.doi.org/10.1016/j.aej.2022.08.052 --> A. Khan, J. Iqbal, A. Akgul, R. Ali, Y. Du, A. Hussain, et al., A Newton-type technique for solving absolute value equations, , (2023), 291–296. http://dx.doi.org/10.1016/j.aej.2022.08.052 doi:
[15] , (2011), 1793–1797. http://dx.doi.org/10.5897/IJPS11.244 --> M. Noor, J. Iqbal, S. Khattri, E. Al-Said, A new iterative method for solving absolute value equations, , (2011), 1793–1797. http://dx.doi.org/10.5897/IJPS11.244 doi:
[16] , (2017), 195–202. http://dx.doi.org/10.1016/j.amc.2017.05.035 --> Y. Ke, C. Ma, SOR-like iteration method for solving absolute value equations, , (2017), 195–202. http://dx.doi.org/10.1016/j.amc.2017.05.035 doi:
[17] , (2020), 410–421. http://dx.doi.org/10.1016/j.apnum.2020.05.013 --> X. Dong, X. Shao, H. Shen, A new SOR-like method for solving absolute value equations, , (2020), 410–421. http://dx.doi.org/10.1016/j.apnum.2020.05.013 doi:
[18] , (2024), 49–66. http://dx.doi.org/10.21136/AM.2023.0171-22 --> J. Tang, Inexact Newton-type method for solving large-scale absolute value equation $ Ax-|x| = b $, , (2024), 49–66. http://dx.doi.org/10.21136/AM.2023.0171-22 doi:
[19] , (2014), 35–44. http://dx.doi.org/10.1007/s11590-012-0560-y --> J. Rohn, V. Hooshyarbakhsh, R. Farhadsefat, An iterative method for solving absolute value equations and sufficient conditions for unique solvability, , (2014), 35–44. http://dx.doi.org/10.1007/s11590-012-0560-y doi:
[20] , (2019), 229–234. http://dx.doi.org/10.1016/j.orl.2019.03.014 --> J. Tang, J. Zhou, A quadratically convergent descent method for the absolute value equation $Ax+B|x| = b$, , (2019), 229–234. http://dx.doi.org/10.1016/j.orl.2019.03.014 doi:
[21] , (2011), 45–58. http://dx.doi.org/10.1007/s10589-009-9242-9 --> L. Caccetta, B. Qu, G. Zhou, A globally and quadratically convergent method for absolute value equations, , (2011), 45–58. http://dx.doi.org/10.1007/s10589-009-9242-9 doi:
[22] , (2009), 391–403. http://dx.doi.org/10.1007/s10957-009-9557-9 --> C. Zhang, Q. Wei, Global and finite convergence of a generalized Newton method for absolute value equations, , (2009), 391–403. http://dx.doi.org/10.1007/s10957-009-9557-9 doi:
[23] , (2019), 216–230. http://dx.doi.org/10.1007/s10957-018-1439-6 --> A. Wang, Y. Cao, J. Chen, Modified Newton-type iteration methods for generalized absolute value equations, , (2019), 216–230. http://dx.doi.org/10.1007/s10957-018-1439-6 doi:
[24] , (2018), 221–226. http://dx.doi.org/10.1016/j.cam.2017.12.027 --> Y. Lian, C. Li, S. Wu, Weaker convergent results of the generalized Newton method for the generalized absolute value equations, , (2018), 221–226. http://dx.doi.org/10.1016/j.cam.2017.12.027 doi:
[25] , (2020), 1258–1275. http://dx.doi.org/10.3934/math.2021078 --> Y. Cao, Q. Shi, S. Zhu, A relaxed generalized Newton iteration method for generalized absolute value equations, , (2020), 1258–1275. http://dx.doi.org/10.3934/math.2021078 doi:
[26] , (2024), 115747. http://dx.doi.org/10.1016/j.cam.2023.115747 --> C. Zhou, Y. Cao, Q. Shen, Q. Shi, A modified Newton-based matrix splitting iteration method for generalized absolute value equations, , (2024), 115747. http://dx.doi.org/10.1016/j.cam.2023.115747 doi:
[27] , (2024), 1137–1148. http://dx.doi.org/10.1007/s13160-023-00641-3 --> X. Lv, S. Miao, An inexact fixed point iteration method for solving absolute value equation, , (2024), 1137–1148. http://dx.doi.org/10.1007/s13160-023-00641-3 doi:
[28] , (2024), 109109. http://dx.doi.org/10.1016/j.aml.2024.109109 --> X. Lv, S. Miao, A new inexact fixed point iteration method for solving tensor absolute value equation, , (2024), 109109. http://dx.doi.org/10.1016/j.aml.2024.109109 doi:
[29] , (2021), 229. http://dx.doi.org/10.1007/s40314-021-01618-z --> J. Zhang, S. Miao, A general fast shift-splitting iteration method for nonsymmetric saddle point problems, , (2021), 229. http://dx.doi.org/10.1007/s40314-021-01618-z doi:
[30] , (2020), 5171–5183. http://dx.doi.org/10.3934/math.2020332 --> S. Wu, C. Li, A special shift splitting iteration method for absolute value equation, , (2020), 5171–5183. http://dx.doi.org/10.3934/math.2020332 doi:
[31] , (2017), 156–167. http://dx.doi.org/10.1016/j.amc.2016.08.020 --> V. Edalatpour, D. Hezari, D. Salkuyeh, A generalization of the Gauss-Seidel iteration method for solving absolute value equations, , (2017), 156–167. http://dx.doi.org/10.1016/j.amc.2016.08.020 doi:
[32] , Heidelberg: Springer, 1999. --> R. Varga, , Heidelberg: Springer, 1999.
[33] , (2021), 1–23. http://dx.doi.org/10.30495/JME.2021.1393 --> A. Fakharzadeh, N. Shams, An efficient algorithm for solving absolute value equations, , (2021), 1–23. http://dx.doi.org/10.30495/JME.2021.1393 doi:
[34] , (2017), 1750016. http://dx.doi.org/10.1142/S0219876217500165 --> C. Li, A preconditioned AOR iterative method for the absolute value equations, , (2017), 1750016. http://dx.doi.org/10.1142/S0219876217500165 doi:
[35] , (2022), 241–252. http://dx.doi.org/10.4171/PM/2089 --> R. Ali, K. Pan, The solution of a type of absolute value equations using two new matrix splitting iterative techniques, , (2022), 241–252. http://dx.doi.org/10.4171/PM/2089 doi:
[36] , (2021), 107461. http://dx.doi.org/10.1016/j.aml.2021.107461 --> Z. Yu, L. Li, Y. Yuan, A modified multivariate spectral gradient algorithm for solving absolute value equations, , (2021), 107461. http://dx.doi.org/10.1016/j.aml.2021.107461 doi:
  • This work is licensed under a Creative Commons Attribution-NonCommercial-Share Alike 4.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ -->

Supplements

Access History

Reader Comments

  • © 2024 the Author(s), licensee AIMS Press. This is an open access article distributed under the terms of the Creative Commons Attribution License ( http://creativecommons.org/licenses/by/4.0 )

通讯作者: 陈斌, [email protected]

沈阳化工大学材料科学与工程学院 沈阳 110142

what is iterative problem solving

Article views( 42 ) PDF downloads( 8 ) Cited by( 0 )

Figures and Tables

Tables( 3 )

what is iterative problem solving

Associated material

Other articles by authors.

  • Fuad A. Awwad
  • Emad A. A. Ismail

Related pages

  • on Google Scholar
  • Email to a friend
  • Order reprints

Export File

shu

ACM Digital Library home

  • Advanced Search

Gradient Method for Solving Singular Optimal Control Problems

New citation alert added.

This alert has been successfully added and will be sent to:

You will be notified whenever a record that you have chosen has been cited.

To manage your alert preferences, click on the button below.

New Citation Alert!

Please log in to your account

Information & Contributors

Bibliometrics & citations, view options, recommendations, finding candidate singular optimal controls: a state of the art survey.

Pontryagin's maximum principle gives no information about a singular optimal control if the problem is linear. This survey shows how candidate singular optimal controls may be found for linear and nonlinear problems. A theorem is given on the maximum ...

Second-order optimality principle for singular optimal control problems

Recently published results of Gift (Ref. 1) are concerned with the necessary conditions for singular optimal control problems (in the sense of Pontryagin's minimum principle). However, those results are incorrect. An illustrative counterexample is given ...

Choosing grid points in solving singular optimal control problems by iterative dynamic programming

In using iterative dynamic programming to determine the optimal control policy of complex systems, the time interval is divided into P time intervals to convert the optimal control problem into an optimization problem involving P stages. We consider ...

Information

Published in.

cover image Guide Proceedings

https://ror.org/036b2ww28University of Malaga, Malaga, Spain

University of Amsterdam, Amsterdam, The Netherlands

AGH University of Science and Technology, Krakow, Poland

https://ror.org/04dkp9463University of Amsterdam, Amsterdam, The Netherlands

University of Tennessee, Knoxville, TN, USA

Springer-Verlag

Berlin, Heidelberg

Publication History

Author tags.

  • Gradient method
  • Optimal control
  • Singular control
  • Mathematical modelling

Contributors

Other metrics, bibliometrics, article metrics.

  • 0 Total Citations
  • 0 Total Downloads
  • Downloads (Last 12 months) 0
  • Downloads (Last 6 weeks) 0

View options

Login options.

Check if you have access through your login credentials or your institution to get full access on this article.

Full Access

Share this publication link.

Copying failed.

Share on social media

Affiliations, export citations.

  • Please download or close your previous search result export first before starting a new bulk export. Preview is not available. By clicking download, a status dialog will open to start the export process. The process may take a few minutes but once it finishes a file will be downloadable from your browser. You may continue to browse the DL while the export process is in progress. Download
  • Download citation
  • Copy citation

We are preparing your search results for download ...

We will inform you here when the file is ready.

Your file of search results citations is now ready.

Your search export query has expired. Please try again.

Plan ahead for the next school year. Schedule your class today !

Something appears to not have loaded correctly.

Click to refresh .

what is iterative problem solving

Shield

Jul. 23, 2024

Rice students explore ‘new perspective on problem-solving’ in paris summer program.

students next to Eiffel Tower

This summer a group of Rice University students experienced firsthand how travel can enhance education during a two-week trip to Paris as part of the international Summer Experience in Engineering Design program, or iSEED. “Over a two-week period, students in the iSEED program are here in Paris to solve real-world challenges,” said Matthew Wettergreen, a Rice engineering faculty member who accompanied the students and taught the engineering design course module. “For these two weeks, we’re focused on a rapid iteration of solving problems by building prototypes, testing those prototypes and then circling back to redesign those prototypes.” This year’s cohort of students worked on a project for a client in Paris who is a wheelchair user. Some of the client’s requests included a sunshade and a cup holder for hot liquids that is easily accessible and tailored to her range of motion.

students

“We’re here in Paris to show students a new perspective on problem-solving,” said Wettergreen, an associate teaching professor in the department of bioengineering and at the Oshman Engineering Design Kitchen (OEDK) and director of the global medical innovation program. “What I think is important about learning how to problem-solve is using different lenses to do so. For instance, when you train for a marathon, there are days where you run long distances, there are days where you run intervals, and there are days where you run short distances. Similarly in the learning process, variety is just as important as repetition.” While prior engineering coursework is encouraged, it is not a requirement for iSEED participation. Sienna Tu, a cognitive sciences major at Rice, said the opportunity to both experience Paris and take an engineering class was “really amazing.” “It’s very exciting, I’m very grateful for this opportunity to study abroad in Paris, and I think that I’ve learned a lot while being here,” said Taofeekat Lamina, who is majoring in computer science.

students

For the duration of the program, students reside and attend class sessions in the Rice Global Paris Center, which serves as a central hub for the Rice community in Paris. Housed within a picturesque historic building, the center boasts an interior garden and stunning architectural design. Its location in the historic Marais district provides an ideal starting point for exploring the city. “I think this is probably the coolest building that I’ve ever been into at Rice,” said Maximillian Knyazev-Julinski, a Rice junior majoring in business.

“My favorite part is the garden outside, because it is so quiet you can’t even hear the city, and it’s just a beautiful arrangement of plants and flowers,” Lamina said.

garden

Initially launched in Gothenburg, Sweden, in 2019, iSEED offers students a summer study abroad opportunity to earn credits toward the engineering design minor as well as minors in global health technologies or entrepreneurship. Courses may also fulfill requirements for majors or electives, depending on the program. “Often, students face constraints in their busy semester schedules, making it challenging to pursue additional courses for a minor,” said Amy Kavalewitz Dern, director of strategic initiatives and international programs at the OEDK, Rice’s premier undergraduate engineering makerspace. “This program gives them the opportunity to do so over the summer while also having a fulfilling international experience.

“The guiding principle of our study abroad program is to adapt domestic courses to integrate international cultures and communities. Our faculty utilize the city as an extended classroom, fostering interactions with local students, industries and clients to enrich the program further.”

students

In addition to its sessions in Paris, iSEED currently conducts summer study abroad programs in Mexico City and San Cristobal, Mexico; Bologna, Italy; and Amsterdam.

“Each program is unique, focusing on diverse areas, yet all courses provide a solid foundational education,” Kavalewitz said, adding that there are plans underway to expand the program to Tokyo in 2025 and possibly a location in Africa.

This year, the program was supported in part by a one-time contribution from the Moody Experience at Rice.

https://www.youtube.com/watch?v=eyxdVs6KZcU (Video by Brandon Martin/Rice University)

Grab your spot at the free arXiv Accessibility Forum

Help | Advanced Search

Mathematics > Optimization and Control

Title: a fast and scalable iterative solution of a socio-economic security-constrained optimal power flow with two-stage post-contingency control.

Abstract: A fast and scalable iterative methodology for solving the security-constrained optimal power flow (SCOPF) problem is proposed using problem decomposition and the inverse matrix modification lemma. The SCOPF formulation tackles system security operational planning by using short- and long-term post-contingency limits, probability of branch outages, and preventive and corrective actions, a probabilistic corrective-SCOPF problem formulation. Using two post-contingency states and contingency probabilities, the SCOPF could provide good system security at a lower cost than only preventive actions as the typical `N-1'-formulation does. Additional security is ensured using a post-contingency load-shedding limit constraint based on system operator policy. The proposed methodology is applied to a range of test systems containing up to 10,000 buses with a computational time of up to 3375 s for all 12,706 branch contingencies. Calculating contingency power flows takes 1.3% of the total solution time using the proposed methodology exploiting the inverse matrix modification lemma.
Subjects: Optimization and Control (math.OC)
Cite as: [math.OC]
  (or [math.OC] for this version)
  Focus to learn more arXiv-issued DOI via DataCite

Submission history

Access paper:.

  • Other Formats

license icon

References & Citations

  • Google Scholar
  • Semantic Scholar

BibTeX formatted citation

BibSonomy logo

Bibliographic and Citation Tools

Code, data and media associated with this article, recommenders and search tools.

  • Institution

arXivLabs: experimental projects with community collaborators

arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.

Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.

Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs .

A Novel Fixed-Point Iteration Approach for Solving Troesch's Problem

  • Filali, Doaa
  • Akram, Mohammad
  • Dilshad, Mohammad

This paper introduces a novel F fixed-point iteration method that leverages Green's function for solving the nonlinear Troesch problem in Banach spaces, which are symmetric spaces. The Troesch problem, characterized by its challenging boundary conditions and nonlinear nature, is significant in various physical and engineering applications. The proposed method integrates fixed-point theory with Green's function techniques to develop an iteration process that ensures convergence, stability, and accuracy. The numerical experiments demonstrate the method's efficiency and robustness, highlighting its potential for broader applications in solving nonlinear differential equations in Banach spaces.

IMAGES

  1. The Iterative Problem Solving Process

    what is iterative problem solving

  2. Solution, Proposal & Budget

    what is iterative problem solving

  3. 7 Step Problem Solving Process Diagram for PowerPoint

    what is iterative problem solving

  4. The Iterative Problem-Solving Clock

    what is iterative problem solving

  5. 7 steps in problem solving

    what is iterative problem solving

  6. Draw A Map Showing The Problem Solving Process

    what is iterative problem solving

VIDEO

  1. DAY 10 Basic Problem Solving Conditional Statements Iterative Statements Functions

  2. Iterative Algorithms

  3. What is Design Thinking and Its Role in Creative Problem Solving

  4. Learning Through Play

  5. Iterative Methods (for Solving Equations) pt2 Dr. Anthony Yeates

  6. SORT CHARACTERS BY FREQUENCY

COMMENTS

  1. Sequencing, selection, and iteration

    There are three building blocks of algorithms: sequencing, selection, and iteration. Sequencing is the sequential execution of operations, selection is the decision to execute one operation versus another operation (like a fork in the road), and iteration is repeating the same operations a certain number of times or until something is true.

  2. Iterative method

    Iterative method. In computational mathematics, an iterative method is a mathematical procedure that uses an initial value to generate a sequence of improving approximate solutions for a class of problems, in which the n -th approximation is derived from the previous ones. A specific implementation with termination criteria for a given ...

  3. Understanding the Iterative Process: 5 Steps To Success

    What does the iterative process mean? (a.k.a. iterative process definition) An iterative process is an approach to problem-solving that involves breaking down a significant problem into smaller, more manageable pieces. Each piece is then worked on separately, combining and iterating the results to form a final solution.

  4. What is iterative problem solving?

    Iterative problem solving involves a methodical approach where you repetitively apply a series of steps to gradually move closer to the desired solution. This is often visualized as reducing the gap from the current state to the optimal state through incremental improvements.

  5. Iterative Problem Solving

    Iterative Problem Solving. When it comes to solving problems, there are two main lines of thoughts: Plan, plan, do. Do, learn (repeat) I've found during my life experience that the second method is almost always the best one. It arrives at the solution quicker, and it solves the problem better. In this post, I'll explore why that is - how ...

  6. AlgoDaily

    Iteration and recursion are both techniques that you can use for implementing solutions in a programming language. I look at both of them as a way of thinking about a problem and solving it. The most important thing to keep in mind before we start discussing them is: **For any problem that can be solved via iteration, there is a corresponding

  7. Iterative Process

    The iterative process, a procedure that is repeated many times, is a mathematical method of solving problems by repeating a function or process and recycling an output as the next iteration's ...

  8. What is Iteration in Programming?

    This is known as iteration, which allows us to "write code once" and "execute many times." In computer programming, iteration is often referred as 'looping' because instead of repeatedly writing the same code, we can execute the same code a finite number of times. Iteration provides code reusability and simplifies steps of problem-solving.

  9. PDF 7 Iterative Solutions for Solving Systems of Linear Equations

    First we will introduce a number of methods for solving linear equations. These methods are extremely popular, especially when the problem is large such as those that arise from determining numerical solutions to linear partial di erential equations. The objective for solving a system of linear of equations is as follows. Let Abe a full-rank

  10. What is Iteration? Iteration Explained I No Code Glossary

    What is Iteration? Iteration explained. Iteration is a fundamental concept in problem-solving that is used to perform repetitive tasks. It involves repeating a set of instructions multiple times, with each repetition referred to as an iteration. In programming, iteration is a crucial tool that allows you to execute a block of code multiple times without rewriting it each time.

  11. PDF Chapter 5 Iterative Methods for Solving Linear Systems

    Chapter 5. s5.1 Convergence of Sequences of Vectors and MatricesIn Chapter 2 we have discussed some of th. main methods for solving systems of linear equations. These methods are direct methods , in the sense that the. yield exact solutions (assuming infinite precision!).Another class of methods for solving linear systems con-sis.

  12. The Iterative Process: A Guide to Creating, Refining and Improving

    An iterative approach is a method of problem-solving or decision-making that involves repeating a series of steps in a cycle until the desired outcome is achieved. It is characterized by continuous improvement and adaptation based on feedback and results. ... In the context of problem-solving, decision-making, and product development, iterative ...

  13. What Is an Iterative Process? Definition and Stages

    Iterative Process Definition: An iterative process is a method or approach to problem-solving and development that involves repeating a series of steps cyclically. In this process, each iteration builds upon the knowledge gained from the previous one, leading to incremental improvements and refinements over time.

  14. Understanding the iterative process, with examples

    The iterative process is one of those words that, like Agile, automatically makes us think of engineering teams.But most teams iterate in one way or another, and using an iterative method can help you reduce risk, manage efficiency, and approach problems in a more flexible and dynamic way.. If you want to give the iterative process a try, this article is for you.

  15. How to master the seven-step problem-solving process

    Iterative problem solving is a critical part of this. Sometimes, people think work planning sounds dull, but it isn't. It's how we know what's expected of us and when we need to deliver it and how we're progressing toward the answer. It's also the place where we can deal with biases. Bias is a feature of every human decision-making ...

  16. Difference between Recursion and Iteration

    1. Time Complexity. The time complexity of the method may vary depending on whether the algorithm is implemented using recursion or iteration.. Recursion: The time complexity of recursion can be found by finding the value of the nth recursive call in terms of the previous calls.Thus, finding the destination case in terms of the base case, and solving in terms of the base case gives us an idea ...

  17. Recursion vs Iteration Comparison

    Difference in terms of code execution. An iterative process involves repeatedly executing some code statements using a loop until the problem is solved. In contrast, a recursive process involves solving the problem using smaller sub-problems until the smallest version of the problem (the base case) is reached. Recursion is usually slower due to ...

  18. Plan Do Study Act (PDSA)

    The Plan do study act is an iterative, four-stage problem solving model used for improving a process or carrying out change. The PDSA cycle is a systematic series of steps for gaining valuable learning and knowledge for the continuous improvement of a product or process. It is also known as Deming cycle, as Dr. Edward.

  19. 40 problem-solving techniques and processes

    7. Solution evaluation. 1. Problem identification. The first stage of any problem solving process is to identify the problem (s) you need to solve. This often looks like using group discussions and activities to help a group surface and effectively articulate the challenges they're facing and wish to resolve.

  20. The Power of Iteration: Your Secret Key to Problem-Solving

    Let iteration become your trusted companion in the journey of life. With an iterative mindset, you'll transform problems into opportunities, hurdles into learning experiences, and failures into stepping stones towards success. Iteration is not just a problem-solving tool. It's a way of life, a philosophy that encourages continuous learning ...

  21. What Is Creative Problem-Solving & Why Is It Important?

    Creative problem-solving primarily operates in the ideate phase of design thinking but can be applied to others. This is because design thinking is an iterative process that moves between the stages as ideas are generated and pursued. This is normal and encouraged, as innovation requires exploring multiple ideas.

  22. Problem-Solving Strategies for Writers: a Review of Research

    The process then is an iterative one. For each subproblem along the way — whether it is making a logical connection between hazy ideas, or finding a persuasive tone — the writer may draw on a whole repertoire of procedures and heuristics" (Flower & Hayes, 1977, p. 460-461). Examples of Problem-Solving Strategies

  23. A guide to the A3 problem-solving framework

    The A3 problem-solving framework is a structured approach that uses a single A3-sized sheet of paper to document the entire problem-solving process. It includes several key components: ... which led to several iterative adjustments to the algorithm over time; Best practices for using the A3 framework. As a product manager, you should adopt ...

  24. Computational Thinking Is A Key Problem-Solving Skill In The ...

    Similar to general problem-solving, computational thinking involves breaking down problems, pulling out key information and forming solutions. But it goes a step further and turns solutions into ...

  25. The development of new efficient iterative methods for the solution of

    The use of absolute value equations (AVEs) is widespread across a wide range of fields, including scientific computing, management science, and engineering. Our aim in this study is to introduce two new methods for solving AVEs and to explore their convergence characteristics. Furthermore, numerical experiments will be carried out to demonstrate their feasibility, robustness, and efficacy.

  26. Gradient Method for Solving Singular Optimal Control Problems

    Solving an optimal control problem consists in finding a control structure and corresponding switching times. Unlike in a bang-bang case, switching to a singular control perturbs the control structure. ... In using iterative dynamic programming to determine the optimal control policy of complex systems, ...

  27. Math Message Boards FAQ & Community Help

    Art of Problem Solving AoPS Online. Math texts, online classes, and more for students in grades 5-12. Visit AoPS Online ‚ Books for Grades 5-12 ...

  28. Rice students explore 'new perspective on problem-solving' in Paris

    "For these two weeks, we're focused on a rapid iteration of solving problems by building prototypes, testing those prototypes and then circling back to redesign those prototypes." ... "We're here in Paris to show students a new perspective on problem-solving," said Wettergreen, an associate teaching professor in the department of ...

  29. A Fast and Scalable Iterative Solution of a Socio-Economic Security

    A fast and scalable iterative methodology for solving the security-constrained optimal power flow (SCOPF) problem is proposed using problem decomposition and the inverse matrix modification lemma. The SCOPF formulation tackles system security operational planning by using short- and long-term post-contingency limits, probability of branch outages, and preventive and corrective actions, a ...

  30. A Novel Fixed-Point Iteration Approach for Solving Troesch's Problem

    This paper introduces a novel F fixed-point iteration method that leverages Green's function for solving the nonlinear Troesch problem in Banach spaces, which are symmetric spaces. The Troesch problem, characterized by its challenging boundary conditions and nonlinear nature, is significant in various physical and engineering applications. The proposed method integrates fixed-point theory with ...