One problem we've encountered in our years of student projects is that not everyone is coming in with the same idea of what "done" means. You're probably working off of experiences with internships, or other school projects, but different people all have different expectations. Our goal for you is to end up with code that can be merged and shipped to users, so our focus will be much more on quality and completeness than quantity.

What constitutes a finished project?

Ideally, a finished project includes several aspects. Not all of these make sense for every project (for example, some things are not easily unit testable, and not all projects involve GUI changes), but it's probably a good starting point.

Use a copy of the checklist below when preparing your change. Make sure it meets all the criteria (as appropriate for your work).

Development process