Tanto per dare un idea della questione... facciamo che il tuo software sia generato da 4 milioni di righe di codice (Archicad mi pare sia su queste dimensioni), tra cui molte che richiamano funzioni del sistema operativo, ma ad un certo punto Apple (o MS, cambia poco) decide che certe funzioni nel nuovo sistema non funzionano più, o si comportano in modo diverso, o ancora, hanno una sintassi leggermente diversa... Tu devi solo ricercare tutte le funzioni modificate dal nuovo sistema operativo presenti nel tuo codice, e non solo modificarlo per il nuovo ma fare in modo che il programma funzioni sia con il nuovo che con il vecchio sistema... e una volta fatto le modifiche (suddivise in diversi gruppi di programmatori), ri-verificare che il tutto funzioni correttamente e che le modifiche introdotte da un programmatore non vadano in conflitto con qualcosa fatto da qualcun altro... ecco, forse non è un lavoro così banale.