Question

I'm a coach of a middle school Lego Robotics team, competing in our local FIRST Lego League competition. I'm interested in bringing Agile methodologies to our team. From what I've been seeing, it seems like a good fit, and would really help teach the students how things work in real world software engineering. The problem is that I'm a bit shaky on some aspects of adapting Agile to a software+hardware problem.

Here's what I have so far:

  • In the competition, the robot is set up on a table with many Lego structures. These make up missions worth varying number of points. The robot leaves a Base area, does something (ideally one or more missions) and returns. This sounds a lot like a "user story", and I'm already planning to get the students to write what they want the robot to do that way. All the missions basically become the backlog!
  • I'm also going to use Planning Poker to estimate how hard they'll be to build and program for. Our team only meets for 1 hour per week, though. What would be the best way to set up the time estimates? I'm thinking that the smallest unit should be 1/2 an hour, and would go up from there.
  • These missions tend to be pretty complex sometimes, and benefit from being broken down into simpler tasks. Should we worry about that when writing up user stories? (Doesn't seem so...)
  • As coach, should I act as project owner? Or should a student on the team be tasked with determining which missions or combination of missions is most important?
  • Given that our team is small (8 students), would one Scrum Master be best?
  • Given that our team is small, is it fine for students to be testers and developers as needed? (I'd like to avoid giving them excuses for downtime.)
  • Since we only meet 1 hour per week, would a sprint length of 1 month be best?
  • I've also been looking at the concept of test-first design, and while it seems great, I don't understand the terminology. How would I get my students to design the robot and its programs test first? Would it even be appropriate?

I know these are a lot of questions. Any help you all could give me would be greatly appreciated. Thanks!

Was it helpful?

Solution

It's a cool idea. It might be a little too formal for the kids. I mentor on a FIRST Robotics Challenge (high school version) and it's tough even getting the high schoolers on board with process.

I like the idea of the missions being the backlog. One of the objectives/judging criteria is how the teams strategized on what missions to choose. And prioritizing the backlog would be a great way to talk to that.

For Planning Poker, have any of the kids done this before? Estimating is tough even for grown ups :). I like the idea of showing that tasks take longer than expected though. Half an hour seems fine. You might even do 15 minutes, 30 minutes, 1 hour to allow for some small tasks. Like cleanup :). Or multiply the # kids on ask by the time.

Who decided which missions you choose before Scrum? I like the idea of the kids deciding what to do. You can be a trusted advisor rather than the product owner. I think it would be better for you to be ScrumMaster than product owner as that is more of a coaching role.

Of course it is fine for students to be testers and developers! On a real Scrum team, the goal is for people to pitch in and do whatever is needed. That's the cross-functional team objective.

I think a sprint length of 4 weeks is good. One week for sprint planning/retrospective and three for doing actual work. I hope you'll post how this went. (While that's more discussion than StackOverflow, I highly recommend you post your experiences on Chief Delphi (a FIRST robotics forum). And if you do, please add a comment with the link!

You could do test first design. What is the definition of success for a mission? For example, last year the robot had to drive straight, turn left and toss a ball at bowling pins. A test could be "make sure the bowling pins are knocked down." This real world intro to test driven is cool!

My general advice would be to try out parts of Scrum. Some are likely to be a better fit for kids than others.

OTHER TIPS

You'll probably be better off with a sprint length of 1 hour. That is much better for learning, and avoids the estimation problems. Just start the lesson with a very short retro and a day planning (5 min).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top