1. A computer program product comprising: a computer readable medium; and computer usable code stored on the computer readable medium, where, if executed by a processor, the computer usable code causes a computer to: upload a current software topology of a deployment site; receive a selection of a software application; determine a software deployment topology required to deploy the application as a new software installation, wherein the current software topology and the software deployment topology are to be defined in extensible markup language (XML) files; compare the current software topology to the software deployment topology; identify a mismatch between the current software topology and the software deployment topology, wherein the mismatch is to include at least one of a hardware mismatch, an operating system mismatch, a patch level mismatch, an application level mismatch, an application configuration mismatch and a memory mismatch; and transmit an action plan to a user via a graphical user interface based on the mismatch.