1. A system for governing software architecture as designed, the system comprising: a memory operable to store code and a plurality of rules, the code programmed to implement at least part of the software architecture as designed; and a processor configured to: apply the rules to the code, the application testing the code for differences from the software architecture as designed and the software architecture as implemented in the code; identify a difference in architecture between the software architecture as designed and the software architecture as implemented in the code; and generate an image representing the difference; and a display configured to display the image, the image comprising an architectural model with the difference highlighted.