CS302 Study Guide

Unit 9: Project Management

9a. Compare the role of the project manager to that of the software engineer

  • What are the SE and PM roles?
  • What is the relationship between a software project manager and a software engineer?
  • What is unique about managing a software project compared to managing in general?

Two of the roles of a software project team are software engineering (SE) and project management (PM). SE is a technical role, and PM is a management role. The software engineering (SE) role is solely responsible for the technical activities of the life-cycle. The SE and PM have joint responsibility for project planning and allocation of resources, including the assignment of tasks and major application decisions. The project management (PM) role is solely responsible for interfacing with non-project team stakeholders, managing project staff, and monitoring and control. The SE and PM roles are team-oriented: each has sole and shared or joint responsibilities to provide mutual support.

Software project management differs from managing in general. It focuses on:

  • software development, software technologies, and software applications
  • software requirements engineering and requirements management
  • software estimation of cost and schedule
  • identification and mitigation of project risks
  • requirements, design, and implementation models and management of the transition from the problem space to the solution space
  • using data to make decisions that impact the success of a software project

A software project manager manages the software engineering team; plans, tracks, monitors, and controls technical activities and work products of the SDLC phases. A software engineer performs the technical activities and develops the technical work products. A software engineer may perform some technical management functions on a small project. 

Furthermore, a software PM role should ideally be able to define a standard structure for allocation and management of cost, schedule, functionality, and organization of project processes and work products and for managing joint SE-PM responsibilities. Typically, this common structure is a software architecture. For example, the software system architecture can serve as the work breakdown structure. Allocation of cost and time to each structure element produces a project cost and schedule estimate. As design details evolve during the development, detailed work assignments can be identified, cost, and scheduled. The technical nature of this typical structure determines the joint SE-PM areas of responsibility. 

To review, see Project Management and Software Engineering Management.


9b. Describe the areas of responsibilities of a project manager

  • What are the responsibilities of the PM in the project management process?

The PM is solely responsible for liaison between the project and external stakeholders, project personnel management, and project monitoring and control. External liaison involves communication, negotiation, and status reporting. What do you include in a status report to a stakeholder? 

The PM performs project personnel management with the support of Human Resources. Project monitoring and control is tracking the project progress against the project plan and taking corrective action when the project progress deviates from the plan. The ability to project from current to future status is a valuable PM skill that identifies problems early when they are usually easier to address. 

The PM process consists of activities that carry out the above three responsibilities. These activities utilize techniques or methods to produce work products, including project organization, work breakdown structures, cost and schedule estimates, task dependency diagrams, critical path, software development and related plans, status, review, and monitoring reports. 

To review, see Project Management.


9c. Apply the concepts of project management, such as planning, scheduling, and execution, in terms of the project, people, change management, and quality control

  • What are the activities and artifacts of software project management?
  • What topics are included in a Software Development Plan?
  • What are the techniques used in the software project and change management activities?

Project performance depends on software project management planning and efficient and effective execution of the project plan. Software PM aims to develop a software system that satisfies the expectations and requirements of the stakeholders. The PM develops a software development plan jointly with SE to achieve this goal. The software development plan (SDP) describes the project's goals, strategy and approach, project activities, project deliverables, PM techniques, cost and time estimates, and progress and quality measures to achieve the goals. Other topics included in an SDP are:

  • team roles and shared tasks
  • project-specific training.
  • project communication mechanisms, such as email, notifications, meetings, reviews and audits, and status reports
  • personnel management, monitoring and control, and measurement

A critical component of project monitoring and control is change management, a procedure for change control that requires the user to submit a formal request for a change to the PM. Changes can be classified in several ways:

  1. by type, such as eliminating defects, improving performance, or changing functionality
  2. as required or optional
  3. by priority as emergency, such as mandatory with a required end date, mandatory with an open end date, or low priority

Techniques learned from experience include:

  • management heuristics
  • cost and schedule monitoring tools
  • systematic decision-making approaches
  • data analytic and predictive methods

The SDP is the primary monitoring and control document for managing the project. 

To review, see Project Management and Change Management.


Unit 9 Vocabulary

This vocabulary list includes terms you must know to complete the final exam successfully.

  • change management
  • project management (PM)
  • software development plan (SDP)
  • software engineering (SE)