Artifact: Software Development Plan
| The Software Development Plan is a comprehensive, composite artifact that 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. | |
| Other Relationships: | Contains - Problem Resolution Plan - Product Acceptance Plan - Measurement Plan - Risk Management Plan - Quality Assurance Plan |
| Role: | Project Manager |
| Optionality/Occurrence: | Developed during Inception phase, this artifact is updated at each major milestone. |
| Templates and Reports: | - Template: Software Development Plan (Informal) - Template: Software Development Plan |
| Examples: | - CREG Software Development Plan - Elaboration Phase - CSPS Software Development Plan - Elaboration Phase |
| UML Representation: | Not applicable. |
| More Information: | - Guideline: Software Development Plan |
Purpose
The purpose of the Software Development Plan is to gather all of 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.
Timing
Developed during Inception phase, this artifact is updated at each major milestone.
Responsibility
The Project Manager is responsible for compiling the enclosed documents and making sure the latest versions are made available through the Software Development Plan.
Tailoring
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 proposed outline shown in the HTML template, but you should form a clear mapping of the information requirements of that standard to the outline in the template provided.
Additional Information
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 a good Software Development Plan is its conciseness, lack of philosophy, and focus on meaningful standards and procedures.