
Several years ago , here at TED , Peter Skillman introduced a design challenge called the marshmallow challenge . And the idea 's pretty simple . Teams of four have to build the tallest free-standing structure out of 20 sticks of spaghetti , one yard of tape , one yard of string and a marshmallow . The marshmallow has to be on top . And , though it seems really simple , it 's actually pretty hard , because it forces people to collaborate very quickly . And so I thought that this was an interesting idea , and I incorporated it into a design workshop . And it was a huge success . And since then , I 've conducted about 70 design workshops across the world with students and designers and architects , even the CTOs of the Fortune 50 , and there 's something about this exercise that reveals very deep lessons about the nature of collaboration , and I 'd like to share some of them with you . So , normally , most people begin by orienting themselves to the task . They talk about it , they figure out what it 's going to look like , they jockey for power , then they spend some time planning , organizing . They sketch and they lay out spaghetti They spend the majority of their time assembling the sticks into ever-growing structures and then , finally , just as they 're running out of time , someone takes out the marshmallow , and then they gingerly put it on top , and then they stand back , and Ta-da ! they admire their work . But what really happens , most of the time , is that the " ta-da " turns into an " uh-oh , " because the weight of the marshmallow causes the entire structure to buckle and to collapse . So there are a number of people who have a lot more " uh-oh " moments than others , and among the worst are recent graduates of business school . ( Laughter ) They lie , they cheat , they get distracted , and they produce really lame structures . And of course there are teams that have a lot more " ta-da " structures , and , among the best , are recent graduates of kindergarten . ( Laughter ) And it 's pretty amazing . As Peter tells us , not only do they produce the tallest structures , but they 're the most interesting structures of them all . So the question you want to ask is : How come ? Why ? What is it about them ? And Peter likes to say that , " None of the kids spend any time trying to be CEO of Spaghetti Inc. " Right . They do n't spend time jockeying for power . But there 's another reason as well . And the reason is that business students are trained to find the single right plan , right . And then they execute on it . And then what happens is , when they put the marshmallow on the top , they run out of time , and what happens ? It 's a crisis . Sound familiar ? Right . What kindergarteners do differently , is that they start with the marshmallow , and they build prototypes , successive prototypes , always keeping the marshmallow on top , so they have multiple times to fix ill built prototypes along the way . So designers recognize this type of collaboration as the essence of the iterative process . And with each version , kids get instant feedback about what works and what does n't work . So the capacity to play in prototype is really essential , but let 's look at how different teams perform . So the average for most people is around 20 inches , business schools students , about half of that , lawyers , a little better , but not much better than that , kindergarteners , better than most adults . Who does the very best ? Architects and engineers , thankfully . ( Laughter ) 39 inches is the tallest structure I 've seen . And why is it ? Because they understand triangles and self-re-enforcing geometrical patterns are the key to building stable structures . So CEOs , a little bit better than average . But here 's where it gets interesting . If you put you put an executive admin . on the team , they get significantly better . ( Laughter ) It 's incredible . You know , you look around , you go , " Oh , that team 's going to win . " You can just tell beforehand . And why is that ? Because they have special skills of facilitation . They manage the process , they understand the process . And any team who manages and pays a close attention to work will significantly improve the team 's performance . Specialized skills and facilitation skills are the combination [ that ] leads to strong success . If you have 10 teams that typically perform , you 'll get maybe six or so that have standing structures . And I tried something interesting . I thought , let 's up the ante once . So I offered a 10,000 dollar prize of software to the winning team . So what do you think happened to these design students ? What was the result ? Here 's what happened . Not one team had a standing structure . If anyone had built , say , a one inch structure , they could have taken home the prize . So , is n't it interesting that high stakes have a strong impact . We did the exercise again with the same students . What do you think happened then ? So now they understand the value of prototyping . So the same team went from being the very worst to being among the very best . They produced the tallest structures in the least amount of time . So there 's deep lessons for us about the nature of incentives and success . So , you might ask : Why would anyone actually spend time writing a marshmallow challenge ? And the reason is , I help create digital tools and processes to help teams build cars and video games and visual effects . And what the marshmallow challenge does is it helps them identify the hidden assumptions . Because , frankly , every project has its own marshmallow , does n't it . The challenge provides a shared experience , a common language , common stance to build the right prototype . And so , this is the value of the experience , of this so simple exercise . And those of you who are interested , may want to go to marshmallowchallenge . com . It 's a blog that you can look at how to build the marshmallows . There 's step-by-step instructions on this . There are crazy examples from around the world of how people tweak and adjust the system . There 's world records on this as well . And the fundamental lesson , I believe , is that design truly is a contact sport . It demands that we bring all of our senses to the task , and that we apply the very best of our thinking , our feeling and our doing to the challenge that we have at hand . And , sometimes , a little prototype of this experience is all that it takes to turn us from an " uh-oh " moment to a " ta-da " moment . And that can make a big difference . Thank you very much . ( Applause ) 