9.1: Project Management
Project management is documented in a Project Management (PM) plan that identifies the project management models, processes, procedures, practices and techniques, and tools used to manage the project. The PM plan states the project management objectives to achieve the software development requirements and satisfy the expectations of the customer and other significant stakeholders. Software Project Management has two facets: traditional PM, which includes planning, tracking and monitoring, and control of cost, schedule, project objectives, and quality; and software engineering technical management of software engineering activities and products. For a large project, a PM plan may consist of a set of plans, including plans for activities that span all phases of the SDLC, including an SCM Plan, a Testing Plan, a Software Quality Management Plan, a Software Development Plan, and a Measurement Plan. Like testing and configuration management, project management has been from the beginning of programming, especially for projects with more than several team members. Because PM activities occur in every SDLC phase, new computing technology that impacts the SDLC will affect PM models and processes and enable improved PM support tools. Of the 19 Project Management tools in use in 2008, listed in this unit's readings, only one or two appear in a best PM tool listing 15 years later. The 2008 listings show automated tool support for project planning and task management. A 2023 listing shows support for project planning, estimating, tracking, and controlling cost, schedule, functionality, quality, task flow diagrams, collaboration and communication, knowledge sharing, project analytics, and process automation. Furthermore, with the advent of AI, support for PM and software engineering decision-making, project data prediction, capacity needs forecast, and resource allocation optimization.
The software engineer and the project manager provide complementary skills and work collaboratively on shared activities. The three main activities of the project manager are organizational liaison, personnel management, and project monitoring and control. The "Liaison" section discusses the project manager's role as a go-between for the technical team and agents who are not members of the technical team (such as project sponsors, users, IS management, vendors, and so on). In the "Personnel Management" section, you will learn that this job entails working with personnel and human resources to hire, fire, and provide employees with professional development. The "Monitor and Control" section explains that project monitoring involves tracking project progress relative to budget. Project control means implementing changes when progress is unsatisfactory (such as training or revising project plans).
In software engineering, management activities occur at three levels: organizational and infrastructure management, project management, and measurement program planning and control. This section describes the areas of project management, including initiation and scope definition, project planning, project enactment, review and evaluation, and engineering measurement. These subjects are often regarded as separate, and indeed, they possess many unique aspects. Their close relationship has led to their combined treatment in software engineering, as effective management requires a combination of both numbers and experience.