new website for APL and PKMP


APL- PKMP Software Quality Statement


The APL PKMP software includes development of data analysis applications that are subjected to meeting industry and government regulations. The software developer, programmers, and tester have appropriate training and experience to develop the product, PKMP software.

APL philosophy is to produce a high quality product that requires paying attention to all the stages of software development life cycle starting from requirements gathering and analysis, design documentations, implementation, code reviews, verification and validation testing, production deployment, and production support. High quality in the final product is achieved only by ensuring quality is embedded in every stage of the product development.

To support the above quality statement, APL management has put together a detailed software development process in place. Key elements of our development process are described below.

Software Engineering Development Process

The top-level input to product development comes in the form of business requirements from the product management team. The business requirements are analyzed and broken down and documented into Software Product Requirement Document.

Software development team reviews the Software Requirements and produces a high level and low level design documents. These documents are reviewed, approved, and used by the development team as a basis for their implementation and testing of code. The code developed is reviewed by peer developers. After successful unit testing and integration, the software is handed over to system verification and validation team for testing before it is approved for production release.

APL team follows a monthly software release plan. As part of release planning, new features and bug fixes are short-listed to be part of a new release. The system verification and validation is performed by a separate team of software test engineers. The system verification and validation test plans are developed based on the product requirements and design specifications.

APL testing team has developed an elaborate plan covering the verification and validation testing of the PKMP application. The plan includes more than 1000 test cases across all PKMP modules covering testing of possible use-cases and different scenarios. Based on the changes planned for a new release the verification and validation plan document is updated covering testing of changes and new features or modules added as part of the release. A new version of the system verification and validation plan report is generated by test team as part of every new release. Only after the successful testing a new release is approved for production deployment.

To ensure each system requirement is implemented and as per the design specifications a traceability matrix is created linking system requirements section numbers, inside the design specifications and system verification and validation test plans documents.

Software Quality Documents

Below is a list of supporting documents we create and maintain as part of our software quality management.

 00001 Software Product Requirement Document:

Responsibility: Product Management team

Top level business requirements of the PKMP application and covers functional, and non-functional requirements.

 00002 Software Specifications and Design Document

Responsibility: Software Engineering team

Further breakdown of the top-level business requirements into different architecture components and their specifications.

High Level Design

 00003 Software Design Document:

Responsibility:Software Engineering Team

Detailed design document covering lower level design. Cover algorithms description and pseudo-code when needed to help with implementation.

 00004 Software Integration and Test Documents and Reports

Responsibility: Verification and Validation team

Covers testing and report of individual software modules:

A separate test effort and report for each of the above modules focus on testing of design specification in the Software Specification and Design document.

 00005 Software Verification and Validation Document and Report

Responsibility: Verification and Validation team

Covers testing and report of all the components described above together as one unit/product. Focuses on testing the user requirements as part of the software requirements document.

 00006 Software Requirements Document Review Checklist and Report

Responsibility: Product Management

 00007 Software Specification and Design Document - Checklist and Review Report

Responsibility: Software Engineering

 00008 Software Design Document - Checklist and Review report

Responsibility: Software Engineering

 00009 Software Integration and Test Instructions

Verification and Validation team

 00010 Software Verification and Validation Instructions

Responsibility: Verification and Validation team

 00011 Software Development and Measurement Plan

Responsibility: Software Engineering Key elements of this document include the following:
  • Agile-like development
  • Iterative development
  • Monthly Sprints Planning
  • Frequent demos
  • Daily team stand-up meeting
  • Weekly management meeting
  • Software version control process and tools – Gitlab
  • Issues/defect – Gitlab
  • CI/CD DevOps – Gitlab
  • Software metrics – defect resolution time, system up time
  • Customer Documents:

     00012 Software License Agreement

    Responsibility: Product Management

     00013 Copyright Certificate

    Responsibility: Product Management

     00014 User Manual

    Responsibility: Product Management

     00015 Product Power Point Deck

    Responsibility: Product Management

     00016 Customer Support Plan

  • Video tutorials
  • Email
  • Phone
  • Online Chat
  • Training – online, onsite