As much as possible the project will follow an agile approach to software development. The intention is to refactor code in steps, while having working code at each step. For this, tests and mechanisms to run them will be developed and put in place early in the project. Code will be checked against these tests very regularly (continuous integration).
Information about the plans for the project's major components: