Post-Mortem on This Term's Work

As I’ve mentioned several times, we’ve started rebuilding DrProject on top of Django. We had a post-mortem last Tuesday on our first term’s work, which Blake Winton was kind enough to summarize. The highlights (good and bad) are listed below.


  • Everybody gave more than expected/requested/paid for.
  • The team produced some remarkably clean code in a very short time, especially given its prior lack of exposure to Django.
  • Distributed collaboration worked much better than expected. (The team was spread across four universities in three countries.)
  • The dev and commit mailing lists worked well, as did weekly status meetings on IRC.
  • Regular, frequent, small commits went well/were a good idea.
  • pyflakes and pep8 were great tools for checking code and style (but it would have been nice to have a script to run both on all files in one command).
  • Code reviews rocked. (Author's note: this was the best part of the term for me, and something I'm going to want to encourage in my undergrad software engineering class next term.)


  • Tempers were strained occasionally during reviews and design discussions (more considerate language should have been used).
  • Too much juggling people from one sub-project to another. (Author's note: this was my fault.)
  • svnmerge was a pain. (Author's note: one developer was a real fan of distributed version control systems, and kept trying to move us in that direction. I should have resisted more strongly.)
  • The project blog wasn't used effectively---it was never clear what should go in the blog vs. on the mailing lists.
  • People sometimes didn't know what they should be working on. (Author's note: also my fault---next term, the newcomers will be given a couple of short, specific tasks at the start to get them up to speed.)
  • The release process kind of fell apart, the code freeze never really happened.