Project Management for Middle School
The last couple of times I’ve assigned computer projects in class, I spent most of my time helping the same kids. Many kids gathered themselves into little informal workgroups, and they helped each other, shared ideas, looked up documentation, and were able to problem-solve pretty independently. But a good fraction of my students got stuck and just stayed stuck, and needed to be coaxed to find help. I spent a lot of time wondering how I could get all the kids to make high-functioning workgroups.
My husband is an engineering project manager, and he often says that his job is to remove obstacles for people. I’m the project manager for my seventh-grade classes, but I don’t even know what many of their obstacles are! I had to find a way that would help the kids work more independently and create a clear communication path so I would know when they were stuck and what was holding them up.
So I decided to formalize the “workgroup” idea. I asked the kids to sign up for groups of 3-6 people, on a big flipchart. These groups had important jobs:
- Be brainstorming partners, and help each other find ideas.
- If someone is stuck, show them how they can get un-stuck.
- Ask your workgroup for help, then ask another workgroup, then ask the teacher.
- Test each other’s programs.
- Groups would rotate working in certain locations, so no single group would always take the prime sunny spots in the room.
I talked with the class about how working on an engineering project involves important steps. You need to:
- Understand the requirements of the project (for school, this means reading the rubric and knowing how you’re graded).
- Get an idea for your project that meets the requirements.
- Develop your project.
- Refine your project.
- Test your project.
- Write the documentation (usually a paragraph).
- Go over the project with a critical friend who can make sure it meets the requirements and will get the grade you want.
To help the groups communicate with me so I knew where everyone was in the process, I told them about working in high-tech and how we have “status meetings”. At a status meeting, everyone goes around the room and says what they’re working on and what they need to move forward. For every work session, a workgroup gets a status report sheet to fill out. I clip a group’s status reports together, so I can easily flip through and check progress for the whole class.
So far, I am really pleased with the workgroups. I have written brief notes on status reports and handed them back, with tips for how to move forward. I set an expectation that groups needed to be very welcoming to anyone that needed a group, and the kids have really risen to the occasion. Nobody is left out.
I did form beginner workgroups for students who are new to my class and have never coded before. I work with them for longer periods of time, and once they are more independent with programming, I’ll release them to other groups.
This feels like a good start to help the communication, and the kids really like that programming is a social and helpful activity. I can’t wait to see what they create next.