buy a good coffee machine...
more seriously, this could happen in "any" environment.
i think you gave the answers already... keep the shitty app as it is in place... and let your new guy start or restart all over with new/more simple/documented/... project (could be one or more apps in qlik or not...) ... letting him focus on (defining and delivering) business value, not features (charts/... )
just an opinion... i'm probably not aware of everything...
I would do the following: keeping the old app as it is, copy it to make some kind of health-check to optimize the performance with the focus on the UI expressions and objects - without understanding the app and the datamodel changes there are just gambling.
The expressions are much easier to optimize - identifying redundant parts and using variables for it, replacing if-loops with pick(match()) constructs, replacing if-conditions with set analysis and similar things with the main-goal to reduce the scope of the huge expressions so that they could be viewed with one glare. After this it makes sense to try to understand the full-meaning of the expression and with this they might be adjustable in some way. From a performance point of view the focus should be on the aggr-functions.
It's definitely not an easy task but in 2 - 3 days the application could be probably significantly improved. Also it might be sensible to hire for this task an external supporting from Qlik or any partner.
If this was successful replace the old one with the new one (of course keeping always a backup from each app / release) and starting the real work with developing this app (and probably the whole environment) new. From time to time your undestanding of the matter will grow and you will get some new insights so that you could optimize further things on your intermediate application so that you get more time to develop the new world ...
Thanks for the reply. The thing is they already use Pick Match, set analysis and even still the expressions are about 5 pages long per a simple looking variable when you see inside it. I suppose what you are saying improve all the little things as much as you can?
You then start looking at moving some of these calculations into the script but the thing is these expressions are so huge and consisting of so many fields that you don't know where to begin.
The client seems reluctant to reduce the scope of the app, even the server infrastructure is beyond their control and controlled by the central IT team.
What would you do in an envrionment like this?
"What would you do in an environment like this?" Go somewhere else just kidding.
It sounds tough. I would summarize the main problem as "changes are required -- for performance and new requirements -- but changes are difficult and risky due to app complexity."
My first move would be to implement some tools to support me in making changes and managing risk.
1. Use the Qlik Sense Scalability Tools (v3.x, all 2017, Feb-Jun 2018) regression tester to record a baseline and validate that future changes deliver expected results with no side effects.
2. Use the QS Document Analyzer tool to assist in understanding the app, refactoring expressions and tuning the performance of charts Search Recipes | Qlikview Cookbook.
If budget allows, look at vendor products like NodeGraph, Platform Manager and WIP to help manage change.