Software project management

Software project management

  • Concerned with activities involved in ensuring that software is delivered on time and on schedule
  • Project management is needed because software development is always subject to budget and schedule constraints that are set by the organization developing the software.

Success criteria

  • Deliver the software to the customer at the agreed time
  • Keep overall costs within budget
  • Deliver software that meets the customer’s expectations
  • Maintain a happy and well-functioning development team

Software management distinctions

  • The product is intangible

Software cannot be seen or touched. Software project managers cannot see progress by simply looking at the artefact that is being constructed.

  • Software processes are variable and organization specific

We still cannot reliably predict when a particular software process is likely to lead to development problems.

Management activities

  • Project planning

Project managers are responsible for planning, estimating and scheduling project development and assigning people to tasks

  • Reporting

Project managers are usually responsible for reporting on the progress of a project to customers and to the managers of the company developing the software

  • Risk management

Project managers assess the risks that may affect a project, monitor these risks and take action when problems arise

  • People management

Project managers have to choose people for their team and establish ways of working that leads to effective team performance

  • Proposal writing

The first stage in a software project may involve writing a proposal to win a contract to carry out an item of work. The proposal describes the objectives of the project and how it will be carried out.

Risk management

  • Risk management is concerned with identifying risks and drawing up plans to minimize their effect on a project
  • A risk is some adverse circumstance that might occur
  • Categories of risks (based on what they affect primarily):

Project risks affect schedule or resources

Product risks affect the quality or performance of the software being developed

Business risks affect the organization developing or procuring the software

Examples of common project, product, and business risks

Risk Affects Description
Staff turnover Project Experienced staff will leave the project before it is finished.
Management change Project There will be a change of organizational management with different priorities.
Hardware unavailability Project Hardware that is essential for the project will not be delivered on schedule.
Requirements change Project and product There will be a larger number of changes to the requirements than anticipated.
Specification delays Project and product Specifications of essential interfaces are not available on schedule.
Technology change Business The underlying technology on which the system is built is superseded by new technology.
Product competition Business A competitive product is marketed before the system is completed.

The risk management process

  • Risk identification

Identify project, product and business risks

  • Risk analysis

Assess the likelihood and consequences of these risks

  • Risk planning

Draw up plans to avoid or minimize the effects of the risk

  • Risk monitoring

Monitor the risks throughout the project

Risk identification

  • May be a team activities or based on the individual project manager’s experience
  • A checklist of common risks may be used to identify risks in a project

–Technology risks

–People risks

–Organizational risks

–Tools risks

–Requirements risks

–Estimation risks

Examples of different risk types

Risk type Possible risks
Technology The database used in the system cannot process as many transactions per second as expected
People Key staff are ill and unavailable at critical times.
Organizational The organization is restructured so that different management are responsible for the project.

Organizational financial problems force reductions in the project budget.

Tools The code generated by software code generation tools is inefficient.
Requirements Customers fail to understand the impact of requirements changes.
Estimation The time required to develop the software is underestimated.
Scroll to Top