new website for APL and PKMP
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.
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.
Below is a list of supporting documents we create and maintain as part of our software quality management.
Responsibility: Product Management team
Top level business requirements of the PKMP application and covers functional, and non-functional requirements.
Responsibility: Software Engineering team
Further breakdown of the top-level business requirements into different architecture components and their specifications.
High Level Design
Responsibility:Software Engineering Team
Detailed design document covering lower level design. Cover algorithms description and pseudo-code when needed to help with implementation.
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.
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.
Responsibility: Product Management
Responsibility: Software Engineering
Responsibility: Software Engineering
Verification and Validation team
Responsibility: Verification and Validation team
Responsibility: Product Management
Responsibility: Product Management
Responsibility: Product Management
Responsibility: Product Management