PDLC Delivery Checklist

Rick LapennaInsights Leave a Comment

In any Product Delivery Life Cycle (PDLC) methodology certain characteristics are common and can be borrowed from other delivery models such as agile, waterfall, and so on. In most cases, the major outcomes should be consistent with those documented herein. This a high-level breakdown of the major outcomes across generic phases of a PDLC – development, requirements, analysis, architecture, design, construction and implementation.

Development Process

Purpose:

The purpose of the Development Process is to transform a set of requirements into a software product or software-based system that meets the customer’s stated needs. The activities of the Development Process are composed for Systems Developer role and Software Developer role. 

Outcomes:

  • Requirements for the development of software are gathered and agreed;
  • A software product or software-based system is developed;
  • Intermediate work products are developed that demonstrate that the end product is based upon the requirements;
  • Consistency is established between the products of the development process;
  • System quality factors are optimized against system requirements, e.g., speed, development cost, usability, etc.;
  • Evidence (for example, testing evidence) is provided that demonstrates that the end product meets the requirements; and
  • The end product is installed in accordance with the agreed requirements.

Requirements Elicitation

Purpose:

The purpose of Requirements elicitation is to gather, process, and track evolving customer needs and requirements throughout the life of the product and/or service so as to establish a requirements baseline that serves as the basis for defining the needed work products. The acquirer or the developer of the system may perform requirements elicitation.

Outcomes:

  • Continuing communication with the customer is established;
  • Agreed customer requirements are defined and baselined;
  • A change mechanism is established to evaluate and incorporate changes to customer requirements into the baselined requirements based on changing customer needs;
  • A mechanism is established for continuous monitoring of customer needs;
  • A mechanism is established for ensuring that customers can easily determine the status and disposition of their requests; and
  • Enhancements arising from changing technology and customer needs are identified and their impact managed.

System Requirements Analysis

Purpose:

The purpose of System requirements analysis is to transform the defined stakeholder requirements into a set of desired system technical requirements that will guide the design of the system.

Outcomes:

  • A defined set of system functional and non-functional requirements describing the problem to be solved are established;
  • The appropriate techniques are performed to optimize the preferred project solution;
  • System requirements are analyzed for correctness and testability;
  • The impact of the system requirements on the operating environment are understood;
  • The requirements are prioritized, approved and updated as needed;
  • Consistency and traceability is established between the system requirements and the customer’s requirements baseline;
  • Changes to the baseline are evaluated for cost, schedule and technical impact; and
  • The system requirements are communicated to all affected parties and baselined

System Architectural Design

Purpose:

The purpose of System architectural design is to identify which system requirements should be allocated to which elements of the system.

Outcomes:

  • A system architecture design is defined that identifies the elements of the system and meets the defined requirements;
  • The system’s functional and non-functional requirements are addressed;
  • The requirements are allocated to the elements of the system;
  • Internal and external interfaces of each system element are defined;
  • Verification between the system requirements and the system architecture is performed;
  • The requirements allocated to the system elements and their interfaces are traceable to the customer’s requirements baseline;
  • Consistency and traceability between the system requirements and system architecture design is maintained; and
  • The system requirements, the system architecture design, and their relationships are baselined and communicated to all affected parties.

Software Requirements Analysis

Purpose:

The purpose of Software requirements analysis is to establish the requirements of the software elements of the system.

Outcomes:

  • The requirements allocated to the software elements of the system and their interfaces are defined;
  • Software requirements are analyzed for correctness and testability;
  • The impact of software requirements on the operating environment are understood;
  • Consistency and traceability are established between the software requirements and system requirements;
  • Prioritization for implementing the software requirements is defined;
  • The software requirements are approved and updated as needed;
  • Changes to the software requirements are evaluated for cost, schedule and technical impact; and
  • The software requirements are baselined and communicated to all affected parties

Software Design

Purpose:

The purpose of Software design is to provide a design for the software that implements and can be verified against the requirements.

Outcomes:

  • A software architectural design is developed and baselined that describes the software elements that will implement the software requirements;
  • Internal and external interfaces of each software elements are defined;
  • A detailed design is developed that describes software units that can be built and tested; and
  • Consistency and traceability are established between software requirements and software design.

Software Construction 

Purpose:

The purpose of Software construction is to produce executable software units that properly reflect the software design.

Outcomes:

  • Verification criteria are defined for all software units against their requirements;
  • Software units defined by the design are produced;
  • Consistency and traceability are established between software requirements and design and software units; and
  • Verification of the software units against the requirements and the design is accomplished.

Software Integration

Purpose:

The purpose of Software integration is to combine the software units, producing integrated software items, consistent with the software design, that demonstrate that the functional and non-functional software requirements are satisfied on an equivalent or complete operational platform.

Outcomes:

  • An integration strategy is developed for software units consistent with the software design and the prioritized software requirements;
  • Verification criteria for software items are developed that ensure compliance with the software requirements allocated to the items;
  • Software items are verified using the defined criteria;
  • Software items defined by the integration strategy are produced;
  • Results of integration testing are recorded;
  • Consistency and traceability are established between software design and software items; and
  • A regression strategy is developed and applied for re-verifying software items when a change in software units (including associated requirements, design and code) occur.

Software Testing

Purpose:

The purpose of Software testing is to confirm that the integrated software product meets its defined requirements.

Outcomes:

  • Criteria for the integrated software is developed that demonstrates compliance with the software requirements;
  • Integrated software is verified using the defined criteria;
  • Test results are recorded; and
  • A regression strategy is developed and applied for re-testing the integrated software when a change in software items is made.

System Integration

Purpose:

The purpose of System integration is to integrate the system elements (including software items, hardware items, manual operations, and other systems, as necessary) to produce a complete system that will satisfy the system design and the customers’ expectations expressed in the system requirements.

Outcomes:

  • A strategy is developed to integrate the system according to the priorities of the system requirements;
  • Criteria is developed to verify compliance with the system requirements allocated to the system elements, including the interfaces between system elements;
  • The system integration is verified using the defined criteria;
  • A regression strategy is developed and applied for re-testing the system when changes are made;
  • Consistency and traceability are established between the system design and the integrated system elements; and
  • An integrated system, demonstrating compliance with the system design and validation that a complete set of useable deliverable system elements exists, is constructed.

System Testing

Purpose:

The purpose of Systems testing is to ensure that the implementation of each system requirement is tested for compliance and that the system is ready for delivery.

Outcomes:

  • Criteria for the integrated system is developed that demonstrates compliance with system requirements;
  • The integrated system is verified using the defined criteria;
  • Test results are recorded; and
  • A regression strategy is developed and applied for re-testing the integrated system should a change be made to existing system elements.

Software Installation 

Purpose:

The purpose of Software installation is to install the software product that meets the agreed requirements in the target environment.

Outcomes:

  • A software installation strategy is developed;
  • Criteria for software installation is developed that demonstrates compliance with the software installation requirements;
  • The software product is installed in the target environment; and
  • Assure that the software product is ready for use in its intended environment.

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *