In my company mostly the architect does code reviews. He is a very experienced and smart software guy, so he is very good at it. When developers do the code reviews they don't do it half as well. We tried giving developers to do more code reviews, but the quality of the code reviews wasn't good. We use Scrum for as development methodology.
However with the current system there are two problems:
The architect becomes a bottleneck
Developers don't take the responsibility for the quality of the code and the architecture (which leads to all sorts of problems).
How can we address these issues? Should we change who does the code reviews?