A method of traversing a workflow is described. The workflow comprises a
plurality of interconnected question and answer nodes, each question node
being linked to a respective stored pre-determined question and each
answer node being linked to a respective stored answer. The method
comprises: determining the type of the current node of the workflow and,
if the current node is a question node, accessing a data store,
ascertaining whether the data store contains a previously determined
answer to the question linked to the current question node and, a) if the
data store does contain such a previously determined answer, retrieving
the answer from the data store and using the retrieved answer to
determine the next node of the workflow to be traversed; and b) if the
data store does not contain such a previously determined answer,
presenting the question linked to the current question node to a user,
and using answer data obtained from the user to determine the next node
of the workflow to be traversed.