Software project management

Key points:

  • Good project management is essential for project success.
  • The intangible nature of software causes problems for management.
  • Managers have diverse roles but their most significant activities are planning, estimating and scheduling.
  • Planning and estimating are iterative processes that continue throughout the course of a project.
  • Risks may be project risks, product risks or business risks.
  • Risk management is concerned with identifying risks that may affect the project and planning to ensure that these risks do not develop into major threats.
  • Activities involved in ensuring that software is delivered: on time, within the budget and in accordance with the requirements.
  • Project management is needed because software development is always subject to budget and schedule constraints.

Our software project management activities include:

Project planning and scheduling

This is a continuous activity from initial concept through to system delivery.

The activities involved in the planning of the project are:

  • Estimation: Effort, cost, resource, and project duration.
  • Project scheduling.
  • Staff organization: staffing plans.
  • Risk handling: identification, analysis, and abatement procedures.
  • Miscellaneous plans: quality assurance plan, configuration management plan, etc.

The process of project planning:

Project planning and scheduling

Different types of plan may be developed to support the main software project plan that is concerned with schedule and budget.

These types of project plans are:

# Plan Description
1 Quality plan Describes the quality procedures and standards that will be used in a project.
2 Validation plan Describes the approach, resources and schedule used for system validation.
3 Configuration management plan Describes the configuration management procedures and structures to be used.
4 Maintenance plan Predicts the maintenance requirements of the system, maintenance costs and effort required.
5 Staff development plan Describes how the skills and experience of the project team members will be developed.

Project Costing

The activities involved are:

  • Determine size of the product.
  • From the size estimate, determine the effort needed.
  • From the effort estimate, determine project duration, and cost.
Project Costing

Project monitoring and reviews

The project review helps to document the results of project management review, by stating whether the:

  • Project is currently delivering to schedule.
  • Budget allocated was sufficient at this point.
  • Deliverables have been produced and approved.
  • Risks have been controlled and mitigated.
  • Issues were identified and resolved.
  • Changes were properly managed.
  • Project is on track.

The project phase review helps to:

Project monitoring and reviews

Risk management

A risk is a probability that some adverse circumstance will occur.

  • Project risks affect schedule or resources.
  • Product risks affect the quality or performance of the software being developed.
  • Business risks affect the organisation developing or procuring the software.

The risk management process is:


Risks and risk types

The risk types are:

# Risk type Possible risks
1 Technology
  • The database used in the system cannot process as many transactions per second as expected.
  • Software components which should be reused contain defects which limit their functionality.
2 People
  • It is impossible to recruit staff with the skills required.
  • Key staff are ill and unavailable at critical times.
  • Required training for staff is not available.
3 Organizational
  • The organisation is restructured so that different management are responsible for the project.
  • Organisational financial problems force reductions in the project budget.
4 Tools
  • The code generated by CASE tools is inefficient.
  • CASE tools cannot be integrated.
5 Requirements
  • Changes to requirements which require major design rework are proposed.
  • Customers fail to understand the impact of requirements changes.
6 Estimation
  • The time required to develop the software is underestimated.
  • The rate of defect repair is underestimated.
  • The size of the software is underestimated.