Software Development Plan
The Software Development Plan is a comprehensive, composite artifact which gathers all information required to manage the project. It encloses a number of artifacts developed during the Inception phase and is maintained throughout the project.
Worker: Project Manager
Template: MS Word template

Input to Activities: Output from Activities:

Purpose To top of page

The purpose of the Software Development Plan is to gather all the information necessary to control the project. It describes the approach to the development of the software and is the top-level plan generated and used by the managers to direct the development effort.

The following people use the Software Development Plan:

  • The project manager, to plan the project schedule and resource needs, and to track progress against the schedule.
  • Project team members, to understand what they need to do, when they need to do it, and what other activities they are dependent upon.

Brief Outline To top of page

1. Introduction

1.1 Purpose
1.2 Scope
1.3 Definitions, Acronyms and Abbreviations
1.4 References
1.5 Overview

2. Project Overview

2.1 Project purpose, scope and objectives
2.2 Assumptions and constraints
2.3 Project deliverables
2.4 Evolution of the Software Development Plan

3. Project Organization

3.1 Organizational structure
3.2 External interfaces
3.3 Roles and responsibilities

4. Management Process

4.1 Project estimates
4.2 Project plan
4.2.1 Phase plan
4.2.2 Iteration objectives
4.2.3 Releases
4.2.4 Project schedule
4.2.5 Project resourcing
4.2.6 Budget
4.3 Iteration plans
4.4 Project monitoring and control
4.4.1 Requirements management plan
4.4.2 Schedule control plan
4.4.3 Budget control plan
4.4.4 Quality control plan
4.4.5 Reporting plan
4.4.6 Measurement plan
4.5 Risk Management plan
4.6 Close-out plan

5. Technical process plans

5.1 Development case
5.2 Methods, tools and techniques
5.3 Infrastructure plan
5.4 Product acceptance plan

6. Supporting process plans

6.1 Configuration management plan
6.2 Evaluation plan
6.3 Documentation plan
6.4 Quality assurance plan
6.5 Problem resolution plan
6.6 Subcontractor management plan
6.7 Process improvement plan

7. Additional plans

8. Annexes

9. Index

Enclosed Artifacts To top of page

Note that although the Rational Unified Process recognizes the possible need for an Infrastructure Plan, Documentation Plan, Sub-contractor Management Plan and Process Improvement Plan, they are currently outside the scope of the process, and no explicit guidance is provided for their creation or for their contents.

Timing To top of page

Developed during inception. Updated at each major milestone.

Responsibility To top of page

The Worker: Project Manager is responsible for compiling the enclosed documents and making sure the latest versions are kept available through the Software Development Plan.

Tailoring To top of page

There are situations when a standard is called out in a contract that stipulates the outline and contents of a Software Development Plan. In this case you would use that instead of the above proposed outline, but you should form a clear mapping of the information requirements of that standard to the outline above.

Annotated Outline To top of page

1. Introduction

[The introduction of the Software Development Plan should provide an overview of the entire document. It should include the purpose, scope, definitions, acronyms, abbreviations, references and overview of this Software Development Plan.]

1.1 Purpose

[Specify the purpose of this Software Development Plan.]

1.2 Scope

[A brief description of the scope of this Software Development Plan; what Project(s) it is associated with, and anything else that is affected or influenced by this document.]

1.3 Definitions, acronyms and abbreviations

[This subsection should provide the definitions of all terms, acronyms, and abbreviations required to interpret properly the Software Development Plan. This information may be provided by reference to the project Glossary.]

1.4 References

[This subsection should provide a complete list of all documents referenced elsewhere in the Software Development Plan. Each document should be identified by title, report number (if applicable), date, and publishing organization. Specify the sources from which the references can be obtained. This information may be provided by reference to an appendix or to another document. For the Software Development Plan, the list of referenced artifacts should include:

Iteration Plans

Requirements Management Plan

Measurement Plan

Risk Management Plan

Development Case

Business Modeling Guidelines

User Interfaces Guidelines

Use Case Modeling Guidelines

Design Guidelines

Programming Guidelines

Test Guidelines

Manual Style Guide

Infrastructure Plan

Product Acceptance Plan

Configuration Management Plan

Evaluation Plan

Documentation Plan

Quality Assurance Plan

Problem Resolution Plan

Sub-contractor Management Plan

Process Improvement Plan ]

1.5 Overview

[This subsection should describe what the rest of the Software Development Plan contains and explain how the document is organized.]

2. Project Overview

2.1 Project purpose, scope and objectives

[A brief description of the purpose and objectives of this project, and a brief description of what deliverables the project is expected to deliver.]

2.2 Assumptions and constraints

[A list of assumptions that this plan is based on, and any constraints (e.g. budget, staff, equipment, schedule) that apply to the project.]

2.3 Project deliverables

