I went to a talk on Scrum  yesterday, and it was very interesting. Scrum is an agile software engineering methodology, similar to Extreme Programming.
It features a list of externally visible features that need to be implemented, the product backlog. At the beginning of a sprint, which often lasts a month, the developers estimate which features they can implement during this sprint. Then they break the features down into tasks that need to be done.
Each task has a cost associated with it (basically the time it takes to implement, but it’s not really any real time span, rather something abstract, like jelly beans). The tasks are written on sticky notes.
During the daily Scrum stand-up meeting, all developers say what they did yesterday, what problems they had, and what they are going to do today. If they are out of tasks, they pick new sticky notes. If they are still working on the previous tasks, they re-estimate how much time is left for those tasks.
I really think that I should have taught COMP 402 using some kind of Scrum. A month-long sprint would have been too long, probably, and the class only met three times a week, but we probably could have done three week sprints?
Has anyone taught a software engineering/production programming class that used Scrum?