1. A method for generating a set of tasks for performing a migration of a software solution comprising: specifying a physical topology of a deployed software solution, wherein the software solution comprises a plurality of software components and data associated with the plurality of software components integrated into a single entity; specifying at least one solution change to the deployed software solution to meet at least one business requirement; specifying at least one migration strategy for migrating the deployed software solution, wherein the at least one migration strategy comprises at least one of a product level strategy specified for a particular software component of the plurality of software components and at least one solution level strategy specified for the plurality of software components, wherein the product level strategy overrides the solution level strategy for the particular software component; generating a plurality of migration tasks for making the at least one solution change to the deployed software solution specified in the physical topology based on the at least one migration strategy; generating a recommended physical topology yielded for the software solution if the physical topology is updated according to the plurality of migration tasks; and outputting the plurality of migration tasks and recommended physical topology for providing a simulated plan for migrating the software solution according to the at least one migration strategy to meet the at least one business requirement.