Software Management

Software Development Plan (SDP)

The Software Development Plan (SDP) describes a developer’s plans for conducting a software development effort. The SDP provides the acquirer insight and a tool for monitoring the processes to be followed for software development. It also details methods to be used and the approach to be followed for each activity, organization, and resource.

Objectives of a Software Development Plan (SDP)

The goal of any SDP is to provide a framework where team members on a software project have a clear understanding of the software they are developing and the problems they are trying to solve. An SDP answers the following questions:

  • What problems are being addressed and solved?
  • What are the main tasks of the development?
  • What software development approach will be utilized?
  • What are the key functions of the software?
  • What is the overall schedule of development and critical path?
  • What is the order of development?
  • Who is in charge?
  • What are the team responsibilities (Responsibility Assignment Matrix)
  • How is the project divided up?
  • How is quality control going to be implemented?

The SDP should be developed in the contractor‘s preferred format and should document all processes applicable to the system to be acquired, at a level of detail sufficient to allow the use of the SDP as the full guidance for the developers. It should reference specific standards, methods, tools, actions, reuse strategy, and responsibility associated with the development and qualification of all requirements, including safety and security. The SDP should be discussed in the Acquisition Strategy. [1]

Template: Software Development Plan 

Key Components of a Software Development Plan (SDP)

  • Section 1: Scope
  • Section 2: Reference Documents
  • Section 3: Overview of Required Work
  • Section 4: Plans of General Software Development Activities
  • Section 5: Plans of Performing Details Software Development Activities
  • Section 6: Schedule
  • Section 7: Organization
  • Section 8: Notes

The SDP should contain the following information, as applicable: [1]

  • Plan introduction and overview.
    • Purpose, scope, and objectives.
    • Assumptions and constraints.
  • Relationship to other program plans.
  • Referenced Documents.
  • Identification of all software and software products to which the SDP applies.
  • Definition of terms and acronyms.
  • System overview, including system and software architecture.
  • Overview of required work, including:
    • Requirements and constraints on the system and software to be developed.
    • Software products and related deliverables.
    • Requirements and constraints on project documentation.
    • The program/acquisition strategy, resources, and schedules
    • Additional requirements and constraints such as project security, privacy, methods, standards, interdependencies in hardware and software development.
    • Known software-specific risks.
  • Project organization and resources:
  • Plans for performing general software development activities, including:
    • Software development processes.
    • Software Development Approaches
    • Software development methods.
    • Software development standards
    • Reusable software products and Commercial-off-the-Shelf (COTS)
    • Software types/categories (i.e., operational software, test software, support equipment software) and associated processes, controls, and documentation.
    • Handling of critical requirements (such as safety, security, and information assurance).
    • Incremental development approach, planning, and management/oversight.
    • Establishing the system/software engineering environment.
    • Computer resources utilization and reserve capacity/growth management.
  •  Software-related development processes, including:
    • Overall development methodology.
    • Prototyping and simulations.
    • System requirements analysis and design, including requirements definition and allocation
    • Software requirements analysis.
    • Software preliminary and detailed design.
    • Software unit integration and testing.
    • Software component integration and testing.
  • Supporting processes and information, including:
    • Software risk management.
    • Approach to requirements traceability.

AcqLinks and References:

Updated: 4/29/2021

Rank: G1

Print Friendly, PDF & Email
Ezoicreport this ad

Leave a Reply

Scroll to Top