Here are links to each team’s final grading scheme:
- Basie: Diff, IRC, Tagging, Calendar, and Josh McCarthy
- MarkUs (in two parts)
I think that writing these is a more important part of the software engineering process than most students realize. A grading scheme is the academic equivalent of a contract of deliverables: it’s the thing that you and I can put in front of a judge or some other third part if we disagree over whether you’ve delivered what I thought was promised. Some parts of these grading schemes, like 10% for playing well with others, don’t show up in such contracts because they’re just assumed: if you don’t play well, you don’t keep your job . Many of the rest, though, are exactly what I’d expect as a consultant: feature X, able to do Y, tested by Z. I’ve experimented in my regular software engineering course with having students write their own assignment specs, and the more I do it, the more important I think it is. I’m curious to know what the students themselves think…
 Unfortunately, this often isn’t true: I’ve worked beside people who were awful human beings, but somehow never got fired. There are lots of reasons why this happens; it’s a good subject for a future blog post.