maandag 3 maart 2014

Reviewing an ICT solution/platform: what documentation and other things you need?

On a regular basis, I'm asked to do a quick review on an ICT solution or platform. This with the intention to take over the management and maintenance of the system. For a quick but effective review, you'll need documentation and contacts. To avoid being flooded with a lot of irrelevant documentation I have devised a set of documents that help me to form a decent picture of the quality of the solution or platform.

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!



(Dutch) Hoe staat het met het gebruik van open standaarden in in aanbestedingen, de toepassing in overheidsbrede voorzieningen en overig gebruik?

Forum Standaardisatie onderzoekt jaarlijks het gebruik van de standaarden van de "Pas toe of leg uit"-lijst. Het onderzoek richt z...