1. A method for automatically generating program code, the method comprising the computer-implemented steps of: while scanning a directory comprising a plurality of electronic documents that form a software design specification that defines software elements, automatically identifying a section of the software design specification that corresponds to a definition of a particular software element, and maintaining a location of the section of the software design specification within the directory using a data structure mapping (a) the particular software element to (b) a path, within the directory, of the section of the software design specification that corresponds to the definition of the particular software element; programmatically generating skeleton code of at least a first program file and of a second program file based on the definition of the particular software element; wherein the skeleton code of the first program file corresponds to code for declaring the particular software element; wherein the skeleton code of the second program file corresponds to code for implementing the particular software element; automatically creating, based at least in part on the location of the section of the software design specification within the directory of the software design specification, an output directory for locating the first program file and the second program file.