1. A method of developing a software application, comprising: defining a plurality of application components for the software application; generating a plurality of deliverable files for the software application; mapping one or more deliverable files to each application component; and generating instructions to install the software application.