Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


A decision was taken to re-factor the entire database layer in March 2014. Here are some suggestions for how the re-factor could be done:

  • There has been some discussion on the developer list as to why and how the re-factor should be done. It is recommended that design documents are added to this page describing from an architectural basisthis page is used to hold design documents as the re-factor moves forward. It would be helpful from an architectural and knowledge sharing point of view if the following documents were created:
    • the architecture of the system immediately prior to the re-factor and the
    • the proposed design for the re-factor and the reasons for it
    • the actual design after the re-factor
  • It is also proposed that a review team of at least 3 developers is involved in the re-factor as it progresses. This is to reduce the risk of 
    • a single developer making design decisions in isolation
    • ending up with a component that is only well understood by a single developer, which is clearly a risk for the project
    • sufficient documentation not being produced
  • It is recommended that as many regression tests as possible are enabled before the re-factor is done to provide as much automated regression testing as possible
  • It is also recommended that the benchmarking tests are improved and re-run as each of the stages of the re-factor are completed to ensure that the previous levels of performance are met or exceeded.