Overview
Software project management is the process of planning and leading software projects. It is a sub-discipline of project management in which software projects are planned, implemented, monitored and controlled.
History
In the 1970s and 1980s, the software industry grew very quickly, as computer companies quickly recognized the relatively low cost of software production compared to hardware production and circuitry. To manage new development efforts, companies applied the established project management methods, but project schedules slipped during test runs, especially when confusion occurred in the gray zone between the user specifications and the delivered software. To be able to avoid these problems, software project management methods focused on matching user requirements to delivered products, in a method known now as the waterfall model.
As the industry has matured, analysis of software project management failures has shown that the following are the most common causes:
Insufficient end-user involvement
Poor communication among customers, developers, users and project managers
Unrealistic or unarticulated project goals
Inaccurate estimates of needed resources
Badly defined or incomplete system requirements and specifications
Poor reporting of the project's status
Poorly managed risks
Use of immature technology
Inability to handle the project's complexity
Sloppy development practices
Stakeholder politics (e.g. absence of executive support, or politics between the customer and end-users)
Commercial pressures
From Wikipedia (CC BY-SA 4.0).