Software project management is the art and science of planning and leading software projects. It is a sub-discipline of project management in which software projects are planned, implemented, monitored and controlled.
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:
Project management is the discipline of initiating, planning, executing, controlling, and closing the work of a team to achieve specific goals and meet specific success criteria. A project is a temporary endeavor designed to produce a unique product, service or result with a defined beginning and end (usually time-constrained, and often constrained by funding or deliverables) undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value. The temporary nature of projects stands in contrast with business as usual (or operations), which are repetitive, permanent, or semi-permanent functional activities to produce products or services. In practice, the management of these two systems is often quite different, and as such requires the development of distinct technical skills and management strategies.
The primary challenge of project management is to achieve all of the project goals and constraints. This information is usually described in a user or project manual, which is created at the beginning of the development. The primary constraints of many things. The secondary — and more ambitious — challenge is to optimize the allocation of necessary inputs and integrate them to meet pre-defined objectives.
Project Management 2.0 (sometimes mistakenly called Social Project Management) is one branch of evolution of project management practices, which was enabled by the emergence of Web 2.0 technologies. Such applications include: blogs, wikis, collaborative software, etc. Because of Web 2.0 technologies, small distributed & virtual teams can work together much more efficiently by utilizing the new-generation, usually low or no-cost Web-based project management tools. These tools challenge the traditional view of the project manager, as Project Management 2.0 represents a dramatic increase in the ability for distributed teams' collaboration.
While traditional project management structures focused on the paradigm of the project manager as controller, Project management 2.0 stresses the concept of distributed collaboration, and the project manager as a leader. Project management 2.0 advocates open communication. While traditional project management often was driven by formal reporting and hierarchical structures, project management 2.0 stresses the need for access to information for the whole team. This has led to one of the many criticisms of Project Management 2.0 - that it cannot scale to large projects. However, for distributed teams performing agile development, which are often emergent structures, the use of rich collaborative software may enable the development of collective intelligence