1. A computer implemented method for generating development infrastructure, comprising: decomposing a development process into one or more functional requirements, the functional requirements corresponding to one or more functional capabilities; mapping each functional. requirement of the decomposed development process to the one or more corresponding functional capabilities; and selecting one or more services operable to implement each mapped functional capability, wherein each service comprises one or more functional capabilities.