When maintaining multiple instances of one application (for different companies), the value of automating the upgrade proces increases but it also becomes more complexe, especially if there are many different project versions within the project.
With the current possibilities of the Software Factory it is a pain to create an upgrade package of a cumulative upgrade (multiple versions). The only proper way is to create an incremental upgrade script for each version to the next version so the dataconversion is always applied at right state of the model (as was stated here). But to create suchs a package, you need to generate all code for each version one by one and then you can combine all the 020 scripts (because for the other code files you only need the ones of the latest version).
To make this process more simple and to reduce manual steps, an improvement could be that when generating code from version 1.00 to version 1.30, you could mark an 'incremental upgrade' checkbox so that the SF generates multiple (smart) 020 scripts (1.00->1.10, 1.10->1.20 and 1.20->1.30) instead of 1.00->1.30.