1. A computer-implemented method comprising: executing a first build file to generate a first build of a software program from a set of files that are stored in a file system; while executing the first build file to generate the first build of the software program, performing the steps of: monitoring activity in the file system to determine a plurality of files, from the set of files, that are being accessed in the file system; and recording first information about the plurality of files that are being accessed in the file system; sending the first information to a configuration management server; receiving second information from the configuration management server, wherein the second information indicates one or more dependencies that are determined among the plurality of files by the configuration management server based on the first information; based at least on the second information, generating a second build file that reflects the one or more dependencies among the plurality of files; and executing the second build file to generate a second build of the software program.