The complexity of software is continuously growing as a result of todays interconnected business processes. Governance of architecture and technology strategy helps to ensure coherence of software and avoid excessive complexity. At the same time software development needs room for creativity and empowerment to provide solutions to business problems of increasing complexity. The book looks at this software dilemma from the perspectives of CIOs/CTOs, software architects, and auditors. Each of these groups has different interests which need to be considered, reconciled, and balanced. CIOs/CTOs are provided with the boundary conditions they have to establish assuring the achievement of strategic objectives. Architects and auditors find proven concepts for effectively assessing software projects and architectures, as well as for effectively communicating identified issues to responsible persons. The book is based on the authors long experience in software engineering, governance, and auditing.