Product documentation

Product documentation describes the software product to be developed and is aimed at different audiences including business analysts, developers, testers, users, support and maintenance teams. The main product documentation that should be produced in a project are detailed below.

Software requirements document [Mandatory]

A software requirements document provides information about the required system functionality based on the needs of the institutions. Requirements are statements of what a system should do. They include functional and nonfunctional requirements and detail the product’s purpose, expected features and behavior. Functional requirements define the  features  the  product needs to have to support the needs of users. In the Agile methodology user stories  are used to describe requirements from the perspective of the end user. Non functional requirements include requirements for usability, performance and security. 

Design documentation [Mandatory]

Software architecture design documents, sometimes also called technical specifications, include the main architectural decisions made by the solution architect. Unlike software requirement documents that describe what needs to be built, the architecture design documentation is about how to build it. It describes in what way each product component will contribute to and meet the requirements, including solutions, strategies, and methods to achieve that. It includes:

In the agile methodology, the design, development and testing phases are iterative and therefore the design documentation can be updated incrementally.

API documentation [Mandatory]

API documentation contains instructions about how to effectively use and integrate with an API. It’s a concise reference manual containing all the information required to work with the API, with details about the functions, classes, return types, arguments and more, supported by tutorials and examples. A suitable tool can be used to automate the documentation of APIs

Test documentation [Mandatory]

Test documentation describes the process, objectives, and results of software testing. It can also include information on the environment, setup, and configuration required to perform testing. Test documentation is used to communicate the details of a test plan or strategy to stakeholders, developers, and testers. Test documentation includes:

Data migration documentation [Mandatory]

Data migration documentation is required when a software project involves moving data from a legacy software system to the new software system. It can also include moving data from manual files or spreadsheets to the new system. Types of data migration documentation includes:

User documentation [Mandatory]

This documentation is created for end-users and should explain in the simplest way possible how users can effectively use the software. User documentation provides an overview of the product’s functionality and gives basic guidelines on how to use it. The documentation can be provided in various forms including printed form, online or offline on a device.  Institutions can be creative on how to develop the user documentation based on the complexity and need. For example online end-user documentation can come in the form of knowledge bases and include FAQs, video tutorials, embedded assistance and support portals

Software configuration and maintenance documentation [Mandatory]

Software maintenance and configuration document  is a  document that provides key information required to effectively maintain the software. It includes the configurations required for the software including security settings, installation instructions, version control management and change management controls. It captures the following: