This question already has an answer here:
I've recently started to work on an old project, that was originally written by two professors with no programming experience. Those professors left the project before they have finished it. Meaning there are many files that no one knows what their purpose, or if they are working at all. In general the code is written badly, got many bugs and many unfinished features, though some of it is actually working good. The new incoming programmers (including myself) are quite experienced in programming, but lack the understanding of what's going on in the project.
I've been assigned to make this project reliable and maintainable in the future, and I'm not sure where to begin. I've thought of going over the documentation and code, and listing the things that I think should be changed. I yet to come up with a better idea.
What would you do to handle this project in the most effective way, while bringing him to industry-standard quality?