Standard software development processes are not well-suited to students’ realities: unlike professionals in industry, students usually have to work on several projects at once, and are almost always new to the technologies they’re using and the problem domain they’re working in. Based on past experience, the best fit is a mix of open source practices and Scrum: • Every project keeps its work in a version control repository, uses tickets to track work items, etc. Teams are strongly encouraged to do code reviews. • Each team has an hour-long online meeting each week to review progress, set goals, answer questions, and resolve outstanding issues. • Work is usually done in two-week iterations. At the end of each iteration, each team member sets their goals for the next one, so that students have a chance to develop planning and estimation skills. • Each team is required to produce a five-minute screencast demo of their work at the end of the term.