Business Analyst

Personal Notes

These are personal notes. You are welcome to read them.

Index page

Top-level home page  
Management hints
HTML, javascript
Other
     
More pages here ("technical" pages) Ham radio pages Contents of current page

 


Contents

Jargon is highlighted: use it to embellishment and to impress

In addition to the notes here, also look at the following sections in the page on project phases:

A lot of the material from this page comes from the Business Analyst course given at Boston University. Other material comes from other reading and personal experience.

 


The Role

Goal of the Business Analyst

Sometimes, the company doesn't quite believe in the role of BA, i.e. doesn't believe in the need for gathering requirements.
There may also be a need to earn the respect from BOTH sides (users AND developers).

Compared to the Systems Analyst, the BA defines the outside/interface of the system whereas the Systems Analyst defines the inner workings (specifications).

Non-IT Business Analysts do not concentrate on computer system requirements.

 

 


Planning the Analysis

Start with a kick-off meeting to give a formal start to the project. The goal is to create identify the stakeholder interests and define the business use cases. Get consensus from stakeholders. Also create team spirit with some common activity. Deliverables are:

The next step is to analyze the business use cases, so as to understand the context of the project. There is probably no need to go into detail. Produce workflow descriptions and diagrams.

Based on the previous step, identify the System Use Cases (the automated part of the Business Use Cases). Deliverables:

Then flesh out the use cases and describe:

Add links to additional documentation (see below)

A large part of these steps was taken from the "Noble Path"

The analysis described here, and performed by the Business Analyst, will later lead to a more detailed functional analysis.

 

Kick-off Meeting

See [3] for more tips.

Meet with with stakeholders before the meeting to understand the main issues.

Invite sponsor, subject matter experts, user representatives, developers, customer support, quality assurance. See larger list of potential participants below.

Parts of the kick-off meeting:

 

Stakeholders and Interests Table

Stakeholder Description Interest
                                                                              
See also Stakeholders.

Use Case Briefs

Business Use Case Actors Brief
                                                                              

Analysis of the Business Cases

See [3] for more tips.

Use the Stakeholder and Interest Table to decide which people to invite.
Try to identify the participants in the business processes and document them in the form of business use cases. These business use cases can contain both manual and automated steps.
Distinguish between:

Describe the workflow and document using numbered steps.

 

Approval Process

"The requirements phase ends with agreement, but the requirements work never ends until the product is finished" ([4], p. 277)

 


Business Process

 

Kimball's Focus on Business Process

Four key decisions in dimensional model design: business process, grain, dimensions, and facts.

The business process is not a business department, organization, or function, nor a single report or specific analysis.

Business processes are events or activities that generate or collect metrics, which are performance measurements for the organization.

The core business processes are related to the performance metrics that the business users most want to monitor.

Note that a dashboard presents the performance results of numerous individual business processes, but is not a business process in itself.

 


Interviewing Techniques

Chose location. For groups: generally a neutral area. Remove distractions. Keep the number of participants low.
For individual meetings, going to the person's office makes them feel important.

Length: one hour, especially for individual meetings. 2-3 hours for brainstorming.

Words such the "the best", "the easiest", "user-friendly", "fully compatible with" are meaningless. Extract clear and measurable requirements.

Ask "what do you do and why?", "what if...?", "what then...?", not just "what do you want?"

Initial request for interview with business should come from my sponsor (propose a text for this to the sponsor).

Try to learn as much as possible; don't have to show that I know something (I get my turn later when the product is delivered).

Ease into the subject at the beginning by giving an overall picture.

Comment from [4]:

Context free questions

(see [4])

Context-free process questions:

Context-free production questions:

Meta-questions:

Managing expectations:

The questions above are taken (and adapted) from Gauss and Weinberg, "Exploring Requirements", (see [4] below).

 

Brainstorming

A good rule is to accept all ideas (no idea is a bad idea).
Use seed words to stimulate thinking and bring out new ideas by free association.
At the end, review the ideas, and select one (the least objectionable) and explore it further in another session (such as JAD).

 

Joint Application Development/Design (JAD)

Joint Application Development or Design (JAD)
All stakeholders, so as to nail down requirements. Better than a multitude of individual sessions (developed by IBM).
The resulting document is prepared by the BA.

 

One-on-One Meetings

BA assumes nothing; asks user to walk through everything. Check understanding at the end.

 

Participants

People who you might want to invite:

Watch for apparent consensus when one strong-headed participant imposes his/her point of view and others do not dissent for fear or for lack of energy. A good moderator can minimize this.

 

Tools

 

Additional Comments

Risks linked to requirements phase: see proj_mgmt.html

 

 

Types of users

 


Gathering Requirements

UML is the preferred way of presenting the documentation.

Types of requirements:

Preferences and constraints:

 

"The requirements phase ends with agreement,
but the requirements work never ends until the product is finished"
([4], p. 277)

 

 

 

Business Requirements Document Template

