In one of the first classes of software engineering for the semester we get students to do an “egg and straws”. The challenge is to build a structure to prevent an egg breaking when dropped to concrete from shoulder height. The only resources available are 6 drinking straws and 20cm of tape.
I have a slight problem with this task: it isn’t very sustainable. Despite us ringing around to try and find expired eggs, the outcome is always a dozen smashed eggs. Offsetting this is the best learning exercise I’ve ever used and why, despite my unease, we continue to use it.
Groups are handed out the task with some small variations: one group doesn’t get their resources until 5 minutes from the end, another has a photograph of a previously successful design, another has twice the resources. Two groups are given the instruction that they must prepare a design to be implemented by the other group. These tasks are intended to model situations during the software development process.
After the designs are tested (almost always destructively tested), we spend the rest of the class talking about the groups processes, the design processes and so on. We don’t prepare for this discussion at all, except to observe the process very closely and take lots of pictures which we show the students immediately (here’s the slideshow of this year’s classes).
Here’s some observations:
- it is entirely a group activity (it is almost impossible to do on your own. It is the best thing we’ve ever tried for getting people to reflect on group processes.
- every group thinks that their design would be so much better if only they had a couple more straws. This includes the wealthy group (who don’t realise that they indeed had far more than any other group)
- Until the resources are handed out, people use whatever they can to model their designs (hands, pens, mice) or draw designs. This comes to a complete stop when their actual resources arrive.
- bendy straws lead to designs that encase the eggs. Straight straws lead to spiky constructions.
- No group has ever been influenced by the image of the successful design on their instructions, they all say, “we thought we could do better”.
- Some solutions are apparently creative until you realise that they appear every year. This is not intergenerational knowledge in student cohorts – the solutions always fail. Classic here are attempts to catch the egg – it almost always misses and when it doesn’t miss, it bounces out.
- Groups almost never realise that the heaviest part of the structure is the egg – however hard you try, it will turn over and find the hole in the design. Listening carefully to group discussions reveals that someone normally points this out, but this someone is usually a quiet member of the group and they don’t get listened to.
- Implementing the design of other people leads to very different behaviour. Instead of pride in the design, we see an almost willingness to prove the other design wrong. Even if the design is rendered faithfully, there seems to be a loss of problem solving ability. In this example, detailed instructions from the original designers didn’t give the implementing team direction as to what to do when it didn’t quite work. Instead of closely implementing the design 5 column straws and 1 row straw (leaving the large vulnerable gap), the group discussed changing the design to 4 and 2, but felt that they had to follow the design faithfully (and unsuccessfully).
- Groups that have to swap, though, do spend much longer fiddling with straws and drawing designs.
- Although swap groups usually mock up their design in straws, they tend to miss the details of implementation. This design didn’t allow for enough resources in implementation.
In 8 years, we have only had four successful designs. One of these is a pyramid with the extensions acting to cushion the impact. Another was a set of interlocking squares. Another approach is to empty the contents of the egg. The fourth successful approach has students up in arms every time we mention it: a group made a string of straws (they had to cut the straws lengthwise) and dropped the egg whilst holdiing one end – the egg swung on its string like a pendulum, scraping the ground but not breaking.
This last successful design is a wonderful example of creative thinking, but leads the class to a discussion on the limits of creativity versus meeting client’s needs. Like the blown egg, is this cheating or being really clever?
This year, one interaction really stood out. I think this is the best example of a miscommunication I’ve come across. It concerns the two groups who had to swap designs and implement the other team’s design.
The original workings for this design clearly show a three dimensional object (this pyramid with extending legs is pretty similar to the only really successful design we’ve seen).
However, the rendition for the implementing group did not make 3D aspect clear. There was little explanatory text.
From the front this design looks exactly like the diagram (produced by another team). Unfortunately, from the side, the two dimensional nature of the implementation is revealed. The egg, of course, was doomed.
When asked what went wrong, the original group was dumbfounded that their design had been so severely misinterpreted. The implementation group responded that they would have preferred a written explanation.