A computer-implemented method for creating optimized sub-projects for a
project. Boundary conditions, input regarding output objects, and input
regarding "as-is" data sources are received. The output objects are
decomposed into data objects and logical processes used to create the
output objects. Value clusters are determined. The data objects are
organized into "to be" data structures and the "to be" which are mapped
to the "as-is" data sources. Additional processes are determined for
moving data from a source to a target. An affinity matrix is created
based on the value clusters. Finally, an optimization operation is
executed with an optimization engine to produce the optimized
sub-projects. The optimization engine takes as inputs the above
information.