o Is the design understandable?
o Is the design of appropriate complexity for the task undertaken and the skill of the developer?
o Is the design consistent?
o Is the design maintainable?
o Can requirements be traced through to design elements?
o Does the design conform to the architectural objectives of the system?
o Is the design modular? Does it demonstrate high internal cohesion and low coupling?