In my current role as a software developer in a Java/Spring/Hibernate/JSF shop, I am sometimes asked to develop large-scale web apps with many interfacing systems and/or large databases as well as small-scale web apps with low traffic and/or simple databases. To accommodate this variation, I would like to have 2 technology stacks to choose from, depending on the type of application I'm asked to develop. I think this would benefit us because I think our technology stack that I mentioned above is a bit over-engineered or cumbersome for small, simple CRUD applications.
If, for example, I have chosen Spring Framework for my large-scale apps and Play! Framework for my small-scale apps, how do I choose which one to use for a given application? In other words, how can I tell if a proposed web application qualifies for a heavy framework like Spring or could stand to benefit more from a lightweight, agile framework like Play?
Can someone give me some rough checkpoints to help me decide which type of framework to use (heavy or light)? If you use this two-framework approach, please tell me what criteria you use to decide which framework is the best fit for a given web application.
