The art of choosing between frameworks
Now a days its inevitable to take advantage of existing and ready to use software libraries or frameworks while developing a software system. The art of choosing right framework or tool for a software project is a key skill for a good software developer or an architect.
Beside of framework’s technical specs, there are also important considerations which may lead you to a much harder decision. In this article I am going to introduce some of these non technical aspects of framework evaluation. You will face a lot of questions in this article!
Is it really helpful?
Is the framework you’ve selected really solving the specific problem of you development team? or have you heard about it from a rock star developer you know? Are you personally interested in the framework? I think personal interest is a red alert which can notify you a decision trap!
Is there any internal knowledge in your company?
Lack of internal knowledge about a framework, can lead a team to constant challenges to use it. Is a sufficient knowledge about the framework present in your company? If no, Is the idea of new framework worth the pain you might go through while using it? If there was not any consultant available in your area, what would you do? Does your team have enough time to fill the knowledge gap?
Did you find any showcase projects in which the framework used in it?
This question is pretty clear to me. I hope that would be clear to you too. Usually what you see in an advertisement is not what you get in reality! That’s why you need a proof of concept or showcase project of your desired framework. It would be very useful if you could find a real life project in which the selected framework used.
How much effort does it take to integrate new framework?
In theory, all of frameworks that have been built out there, would be useful in some situations. But using each one of them would require some amount of effort of your team. The question of how much work is needed to integrate a framework into your current infrastructure, is a vital one.
In this story I have talked about the key questions you need to ask yourself whenever you face up with a new framework to choose. In the next story I will talk about the important aspects of open source projects while considering them.