Software Project Management is the art of balancing competing objectives, managing risk, and overcoming
constraints to deliver, successfully, a product in which meets the needs of both customers (the payers of bills) and
the users. The fact that so few projects are unarguably successful is comment enough on the difficulty of the task.