Tony Bibbs is fed up with the framework hype that's been going on in the PHP community for a while now and has posted about some of this frustration on his blog. More specifically, how there seems to be this misconception as to the point of them and their place in the web development world.
What nobody seems to want to talk about is the fact that frameworks, be it in PHP, Java, .NET or even Python, have a bunch of valueless rhetoric around them. Their value is often discussed in terms of coolness and how easy it was to learn. If you are talking to a manager-type, balding, high strung, concerned about his or her budget you will quickly learn they could care less. Their focused is on the business. The bottom line. Achieving results. So let's talk in tangible terms on how a framework in any language should be evaluated and how it directly addresses the needs of the business.
He goes on to talk about how frameworks can't fix things like "crappy software development practices" or how they can't immediately save you time (but can in the long run). Most importantly, though, he's compiled a list of things you should keep an eye out for when starting the move towards a framework for your development. The list includes things like:
- Does the framework fit well with your SDLC? Do you even have an SDLC?
- Does your framework allow your better developers to excel and innovate new ways to address a business problem? If the framework only handcuffs your better talent you may find keeping them around near impossible.
- Can you choose not to use parts of your framework to work around performance bottlnecks? As an example, some frameworks don't even give you the ability to issue raw SQL to the database? Using tools like an ORM adds a layer of abstraction that slows performance and sometimes you will need to squeeze out every bit of performance you can. Your framework should facilitate this, not hinder it.
Check out the rest of the post for the other four on the list.