1. A computer implemented method for allocating one or more system resources amongst a plurality of components of a software development platform, wherein the components are utilized to perform software development activities to carry out a software development project and have corresponding component parameters which control the allocation of resources to the components, and wherein the software development project includes a plurality of phases, the method comprising: providing, by a computing device, a plurality of application server profiles, wherein each profile of the plurality of application server profiles corresponds to a respective one of the phases of the plurality of phases and includes parameter settings for the component parameters, wherein the parameter settings are based on an anticipated workload of the components in the corresponding phase; accessing, by the computing device, software development data which includes at least timeframes for the plurality of phases of the software development project, wherein the software development data is updatable to reflect changes in the timeframes; identifying, by the computing device, which of the plurality of phases the software development project is currently in based on the timeframes; setting, by the computing device, the component parameters in accordance with the parameter settings in the application server profile which corresponds to the identified phase of the plurality of phases, wherein the identifying and setting are performed at least in response to detecting, a change in the timeframes for the plurality of phases; and allocating dynamically, by the computing device, the one or more system resources to the components of the software development platform in accordance with the set.