[Tabular list of the artifacts to be created during the project, with target delivery dates.]

2.4 Evolution of the Software Development Plan

[Table of proposed versions of the software development plan, and the criteria for the unscheduled revision and reissue of this plan.]

3. Project Organization

3.1 Organizational structure

[Describe the organizational structure of the project team, including management and other review authorities.]

3.2 External interfaces

[Describe how the project interfaces with external groups. For each external group, identify the internal/external contact names.]

3.3 Roles and responsibilities

[Identify the project organizational units that will be responsible for each of the core workflows, workflow details, and supporting processes.]

4. Management Process

4.1 Project estimates

[Provide the estimated cost and schedule for the project, as well as the basis for those estimates, and the points/circumstances in the project when re-estimation will occur.]

4.2 Project plan
4.2.1 Phase plan

[Include the following:

Work breakdown structure.

A timeline or Gantt chart showing the allocation of time to the project phases/iterations.

Identify major milestones with their achievement criteria

Define any important release points and demos]

4.2.2 Iteration objectives

[List the objectives to be accomplished for each of the iterations.]

4.2.3 Releases

[Brief descriptions of each software release, whether demo, beta, etc.]

4.2.4 Project schedule

[Diagrams/tables showing target dates for completion of iterations and phases, release points, demos, and other milestones.]

4.2.5 Project resourcing
4.2.5.1 Staffing plan

[Identify here the numbers and type of staff required (including and special skills or experience), scheduled by project phase or iteration.]

4.2.5.2 Resource acquisition plan

[Describe how you will approach finding and acquiring the staff needed for the project.]

4.2.5.3 Training plan

[List any special training project team members will require, with target dates for when this training should be completed.]

4.2.6 Budget

[Allocation of costs against the WBS and the Phase Plan.]

4.3 Iteration plans

[Each iteration plan will be enclosed in this section by reference.]

4.4 Project monitoring and control
4.4.1 Requirements management plan

[Enclosed by reference]

4.4.2 Schedule control plan

[Describes the approach to be taken to monitor progress against the planned schedule and how to take corrective action when required.]

4.4.3 Budget control plan

[Describes the approach to be taken to monitor spending against the project budget and how to take corrective action when required.]

4.4.4 Quality control plan

[Describe the timing and methods to be used to control the quality of the project deliverables and how to take corrective action when required.]

4.4.5 Reporting plan

[Describes internal and external reports to be generated, and the frequency and distribution of publication.]

4.4.6 Measurement plan

[Enclosed by reference]

4.5 Risk management plan
4.6 Close-out plan

[Describe the activities for the orderly completion of the project, including staff reassignment, archiving of project materials, post-mortem debriefings and reports etc.]

5. Technical process plans

5.1 Development Case

[Enclosed by reference]

5.2 Methods, tools and techniques

[Lists the documented project technical standards etc by reference:

Business Modeling Guidelines

User-Interface Guidelines

Use-Case Modeling Guidelines

Design Guidelines

Programming Guidelines

Test Guidelines

Manual Style guide]

5.3 Infrastructure plan

[Enclosed by reference]

5.4 Product acceptance plan

[Enclosed by reference]

6. Supporting process plans

6.1 Configuration management plan

[Enclosed by reference]

6.2 Evaluation plan

[Part of the SDP: describes the project’s plans for product evaluation, and covers the techniques, criteria, metrics and procedures used for evaluation – this will include walkthroughs, inspections and reviews. Note that this is in addition to the Test Plan, which is not enclosed in the SDP.]

6.3 Documentation plan

[Enclosed by reference]

6.4 Quality assurance plan

[Enclosed by reference]

6.5 Problem resolution plan

[Enclosed by reference]

6.6 Subcontractor management plan

[Enclosed by reference]

6.7 Process improvement plan

[Enclosed by reference]

7. Additional plans

[Additional plans if required by contract or regulations.]

8. Annexes

[Additional material of use to the reader of the SDP.]

9. Index

Additional Information To top of page

Good software development plans evolve. A useful Software Development Plan is periodically updated (it is not stagnant shelfware), and it is understood and embraced by managers and practitioners.

The Software Development Plan is the defining document for the project's process. Prepare a single Software Development Plan that:

  • Complies with organizational standards for content.
  • Complies with the contract (if any).
  • Provides traceability to, or waivers from, contract and organization requirements.
  • Is updated at each major milestone.
  • Evolves along with the design and requirements.

A standard format promotes:

  • Reuse of processes, methods, experience, and people.
  • Accountability for organizational expectations.
  • Homogeneous process objectives.

A key discriminator of good Software Development Plans is their conciseness, lack of philosophy, and focus on meaningful standards and procedures.

Display Rational Unified Process using frames

Copyright  1987 - 1999 Rational Software Corporation Rational Unified Process 5.5 (build 12)