Designing software that meets people’s needs is important whether the software does one thing or dozens. Over time, customers may change their minds or other forces (e.g. climate, economics, business needs, new/revised laws) may require changes to their needs. As such these changing needs must be reflected in the system that you deliver. If your design is flexible, then it will be easier for you to revise your design. The same thing can be said for the team itself. If the team works together and shares knowledge and skills, then the team will work well to accomplish needed tasks if a team member gets sick (for example).
The purpose of this activity is to introduce students to team building in the context of design, specifically in terms of design volatility and the need for a flexible design. Upon a successful completion of this project the students will be able to:
- Devise a set of appropriate elicitation to ask a stakeholder;
- Generalize a set of requirements based on stakeholder interaction;
- Describe the important of reflecting on team effectiveness and the role of refactoring in an agile environment;
- Validate a set of requirements for completeness and accuracy.
As a result of completing this activity, students will feel comfortable with explaining complex concepts through metaphors represented by simple LEGO models.
- Basic familiarity with the concepts of software process;
- LSP skills building activity.
60 minutes for phases.
Number of participants
This activity works well with teams of up to 5 participants.
Each team needs a separate small building space. One table will be used for each team. All discussions occur within a single team. There should be some open space (on the floor) for teams to show their models with each other.
Materials and supplies
- LEGO sets for each student (same as for the LSP skill building exercise): one LSP exploration bag per student. Also, any large LEGO Classic sets, along with some LEGO City sets (those with minifigures, etc.) can be used;
- 1 tape measure and notebook or whiteboard to note tower measurements;
- 1 lego base for each 4 person team;
- When wheels are to be used, keep them in a separate bag for later distribution;
- 1 digital camera (optional);
- Timer (preferably one that may be referenced by the entire class).
Scenario of the activity
- Getting Started: 10 minutes
- Separate the class into 5 teams of 4 people in each team.
- Distribute a set of Legos and a base plate to each team.
- Present the rules for constructing the tower of Legos
- Time limit stated as 15 minutes.
- Construction will take place in your designated work area.
- If you have more than one section of the course, you may want the students to not share the activity with the other section (so that they don’t design their tower before class).
- Tower Building: 25 minutes total
- For 15 Minutes: Students work in teams to create tallest tower for 15 minutes.
- At end of 15 minutes, have students stand up away from their work areas to come together for an announcement. The customer requires a change to the tower (see examples below). Remaining in the same teams, istudents get another 10 minutes to work on the tower. Suggest only using one of the changes below unless you are daring
- No speaking
- People can only touch the legos with one hand
- Only one person may touch the legos, with the rest giving directions
- Place the tower on wheels so it is mobile
- At the end of the 10 minutes, allow students to see each other’s towers and go around to each team to measure each tower. If towers need to roll, have a set and consistent start and finish point (e.g. across the diameter of the table or on the floor).
- Post-activity discussion with the teams: 10 minutes
- What process did you follow?
- What was effective? What was not effective? What would you change next time?
- Did you use roles? How effective were they? How well did people work together? Share information or design skills?
- What would you try differently next time?
- Clean-up (5 minutes) and collect the Lego tubs
- If the activity needs to be conducted in a 50-minute class session, it can be helpful to keep a timer to help keep track of the time.
- When distributing wheels, be sure to collect them separately so that they don’t get mixed up with the rest of the kits.
- If using LEGO identical sets for each team, be mindful that the models return to the correct storage container. One tip is to place the model inside of the container and disassemble it inside of the container to minimize the loss of parts.
Notes on scaling up/down
This is a team-based activity. It has been run successfully with larger classes, though the challenge is having enough time to facilitate discussion with large numbers of teams (8+). If there are many teams, have teams alternate which questions are answers or roll a dice/select teams at random. For larger classes, a TA should help measure the towers.