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 routines, function declarations, and relationships among software routines, automatically identifying a section of the software design specification that corresponds to a definition of a particular software routine, and maintaining a location of the section of the software design specification within the directory using a data structure mapping (a) the particular software routine to (b) a path, within the directory, of the section of the software design specification that corresponds to the definition of the particular software routine; 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 routine; wherein the skeleton code of the first program file corresponds to code for declaring one or more functions of the particular software routine; wherein the skeleton code of the second program file corresponds to code for implementing the particular software routine; 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.