Runs all the tests Contains no duplication Expresses all the design ideas that are in the system Minimises the number of entries such as classes, methods, functions etc