Jeffrey Hammond serves Application Development & Delivery Professionals. See the full Analyst bio.
Visit Forrester.com to learn how we make Application Development & Delivery Professionals successful every day.
Follow Jeffrey on Twitter.
Jeffrey Hammond serves Application Development & Delivery Professionals. See the full Analyst bio.
Visit Forrester.com to learn how we make Application Development & Delivery Professionals successful every day.
Follow Jeffrey on Twitter.
Posted by Jeffrey Hammond on January 17, 2012
To pick up the narrative from my last post, we're currently one week into the First Robotics build season for 2012. Team 811 is busy working away on an initial sprint. The goal is to get a minimum viable product (a drivable robot) up by the end of sprint one, which will then be used as a base to move toward a competitive robot that can play this year's game, Rebound Rumble.
So how did Team 811 get from "huh?" to full-speed prototyping in 4 days? How does anyone get 40+ teenagers moving in the same direction when the number of unknowns is significant and the problems to solve look insurmountable? For team 811, the key was starting with a 3-day process called "Collaborative Problem Solving (CPS)." Think of it as a pre-sprint process to build team buy-in and reduce downstream back-biting and second guessing.
So what is CPS? It's a technique that starts with a problem statement and then encourages divergent thinking to brainstorm creative solutions to that problem. Criteria that allow evaluation of those potential solutions are then applied by the entire group. This starts a process of combining divergent ideas into stronger overlapping concepts and identifying those ideas that have the strongest combination of feasibility and ability. The result would be recognizable to many agile teams: a burndown "punch list" of items and strategies to drive early prototyping and the team's first sprint.

Before I describe how the team ran its CPS sessions last weekend (again, imagine getting 40 teenagers to give up an entire weekend to brainstorm a systems project — and do so willingly), let me give a bit of background. Team 811's use of CPS started in 2006 and was based on the success that another FIRST team, Team 365, had with the process. It's probably no coincidence that Team 365 (A.K.A. Team MOE — the Miracles of Engineering) is sponsored by DuPont. DuPont's pipeline of new, profitable products depends on blending innovation with commercialization, and quickly. This is one area where mentors help FIRST teams: by bringing state-of-the-art process and practices to teams — skills that will serve them well in life. Our use of CPS also highlights one of the cool things about FIRST as an organization: while competition between teams is serious, learning how to blend multiple engineering disciplines into a coordinated whole is the real goal, and a culture of sharing and education trumps information hoarding (empire builders take note).
Here's how the team used CPS over past weekend to get their efforts organized:
Day 1: Develop an understanding of the game (you might substitute "goal" in your own efforts). During the first day, our efforts focus on around developing a common understanding of the game, evaluating potential robot capabilities, and brainstorming game strategies. The team spent time reviewing the rules, description, and video. One of the highlights of Saturday's efforts was the "human player session," where the team members act as if they were robots with different capabilities. It's fun watching six team members acting as robots and trying to simulate realistic speed and shooting capabilities. Think of the human player event as the design equivalent of pencil and paper screen mock-up. These low-tech techniques can provide some startling insight into real constraints that are not as visible in an abstract requirements document. In Team 811's case, it gave us an idea of just how many shots would be attempted, on average, in a 2-minute time period.
After watching the game, with human players acting as stand-ins for robots, the team ended day one by brainstorming robot capabilities and strategies. A list of strategies was developed that would create a competitive (maybe even regional-winning) robot. This is the first step that moved the team beyond an MVP and onto what an end deliverable with better capabilities would look like, and everyone participated in setting the desired list of capabilities. Part of the goal of this divergent phase of CPS is to look for opportunities for concept strengthening — where two or more individual concepts can be mixed to create a resulting combination that is better than the divergent pieces. For example, a robot that can gather balls from the field and then shoot them into baskets is a more competitive robot than one that can just shoot baskets.
Day 2: Creativity. On day two, the team continues the process of divergent design by asking the question: "In what ways might we build a robot to play the game?" In this case, the goal is to come up with as many ideas as possible on the theory that the best way to have a good idea is to have a lot of ideas. We capture these ideas on "concept sheets." These sheets allow a team member to sketch an idea or even a fragment of an idea. Each concept is presented, categorized, and aligned to individual strategy components. When the team originally started the CPS process in 2006, this phase of CPS yielded around 115 concepts. In 2011, the team produced 146 individual concepts. This year, it set a new record at 184 concepts. This process of concept development allows all team members to be heard; there is no judgment of ideas at this point, and team leaders or popular members have no more input than other team members.
Day 3: Concept selection. On the third day, the team meets to begin paring down all the concepts. In essence, they are prioritizing potential features into a prioritized backlog list. The goal is to select final concepts that meet the team's competitive goals, are supported by the team at large, and that won't be second-guessed as build season progresses. The concept selection starts with team members voting on the concepts they like the best. Each team member gets five votes. With 184 concepts and around 200 votes total, a lot of concepts fall by the wayside at this point. (It's actually a bit easier, as some concepts are duplicates of each other). Each concept is then plotted on a chart with the number of overall votes, and the top 10-12 vote-getters move on to the next step.
This is where more experienced team members step in (those that have been through at least one build season before). The veterans rate these top concepts based on the concept's Ability to play the game and the Feasibility that the team can successfully implement it. A scatter plot shows how the concepts map, with the team looking for the concepts that have the highest combination of feasibility and ability. The top 5 concepts become the consensus items for prototyping as the team goes into week 1 of build season.
What You Can Learn From A 10th Grader When It Comes To Collaborative Problem Solving
As you can see, there's nothing about this process that is magic or even that difficult to implement. It gives everyone a voice and still draws on the wisdom and experience of experienced team members. It also focuses on a number of important elements of starting up a successful Agile team:
And now onto prototyping...where the real fun (and angst) begins.
Download the first report from the Mobile App Development Playbook