Quality
How much is enough?
Kevin posted a great entry about his first architect experiences and it's inspired me to write a follow up about quality.
Contrary to my expectations, I've found that being separated from the development team has made me more tolerant of their mistakes, despite being less able to address these mistakes directly. This I attribute, in part, to being better able to see the value of less costly development. Of course, this is not to say that code quality, mentoring and review aren't still very important! However, I find that I'm less exacting and more pragmatic - if I were to press for the quality that I'd deliver myself (as a lead developer) then I'd be negating some of the cost benefits of having got someone else to do it in the first place! As a lead developer I knew when things weren't up to scratch and I'd do something about it; as an architect I have the context and obligation to determine when things are "good enough" and be confident not doing anything about it. Sure, it's frustrating not being able to roll your sleeves up and show everybody how it should be done ;) but there's also satisfaction to be taken from making a call on whether something's fit for purpose.
This is something that I can certainly relate to and I also feel the same frustration at times. So, let's explore the quality aspect further. Imagine a scale that measures quality. What Kevin is saying is that, as a lead developer, you always strive for the ideal level of quality. Call it perfection if you wish.
Take a step into the architect's shoes and you have to think about the cumulative/average quality across the whole development team. Clearly, asking everybody to achieve perfection isn't realistic, so it's your job as an architect to ensure that quality across the board is adequate. Perhaps that's the wrong word, but let's say the quality has to be as good as you can get it within the given time and budgetary constraints.
Getting the quality towards the top end of that scale would be my own goal, but how far would you try to push it? How much is "just enough"? If you insist on nothing less than perfection, how do you get your team to achieve it?
Simon is a hands-on software architect and a senior consultant at 

