I think I have said before (either here or on twitter) that I'm starting to hate the oversimplified models that are pushed to us in Business School. Qualitative 2x2 matrices are their favorite tools: you focus on two binary dimensions of the problem and... voila, everything is clearer!
I got the ultimate confirmation this week, when I received feedback from one particular assignment I submitted before. I got a good grade and in the comments I was told that my use of a 2x2 matrix in my write up was very well done! (So yeah, I admit that I am using their frameworks and tools. What the hell...)
Not to imply that using tools and frameworks is wrong. I just feel that overusing them is wrong. The perceived seriousness of using a "proper tool" when solving a problem influences business students (as myself) to start looking at everything as nails to be hammered by our shiny tools and frameworks.
MIT Marketing professor Dan Arley has a wonderful related story:
As a sort of "external" observer in the business school environment, it is fairly easy to spot this behavior. Now, I wonder, what about us software developers? Aren't we also prone to fire up our shiny tools and frameworks to any problem without contemplating if they are the right fit for the job? Maybe even more when our current set of tools seem to fall short? Or maybe also with more general types of hammers such as "web application" or "mobile application"?
My personal answer is that developers are a less prone to what I call frameworkitis.
In the management and business domains, most people are very concerned with giving a good impression to a third party. The early opinions of the boss, the client (if you are a business consultant) and/or investors are too important too ignore. Using a known framework or tool is a good first step to ensure that the other people think that you know what you are talking about. I guess that's also exactly what happen in the school to us students, knowing that a professor will grade your work. The flipside though is that this frameworkitis leads, in my opinion, to lack of creativity. Or, in the best case, misuse of creativity. I mean, I have been using a lot of creativity just to fit a real world issue into one of those frameworks.
As developers, we certainly care about what other developers think about us, especially when working as a team. But even when we use of a non orthodox approach and lose some credibility in the process ("What the hell are you doing?! Why are you doing that REST service by hand?"), it's usually a reversible process once you are proved right. And it does not tend to take a lot of time to be proven right or wrong. In other words, I believe it is less risky for us software developers to deviate from our frameworks and/or patterns. But when we stubbornly stick to them for any reason we face the same consequences (hello enterprise architecture astronauts!)
Frameworkitis leads to lack of creativity. Or total misuse of creativity. I honestly don't know which one of the two is worst.