Home Business Change Analysis & Design Agile Testing Templates About us


Techniques in describing Scenarios

Identifying scenario beginning and end

A scenario flow starts with an initiating event (usually from another party), and concludes with a handover deliverable. A number of different things may also be produced along the way in addition to the handover deliverable.

Whilst the end deliverable is implicit from the flow steps (see later), restating it again emphasises that this is the deliverable that the owner is obliged to produce as per the terms of the process and ownership document they signed off on.

Triggered by: Event and dependency [Follows from: <<cross reference prior BPF sub-process>>]


<= The steps required to reach end point =>









Completed by: Action and deliverable [Leads to: <<cross reference next BPF sub-process>>]

Describing each step

Steps are the procedures how in which a (sub)process will be executed. Each and every step must describe: who performs, what (and how) is performed, where information is contained, any embedded application control.

To provide clarity in these areas each step is to be structured in the following manner:


User/role perform action




Things on which actions are performed on


Technology/functions by which action is performed

So generically each step will look the following:

User does something to something utilising specific technology

Keeping the style consistent to the above, will make the steps much more robust.

As part of the QA process, each of these elements should be able to be identified in each line. If not then the step is not perspective enough.

“User” component of step

To promote that these procedures are “instructions”, each step in the procedure must begin with the user role responsible for executing the procedure. Some notes as to describing the user:


The user should only be expected to perform one action per line in the procedure (unless these actions are logically part of the same thing)


To emphasise the user, use the bold font whenever a user is referenced. The user must always begin each line of the procedures


If the user is giving something to another user, put the giving and receiving as separate procedural lines, since the first user has the responsibility to give something, and the second user has the separate responsibility of receiving (one is not necessarily guaranteed to follow the other – they are two separate things!)

“Action” component of step

Always make role that has responsibility clear – do this by starting each step with the user performing action.

Use active style, i.e. have verb as second item. The verb will be subject to control (unless it is an explanatory step). The object (typically a noun) is the something performed on, and is subject to audit or evidence based investigation. This noun could be explained further in the data model, exception business rules etc.

Try and keep only one verb per step.

Avoid using terms that imply conditionality where there is none. Terms such should, will or must can be omitted.



Business User should check whether the files are OK



Business User checks whether the files are OK

Use of SOX significant steps for action

SOX/Audit mandates the identification of certain steps that are key from a risk and control perspective, and succinctly and sufficiently describe how they influence the flow of transactions. Such verbs are:











Where the step implies one of these action, then for consistency the active verb in the flow should be replaced with one of the above. This gives the work flow steps a more control-centric emphasis.

Example of use of SOX significant steps:

Rather than:

Once the Business Users have completed the activities in 1.1. Data Preparation, the Business Users will produce the automatic files.


Business Users initialises the production of the Automatic Files by entering into the create function of the framework

The exception to this is “Processes” which is too generic to be of any use – so instead of using this term, use the specific term that describes the nature of the processing e.g.


Validates (try and use instead of other similar terms such as checks or reviews)







“Object” component of step

Each object (normally a noun) in the step is typically some for of intermediate deliverable in its own right, the specification of which must be detailed within the supplementary specification part document (but not in the flow itself).

For example the supplementary specification will cover the following:


If it is a report – then the fields that make up the report should be described.


If it is a table – then the key attributes should be described


If it is a notification – the mechanism of notification, SLA and the recipient.


Controls will also need to be similarly described and designed.

To emphasise that these are formal parts of the process, it is recommended that these deliverables have an initial capital letter and are underlined.

It is important to note that unless the deliverable of the step is very trivial, do not try and fully describe it as part of the step itself, as this may make the step difficult to read, and dilute its prime purpose of defining a procedure.

For example if a user has to set up 20 attributes as part of a step, do not list them all (if its just a few, then fine) in the step itself. Rather, state something along the lines that the user fully populates all required attributes along the guidelines shown in the specific section of the supplementary specification.

“Function/Technology” component of step

Given this delivery is the process design; they must tell the user how to perform the step utilising technology available to them.

So as well as stating the “how” it is also the “…on what”. Thus it will need to instruct the user as to the functional part of the toolset that is to be used to correctly/efficiently fulfil step.

Whilst enough detail should be given to provide unambiguous guidance as to what specific part of the tool to use – the instructions are not a “dummies guide”– i.e. it assumes some knowledge and training in the use of tools, and for this reason screen shots are not recommended.

