To really understand this document, you should first be familiar with the elements of scrum. If you need an overview, watch this video:
https://www.youtube.com/watch?v=XU0llRltyFM
In particular, to understand Scrumage, you should be familiar with the following concepts:
- Principles of Agile and scrum
- Roles of Product owner, Scrum Master, and Team Member
- Artifacts: Product backlog, sprint backlog, burn-down chart, team velocity.
- Ceremonies: Daily scrum stand-up, poker planning, sprint planning meeting, sprint retrospective
We will be using scrum not only for project management (as you may have done in the past), but we'll also be using scrum as classroom management for our course.
Classroom Management is the way that a class is run, such as giving lectures, defining homework, doing textbook readings, and so forth. Traditional classroom management is to lecture, give an example, then give an assignment or two that is done between classes, followed by a test. You may have taken a course that is "flipped", which is a class management style in which students are introduced to new content before class through either a video or reading. The in-class time is then spent doing the assignments.
Up to now, classroom management has been defined by the professor. However, in this class, we are going to try something completely different - I am going to put as much of the classroom management decisions as I can in your (the students') hands.
We are going to apply the principles of scrum to education. You will be put in teams (later you'll get to choose teams for yourself) and you will be given the things we want to learn and a bunch of choices and resources as to how to learn the material. Then YOU get to choose how to proceed.
In Scrumage, the product owner is the professor. The professor is in charge of defining the requirements and evaluating the results. The students will be in teams which will each decide how to proceed to get the requirements done. Note that the teams are NOT creating software. The "product backlog" is the requirements of the course: understanding certain material, doing the assignments and projects, and completing a quiz.
Every 3 weeks we will cover one unit of material, which will be called a "sprint". The day the sprint begins, you will be assigned to a team for the duration of the sprint. You will then check out the sprint contents online. Each sprint website contains the following sections:
- Roadmap: Assigned teams, due dates for requirements, date of quiz.
- Responsibilities: A list of course topics you are responsible for learning.
- Rationale: The reason we are learning the material. You can think of this as being analogous to "story cards", although the requirements aren't really written that way.
- Requirements: The things you need to turn in, like projects or problem sets. Some are to be done individually, and some are to be done as a team. This, along with understanding the concepts from the responsibilities, defines what would be the "product backlog".
- Resources: Any helps that you may use to learn, like videos, readings, examples, lecture notes, or things you can request from the professor (like lectures, tutoring, or review games).
- Reality Check: Freaked out by this weird process? The reality check notes give an example of how you might organize your time... you know, if this were a regular class.
- Retrospective: A survey you will submit at the end of the sprint to reflect on what went well and what did not.
How To: Sprint Planning Meeting
At the beginning of each sprint, you will meet your team and hold a sprint planning meeting during class. The following things need to be done at this sprint planning meeting:
- Choose a scrum master. This is a person on your team who will simply manage the scrum process and make sure the team runs like a well-oiled machine.
- Decide generally how you want to learn. As a team, look at the sprint contents online and figure out how you choose to proceed to learn the material and get the requirements done. How do you want to use class time? What should be done outside of class? Who on the team will do what? What do you want to request of the professor? Don't make specific choices yet, just get a feel for your teammates' preferences.
- Start breaking each task down into small increments. This is called the sprint backlog, and each task is a card. For example, you might have on your backlog cards like "Read the chapter.", "Do problems 1-5", "Check Ralph's example and see if his answers match mine."
- Play planning poker. Planning poker is the assignment of a number to each task giving its relative size to the other tasks. It doesn't matter to me if you use time or points. For individual tasks, you can assign a number to it by yourself, but for group tasks, everyone gets a say in the number it gets assigned. Write the estimate on the card.
- Make requests of the professor. Let me know (through an online submission) what kind of help you want (like a lecture, tutoring, checking homework, etc...) as well as what topic you want help with and when you would like the help. Remember that every team is making requests and there is only one professor - I will endeavor to be as equitable as I can. Also remember that any request I can't fulfill in class time can always just be diverted to my office hours. You may not know yet what kind of help you need. You can fill out the request form as you discover the need. Just remember that things are generally first come, first served.
- Assign tasks. Figure out who gets lead on each card, and annotate the card accordingly.
- Start the burn-down chart. This shows the daily progress of the tasks being completed from the backlog. For the sprint planning, you just need to set it up - no calculations need to be done yet.
At the beginning of each class time, your team will have a "stand up". This is a very short meeting in which the team discusses what has gotten done and what will be done now. This is a time to make sure every team member is contributing. This meeting should last no more than 10 minutes. During the stand-up, the following will occur:
- I will come around and look at your backlog and burn-down charts
- I will look at (or take up to look at later) whatever you have gotten done on the requirements
- I may listen in on the stand-up
- The team discusses three things: what was done since last class, what will be done by the next class, and what roadblocks to progress there are. The team should discuss how to remove roadblocks to success, whatever they may be.
- The scrum master should update the backlog and burn-down charts.
After that, the way you use your time is up to you. Depending on what is requested of me, I may be lecturing or answering questions or holding a review game. I will post my schedule on the sprint website as it is determined. If your team chooses not to participate, you may move to a quiet space if you want.
At the end of each sprint, there will be a quiz on the responsibilities for the sprint. Teams get bonus points if everyone on the team either makes an A on the quiz or improves 3 percentage points from the previous quizzes' average.
Also at the end of the sprint, you will complete a sprint retrospective as an online survey. This will give you a chance to look at what you learned and what did or did not go well about the process. You can change your evaluation of what your strengths and weaknesses are as you develop through the semester. You will be asked to evaluate yourself and your teammates in terms of effort from the sprint.
There are many reasons for trying this new course management strategy. The goal is to make the course fun, engaging, and meaningful. Here are a few reasons I want to try this:
- Not everyone likes the same thing. Some like lectures and some don't. Some like problem-based learning and some like the "flipped" classroom. This will give as much control as possible to you, the students.
- Scrum is a good thing to know, especially for computer science students. You will almost certainly be using it in the workplace. Even though this is not a traditional use of scrum, the principles of the project management process will still be in use.
- Procrastination is a problem, and accountability is a good thing. You won't just be working for yourself and your own grade. We will mimic the real world in that you will be part of a team and your performance affects the entire team's performance. I know many of you will be more motivated to work in this environment than you traditionally would've been.
- My students who have used this methodology have had better grades and enjoyed the course more than when I use traditional teaching methods.
The ideas for this pedagogy style come from the Agile movement, which embraces frequent assessment and quick changes of anything not working. So while I hope this style works well for us, if not, we can tweak it or abandon it altogether. I am committed to putting as many choices into you (the students') hands as possible, and that includes whether or not we use Scrumage. However, that requires open and honest communication about how the course is going.