1. A computer-implemented method for provisioning a pool of virtual machines (VMs) in a networked computing environment, comprising: accessing, in at least one computer data structure, a history of previously provisioned VMs in the networked computing environment, the history including, for each individual software program and each combination of individual software programs, a number of times included in the previously provisioned VMs; determining, based on the history, raw percentages of the previously provisioned VMs that comprised a particular set of software programs, the raw percentages indicating a percentage of VMs that comprised each individual software program and each combination of individual software programs; transforming each of the raw percentages to yield normalized percentages, wherein a sum of all of the normalized percentages is one-hundred percent; creating a probability distribution corresponding with the previously provisioned VMs that comprised the particular set of software programs from the normalized percentages; and provisioning a pool of VMs having the particular set of software programs, in the networked computing environment, based on the probability distribution such that the set of software programs are provisioned prior to being requested for use by a particular VM, wherein the pool of VMs is distributed across a plurality of physical devices in the networked computing environment.