An example of describing the how.

Rather than:

Account Clerk initialises the reconciliation


Account Clerk initialises the reconciliation by adding an entry with the reconciliation tools create reconciliation  function

Conditionality as part of a step

As each scenario states a specific case, try and express conditionality by using active rather than passive language.

If there are large divergence in step logic, consider a separate scenario covering a separate specific case.

An example of passive conditionality.

Rather than:

“If there is a problem with the data in the Platform,  Business Users will investigate and correct the problem before they send the file to Platform operations”


Business Uses investigate and corrects any data problems with in the Platform, prior to sending the file to Platform operations”

It is fine to state these checks as part of the “happy day” scenario, as these checks are part and parcel of what a successful flow is. If however you are describing conditionality based on the consequence of a previous step being unsuccessful then you are probably describing this in the wrong place.

In the following example the second step tries to explain how the consequences of the implicit conditionality of the previous step are to be resolved.

An example of embedded conditionality

Rather than:

If there is a problem with the data in the Platform,  Business Users will investigate and correct the problem before they send the file to Platform operations

If there is a problem with the data in the Platform, Business Users will investigate and correct the problem before they send the file to Platform Operations

Have the first line (rephrased) in the original scenario (as shown earlier)…

Scenario: Processing without exceptions

Business Uses investigate and corrects any data problems with in the Platform, prior to sending the file to Platform operations

And the second line moved to a different exception scenario….

Scenario: Platform exceptions encountered

Business Users investigate and correct problem by interrogating data using the tool and applying exception remediation business rules

Not that for exception scenarios the steps should highlight the investigation and corrective measures implied in the above text in somewhat more detail (detailing who, what, how etc).

If there is a list of things that a user will check then consider a list of bullet points as the way to present it.

Whilst this may appear a minor cosmetic issue, the above example is fairly trivial, for more complex cases managing passive and embedded conditionality by using active language and separate scenario will make the process design easier to follow.

Note also that complex business rules as to resolve an exception should be described in the supplementary specification section, but simply referenced by the step. This promotes the readability of each step. For example:

Business Users investigate and correct problem by applying the Platform Exception Business Rules

See: 3.2 Supplementary Specification

Identifying controls, outputs and process divergence in a step

Whilst control points and auditable deliverables (intermediary or otherwise) can be implicit from the text, it is better to define these explicitly as this aids in their later identification, and helps promote the quality and completeness of the document (remember that all these need to be specified in the document). As a side note, it is probably best assumed that any deliverable on which some decision is made, or has some bearing on the progress of the sub-process, will be audited at some stage.

The above example thus becomes:



Internal Control


Links to


Business Uses investigate and corrects any data problems with in the Platform, prior to sending the file to Platform operations

File problems all corrected prior to submission to platform operations (see 3.3)

Exposure File (see section 3.2)

Exception Scen 1.2: Data Problems in Platform



Output: A list of all deliverables (end or intermediary to step) produced by this step. These will typically be subject to audit, and will require some evidence basis. This latter point is important so try and describe each output as to how it is to be evidenced to have occurred. Where the output is described in the supplementary specification, the section reference should be parenthesised.


Control: Controls must reference to those identified in ownership document. As more detail is uncovered in the process design it is OK for additional internal controls to be identified. In the above example this is actually a control point since we are constraining the flow by this activity (as evidenced by “..prior to sending”). Rather than leaving this to be discovered by the auditor, give this control a name in the control column.


Links to: Can have a number of purposes:

If the scenario can branch into another (e.g. where there is an exception), the scenario should be referenced.

If the scenario rejoins another one (e.g. after exception is corrected, the scenario and step must be shown.

If there is some object referenced by the flow (e.g. a reference to a set of business rules or query), that is described in the supplementary specification; these must be listed here (together with the section in the supplementary specification).


Back Next

© 2002-2007 Codel Services Ltd

This paper has been prepared by Codel Services Ltd to illustrate how structured business modelling can help your organisation. Codel Services Ltd is an IT Consultancy specialising in business modelling. If you would like further information, please contact us at: Deryck Brailsford, Codel Services Ltd, Dale Hill Cottage, Kirby-Le-Soken, Essex CO13 0EN,United Kingdom. Telephone: +44 (0)1255 862354/Mobile: + 44 (0)7710 435227/e-mail: