We are a product company, where some amount of work goes on on the research front. On the other hand - product is deployed at various client places. And of course new classes of clients are continuously sought after.
However, the core team is essentially same. When a new problem or client comes up everyone has to drop all their futuristic ideas and go back to war level regime. Again, back to work. This remains on and off. And there is not much possibility to keep separate teams, because inherent (algorithmic) work really requires core expertise to solve issues.
What are some of the best mechanisms or techniques that allows you to keep up the rythm? What help i can take from system and processes or from the management to help situation better?