I think complexity/obesity is a key point when it comes to quality. Because when your code/architecture becomes complex, you often come into a situation where your application is:
- Resource intesive
- Harder to debug
- Error prone because more things can go wrong
Which leads you to add caching and spread it over more servers, making it even more complex.
I think Einstein said, "Keep it as simple as possible, but not simpler".
For example, when you implement something like Zend MVC, you add to your project:
- htaccess files, which require mod rewrite to be installed and doesn't work on IIS, Nginx etc
- A lot of Zend code to go through on each request before you reach the code that actually does something application-specific
- New stuff to learn, more code to debug
So I don't mean you should not use Zend MVC, just consider what your're adding to the project in terms of more code and complexity and weigh it up against the benefits.