A computer-implemented method for analyzing a computer program ecosystem (100, 400), the computer program ecosystem including multiple computer programs (102, 102a-h, 402) and data resources (104, 104a-j, 408) associated with the computer programs (102, 102a-h, 402), the method including: performing a static analysis of the computer program ecosystem (100, 400), including identifying static dependencies among elements of the computer program ecosystem (100, 400) based on values of parameters in one or more parameter sets associated with the computer program ecosystem (100, 400), the elements of the computer program ecosystem (100, 400) including the multiple computer programs (102, 102a-h, 402) of the computer program ecosystem (100, 400) and the data resources (104, 104a-j, 408) associated with the computer programs (102, 102a-h, 402); performing a runtime analysis of the computer program ecosystem (100, 400), including identifying one or more of the elements of the computer program ecosystem (100, 400) that were utilized during execution of the computer program ecosystem (100, 400) to process data records; performing a schedule analysis of the computer program ecosystem (100, 400), including identifying a computer program (102, 102a-h, 402) of the computer program ecosystem (100, 400) that has a schedule dependency from another computer program (102, 102a-h, 402) of the computer program ecosystem (100, 400); identifying a subset of the elements of the computer program ecosystem (100, 400) as an ecosystem unit based on the results of the static analysis, the runtime analysis, and the schedule analysis, wherein the identifying of the subset of the elements of the computer program ecosystem (100, 400) includes identifying elements of the computer program ecosystem (100, 400) for the ecosystem unit that depend from another element of the computer program ecosystem (100, 400) or from which another element of the computer program ecosystem (100, 400) depends; and migrating the identified subset of the elements that form the ecosystem unit from a first computer system to a second computer system, or testing the ecosystem unit, or both. performing a static analysis of the computer program ecosystem (100, 400), including identifying static dependencies among elements of the computer program ecosystem (100, 400) based on values of parameters in one or more parameter sets associated with the computer program ecosystem (100, 400), the elements of the computer program ecosystem (100, 400) including the multiple computer programs (102, 102a-h, 402) of the computer program ecosystem (100, 400) and the data resources (104, 104a-j, 408) associated with the computer programs (102, 102a-h, 402); performing a runtime analysis of the computer program ecosystem (100, 400), including identifying one or more of the elements of the computer program ecosystem (100, 400) that were utilized during execution of the computer program ecosystem (100, 400) to process data records; performing a schedule analysis of the computer program ecosystem (100, 400), including identifying a computer program (102, 102a-h, 402) of the computer program ecosystem (100, 400) that has a schedule dependency from another computer program (102, 102a-h, 402) of the computer program ecosystem (100, 400); identifying a subset of the elements of the computer program ecosystem (100, 400) as an ecosystem unit based on the results of the static analysis, the runtime analysis, and the schedule analysis, wherein the identifying of the subset of the elements of the computer program ecosystem (100, 400) includes identifying elements of the computer program ecosystem (100, 400) for the ecosystem unit that depend from another element of the computer program ecosystem (100, 400) or from which another element of the computer program ecosystem (100, 400) depends; and migrating the identified subset of the elements that form the ecosystem unit from a first computer system to a second computer system, or testing the ecosystem unit, or both.