Constraints and risks are two critical factors that affect software project performance; more attention needs to be paid to constraints and risks in order to improve performance. In this paper, investigation will take place to determine the relation between those three factors. An enhanced model has been proposed to describe how these factors affect each other. As an application, the performance is examined for both open and closed source software projects in terms of some constraints and risk factors. Moreover, solutions for controlling both constraints and risks are provided. For constraints, project activities scheduling is enhanced using a genetic algorithm. For risks, RISKIT is briefly explained as a risk management methodology.Scopu