The document set is based on the information that you need to make changes and extensions to the software, to solve incidents, to explain the operation of the system and to advice on modifications, extensions and migration.
Principles and requirements
To be able to determine what purpose the software has been created for and what standards/high level requirements are to be met.Documents:
- (Project) Start Architecture: e.g. basic principles, design and implementation standards
- Roles / persona's and user stories
- Requirements; both functional and non functional
Solution / software architecture
Preferrably a high level solution architecture diagram that refers to more detailled documentation like technical designs.Information on:
- Standards/standards/frameworks to be used
- Solution scope, interfaces with adjacent ICT components and other dependencies
- Scalabilty: what boundaries are known to the system and how can the solution be scaled?
- Security: in what way the system is secured?
- Flexibility: in what ways the solution can be configurated, extended?
Design documents
- Standards used
- Functional design: functions, interaction/flow, entities
- User interface model: screens, flow, controls, navigation
- Technical design: database design, classes/objects models, interface designs
- Implementation/deployment model
Implementation
- Standards, e.g. frameworks, patterns used
- Detailled program structure
- Version history, branches etc.
- Version planning for future versions, work items, etc.
Deployment/installation and configuration
- Installation and configuration documentation
- Release documents of the past x versions / period
- Environments used (specified) for Development, Test, Acceptance and Production (DTAP)
Quality management
- Test method used
- Test plans for smoke tests, system tests, integration tests, regression tests, user acceptance tests
- Test reports of the past x versions / period
Deployment
- Infrastructure requirements
- Software maintenance manual
- Implementation guide
Techical support and maintenance
- Health checklist
- Known issues, solutions and workarounds
- Backup and disaster recovery procedures and manuals
- Incident log of the last x months
Usage
- User documentation
- Super user documentation (for local support)
Supporting tools
Description of required tooling for:- Architecture
- Design tools
- Development, e.g. code editors, workbenches, source control
- Deployment
People
Who can I contact to gain more information and insight on the particular solution/platform?- Business owner(s)
- Architect(s) (solution) responsible
- Designer(s) / engineer(s) responsible
- IT professional(s) (installation, configuration, maintenance and support) responsible
- End user, each role
Of course, this is not an extensive list. Any suggestions are welcome!