Managing and Leading Software Projects by Richard E. Fairley