Business Objectives

  • Overall objectives
  • Benefits

Scope

  • Objectives
  • Elements excluded
  • Success criteria

Business Requirements

List the specific requirements

Business Req ID Business Requirement
BR.01  
BR.02  
BR.03  

 

 


Use Cases

Use cases present the design from the point of view of a user, as opposed to the design of a system from the point of view of the system components.

A System Use Case is different from a Business Use Case. The System Use Case involves interactions with computer systems. The Business Use Cases are more general, including both manual and automated steps.
A Use Case describes one complete task from the user's point of view, something of genefit to the user. It is very high level. And there is nothing technical. Nothing is designed (no screens).
A scenario is one way of playing out the Use Case.

Steps:

Actors

  • Identify the Actors: they are the humans or the systems that will interact with the future system. Include only direct actors. The definition of the actors also defines the scope of the project. Actors are both humans, computer systems and "time" actors that set off triggers (end of day, end of month). Human actors are the people who should be interviewed.
  • List the actors in a Role Map, which shows the relationship between actors.
  • Some roles encompass other roles: the special role can do what the general role does, and more. The special role inherits all the use case interactions of the general role.
  • Some roles overlap each other. In this case, isolate the common aspects in an abstact actor.
  • The use of generalizations can simplify use cases. However, use sparingly.
  • The open arrows indicate dependancy.
  • Some people draw little houses for institutions as opposed to actual persons who are drawn as a stick figure.

Role Map:

UML role map

Use Case Packages

  • Identify Use Case Packages, which are manageable groups of use cases. Often best to package by business use case[3].
  • Identify the base System Use Cases: the tasks that the actors will accomplish. Talk to the users to get their tasks. Also think of events and requests that the system must respond to. Generally, there is only one initiating actor per use case. Remember: no details here (put them in a parking lot). Compared to the business use cases, the system use cases are those handled by a computer system, for example with a user sitting at a computer terminal.
  • Draw use case diagrams (see sample).
  • Use verbs and objects in the use case names.
  • Primary actors initiate the use cases.
  • One actor can act on behalf of another: Actor A for Actor B.
  • Secondary actors receive messages or reports. They may not always be involved in every scenario.

Sample use case diagram:

UML use diagram

  • Describe and analyze the context: i.e. how does the use case fit in with everything else. This includes the actors (already defined), the triggers, the pre-conditions (what must be true before the use case starts) and the post-conditions on success (compulsory outcomes if all goes well, the desired outcomes) and the post-conditions on failure (outcome if the process was cancelled or in the case of an error).
  • Then go into greater depth in each use case. Narrate the process from start to finish, step by step. Start with the basic flow, which is what happens when everything works "normally" (happy day scenario). Put other comments (the "if"s) into the parking lot.
  • Review the basic flow, and explore alternatives. At each step, ask for other ways that the step can play out or what might go wrong. Also ask for events that might happen at any time. These are alternate flows (which lead to success) or exception flows (which lead to failure). First list the alternates and exceptions before going into detail.
 
  • An inclusion use case specifies behavior that is typically included in more than one use case. It does not necessarily have to be a complete use case. This allows for creation of re-usable code. Show with dashed line and "«include»".
  • An extension use case allows that addition of requirements, without having to re-write the whole use case. Show with dashed line and "«extend»".
  • A generalized use case is an abstract use case that describes the common behavior of two or more similar use cases. Show with open arrow.
UML use diagram

Note that there is no detailed information, no design of GUI, nor of data, nor of security.

Scope

The use cases helps determine the scope. Note: eliminate any non-IT processes, as these are studied in a business use case (here we are talking about system use cases). Note however that the scope is generally determined by the time the use cases are analyzed.

Study details of each use case

Now that the scope is determined, study each of the use cases within the scope.
Use a template and add one of the following tools for clarity. See next section.

 

Additional Documentation

Use cases complement additional documentation:

 

Projects include procedures like the following. In an effort to meet aggressive delivery schedules, if these kinds of procedures are sacrificed, there will be penalties to be paid in the future.

Specifics for Business Intelligence

Steps

The goal is to improve decision making:

"Providing an environment that positively impacts the business’s ability to make better decisions must be an overarching, non-negotiable target; delivering anything less is a technical exercise in futility for the organization."
Ralph Kimball's Design Tip #125 Balancing Requirements and Realities[7]

 


Use Case Description

Each use case is generally described using a template and a narrative account. Then, if necessary, one or more of the following tools can be used:

 

Template

Template
Name of use case

Description

1 to 2 paragraphs

Actors

List the actors involved:

  • Primary actors. Note that only one primary actor can
    initiate a use case (according to purists)
    --> use a generic actor.
  • Secondary actors
  • Off-stage actors

Triggers

The trigger happens before the use case
and must be detectable by the system.   

Pre-conditions

Conditions that must be true before
the use case begins.

Post-conditions

Post-conditions on success, i.e. conditions that must be true on successful ending.
Post-conditions on failure, i.e. conditions that must be true when case fails.

  • Priority: essential, useful, nice to have
  • Status, modifications, ...
  • Expected implementation date

Context Diagram

Shows the related actors and use cases

UMLcontext diagram

Basic Flow

Describe the normal flow of events.
Start each step with a number.
For each step, use at least a subject, verb and object to describe the step.
Use a consistent tense.
Put "if"s in a parking lot for the next step.
Do not include details about GUI.

1. User connects to server
2. Server reponds with prompt
3. User enters name
4. ....

Alternate Flows

Describe alternate flows of events. Indicate the step for which it is an alternative.
Alternate flows lead to a successful ending.

1a. New user: (this is alternate flow for step 1)
       1a.1 Enter additional information
       1a.2 Resume at ...
1b. ...: (another alternate flow for step 1)
1-2a. Single-Sign On: automatic connection (this is alternate flow for steps 1 to 2)

Four situations for merging back into the flow: see below in "exceptional flows".

Exceptional Flows

Describe the exceptions.
Exceptions lead to failure of the use case.

*a. Loss of connection to database: ...
     (An asterisk indicates an exception that can happen at any time).

Four situations for merging back into the flow:

  • No indication: the alternate/exception flow resumes at the following step
  • "Continue at step nn"
  • "Use case ends": the alternate/exception flow leads to an end point in the flow.
  • "Continue at point of divergence": typically for alternate/exception flows that can occur at any moment in the use case.

Special Requirements

  • Non-functional requirements such as security, performance, standards, regulations, ...
  • Constraints due to architecture, technology, ...
  • Applicable business rules
Activity Diagram
User Interface
Class Diagram
Open Issues

 

A Dialogue Table / System Reponse Table

Describe user inputs and system responses:

User System Response
Action by user What the system does
... ...
... ...

 

Activity Diagrams

Activity diagrams describe either the scenarios of a use case or the sequence of several use cases. They show mainly the workflow.
Use this when the workflow is complex.

UML activity diagram

The start node is the full black disk. It leads to one activity followed by a decision, with two conditions. This is an alternate flow. The UML standard calls for a merge to clealy indicate where the two paths join again. The first alternate flow is followed by a second decision. This leads to a parallel flow on one side and to a loop on the other side. The two branches do not merge and lead to two separate end nodes (final states).

 

Condition-Response Table

Prefer this for mutually exclusive factors that can be evaluated individually. Prefer for situations where simple conditions determine the system's response

Condition Response
The customer is local Outcome
The customer is not a resident another outcome
... ...

 

 

Decision Tables

If a use-case is very complex, with many interrelated conditions, then try a decision table. This covers all possible scenarios. Given n conditions, there are 2n possible cases.
Use this table as basis for test scenarios.

Cases 1 2 3 4   2n
cond 1                  Y Y Y Y ... N
cond 2 Y Y N N ... N
cond 3 Y N Y N .... N
             
action 1   X   X    
action 2 X     X   X
action 3 X         X

Steps:

 

 

 


Structured Analysis (Data Flow Diagrams)

See also the notes on Source System Analsyis.

Also see notes on:

Structured analysis is generally used on legacy systems. It is not useful for applications built with Object Oriented programming, for which UML is more appropriate. Data Flow Diagrams (DFDs) are not part of the UML standard.

Start with a few high level processes, that each achieve a high-level task.

DFD level 0

Level 0 (Context Diagram)

The arrows show the data flows, which are the movments of data (answers to the question "what information is provided or received?"). The processes are the main data transformers, at a high level. The external entities are people, organizations and computer systems that interact with the system being studied.

As a BA, concentrate on the business processes. On the other hand, when describing existing applications, the processes correspond to modules.

The level 0 diagram is also known as the context diagram.

 

Use the level 0 diagrams to define the boundaries of the future system. Review the level 0 diagram with stakeholders. By defining the external systems, the boundaries are defined (external means outside, so what is inside is what the new system will be).

In the UML world, the external entities are sort of like the actors, and the processes correspond to use cases.

DFDlevel 1

Level 1

Explode the processes into major processes. Show data stores, which are where data is kept before being taken in by another process. Data stores can be non-digital too. Each module performs a single task (maximum functional cohesion), and each are independant from each other (minimum coupling). The arrows show the flow of data, and the label identifies the moving data.

  If necessary, explode the processes into lower level diagrams (levels 2 and 3).

The Gane and Sarson Notation shows datastores with a number in a little box and processes as a box with round corners and a number.

 

A DFD follows some rules so as to ensure coherence: DFD rules The processes transform data and therefore have data coming in and data going out
DFD broken rules Data cannot originate in a process (it originates in external entities). Data must flow out of processes and data stores. DFD broken rules

Data cannot move between data stores without a process in between.

Data flows between external entities are out of scope.

 

DFD use case equivalent

Use case diagrams are comparable to level 1 DFDs without the data stores.

 

 

 

 


Bibliography