Let me paraphrase an interesting statement I heard last week about a software system.
The high-level design is fine, but the execution was poor.
I found this interesting and started thinking about it from several perspectives.
Software architects are the people responsible for ensuring the technical quality of the solution and, by this, I'm referring to quality at the macro level (e.g. meeting the non-functional requirements) as well as at micro level (e.g. coding standards, unit test coverage, use of continuous integration). More often than not, I find that teams let the latter fall down the gaps between the architect(s), developers, build manager, configuration manager, etc. In the event that nobody has been granted explicit ownership, I'd say that this is another aspect that falls squarely underneath role of the software architect.
Simon is an independent consultant specializing in software architecture, and the author of Software Architecture for Developers (a developer-friendly guide to software architecture, technical leadership and the balance with agility). He’s also the creator of the C4 software architecture model and the founder of Structurizr, which is a collection of open source and commercial tooling to help software teams visualise, document and explore their software architecture.