1. A method of managing software in a datacenter comprising operating a computer to perform steps of: storing a data construct representative of at least a portion of a datacenter having a distributed computer architecture; changing a software component on a target component in the datacenter; receiving target information representative of the target component; receiving task information representative of software to be installed on the target component; using at least the data construct and the target information to identify related components in the datacenter which have a dependency relationship with the target component; using at least the task information to identify any affected components from among the related components.