1. A method for deploying software on a local device comprising: receiving a message from a software deployment system, said message having been transmitted to a plurality of discrete devices grouped in a first hierarchical level of multiple hierarchical levels according to a single execution process in a common generic format, wherein each hierarchical level has a parent-child relationship with its neighboring levels, responsive to said message, identifying a plurality of instructions from the message, a first instruction identifying, in said generic command format, a process step to be taken to deploy software, wherein the instructions include a plurality of sequentially dependent executable units; converting said first instruction from said generic format to a command format compatible with an operating system of the local device; executing an operating system command on the local device corresponding to a second instruction to deploy software on the local device; when an executable unit fails, ceasing execution of subsequent executable units on the local device and identifying the failed executable unit; when no executable unit fails, completing execution to deploy software on the local device; obtaining status information pertaining to progress of the software deployment; and transmitting the status information to the software deployment system.