IIBA Salt Lake City ChapterBusiness Analyst Development Day
October 20, 2016
Anne Considine-Olsen, [email protected]
Welcome
IIBA Salt Lake City Chapter Board Member
Business Analyst, Enterprise Information Management, at Zions Bancorporation
Anne Considine-Olsen, CBAP
Presentation GoalsSpread the love of visual models!
Ensure that you understand:
The benefits of visual modeling
The anatomy of several common models
How models can be used in a project team setting to support requirements elicitation
Agenda: What are visual models? Why use them?
Anatomy of:
Context Diagrams
Activity Flow Diagrams
UML Diagrams
Data Flow Diagrams
Case Study: Real world modeling
What are visual models?
“A representation and simplification of reality developed to convey information to a specific audience to support analysis, communication and understanding. “
-BABOK Guide, IIBA
“Visual modeling is the graphic representation of objects and systems of interest using graphical languages.”
-Wikipedia
Visual Models for Requirements
“Requirements models organize and present large quantities of information, help
you identify missing information, and give context to details.”
-Requirements for Collaboration,
E. Gottesdiener
Visual Modeling Process
The process of modeling has benefits – sometimes more than the model itself
Pictures are easier than words to convey meaning and promote understanding
Beneficial for BA solo work
Beneficial project group work
I Visual Models
My bible: Visual Models for Software Requirements
-Published in 2012
-by Joy Beatty and Anthony Chen
Why use Visual Modeling?
1. Analyze the entire solution
2. Identifying missing requirements
3. Hackable
4. Bonus: BA Benefits
Why use Visual Modeling?
1. Analyze the entire solution:
Current State and Future State
"Get arms around" the scope before writing business requirements
More efficiently drive discussion than “the system shall” statements
Easy to remove ambiguity from a picture – or not introduce it at all
Why use Visual Modeling?2. Identify Missing Requirements:
Quickly draw out the “Wait - what??”
A forgotten system that will be impacted
Lack of understanding around business objects passed between actors
A front-line user task that isn't known to management, like current workarounds not documented formally
Why use Visual Modeling?3. Hackable
Tweak standard models to meet specific needs of your audience
Rules are meant to be broken
You are free to get creative
Why use Visual Modeling?4. Bonus: Benefits for you as the BA!
Sets the stage for detailed elicitation
Helps your business analysis plan
Functional requirements can be drawn directly from some visual models
Remember to create relationships among models for traceability
Agenda: Visual Models What are they? Why use them?
Anatomy of some common models:
Context Diagram
Activity Flow Diagram
UML Diagram
Data Flow Diagram
Case Study
Context DiagramsDefinition
“An analysis model that illustrates product scope by showing the system in its environment with the external entities (people and systems) that give to and receive from the system.”
-BABOK Guide, IIBA
Context Diagrams: Anatomy Adventure's first stop!
Structural Elements:
Circle for the System Under Analysis in the center
System Under
Analysis
Context Diagrams External entities in surrounding boxes
Arrows for direction of give and take
System Under
Analysis
External System
Users
External System
Context Diagrams Add labels for business data objects passed to or from
the system under analysis
System Under
Analysis
External System
Users
External System
Object Label
Context Diagrams: Sample
Shared Network
Drive
Operations Analysts
External Servicer
Prod Mgmt System
DeptManager
Customer Database
Product ordering system
Context Diagrams: Add labels
Tracking reports
Shared Network
Drive
Operations Analysts
External Servicer
Prod Mgmt System
Current account data
Product data
DeptManager
Updated demographics
New orders
Customer Database
User permissions
Updated IDs
Alert of missing data
Daily archive
Account number
Account number
Product ordering system
Context Diagrams: Get creative!
Make your own rules! Tracking reports
Shared Network
Drive
Operations Analysts
External Servicer
Prod Mgmt System
Current account data
Product data
DeptManager
Updated demographics
New orders
Customer Database
User permissions
Updated IDs
Alert of missing data
Daily archive
Account number
Account number
Product ordering system
Context Diagrams: Hack• Modify your context diagram to create an
Ecosystem Map
“An ecosystem map shows all of the systems in the solution ecosystem, which allows you to
systematically ensure you analyze all of the systems.”-Visual Models for Software Requirements
Start with Context Diagram
Tracking reports
Shared Network
Drive
Operations Analysts
External Servicer
Prod Mgmt System
Current account data
Product data
DeptManager
Updated demographics
New orders
Customer Database
User permissions
Updated IDs
Alert of missing data
Daily archive
Account number
Account number
Product ordering system
Replace circle with a box
Tracking reports
Shared Network
Drive
Operations Analysts
External Servicer
Prod Mgmt System
Current account data
Product data
DeptManager
Updated demographics
New orders
Customer Database
User permissions
Updated IDs
Alert of missing data
Daily archive
Account number
Account number
Product ordering system
Pricing System
Updates
Report Repository
Errors
DailyError
report
Errors
Call CenterCustomer requests
Tracking reports
Shared Network
Drive
Operations Analysts
External Servicer
Prod Mgmt System
Current account data
Product data
DeptManager
Updated demographics
New orders
Customer Database
User permissions
Updated IDs
Alert of missing data
Daily archive
Account number
Account number
Product ordering system
Context DiagramsBenefits:
Illustrates the scope of the product solution
Shows external systems that give and take with the system under analysis
Why Love it?
Excellent starting point for current state and future state
Hackable
Questions?
Agenda: Visual Models What are they? Why use them?
Anatomy of some common models:
Context Diagrams
Activity Flow Diagrams
UML Diagrams
Data Flow Diagrams
Case Study
Activity Flow Diagrams“A model that illustrates the flow of processes and/ or complex use cases by showing each activity along with information flows and concurrent activities.
Steps can be superimposed onto horizontal swimlanesfor the roles that perform the steps.”
-BABOK Guide, IIBA
Structural elements
Activity steps
Directional Flow
Can also include:
Decisions
Sub-processes
Cross-functional “swim lanes”
May be High Level or very detailed
Activity Flow Diagrams Basic elements:
Activity or process described in a box
Arrows show the direction of flow from one process to the next
Step 1Direction of flow
Step 2 Step 3
Activity Flow Diagrams Basic elements:
Decision points in diamonds
Sub-Processes in banded boxes
Other standard shapes to represent databases, files, etc.
Step DecisionSub-
process
Activity Flow Diagrams: Sample High Level Business Process Flow:
Set up new account
Create new order form
Verify Existing Account details
Close old account
Confirm order recieved
Activity Flow Diagrams High Level Business Process Flow, more elements:
Set up new account
Create new order form
Verify Existing Account details
Close old account
Confirm order recieved
Complete request for
new account number
Received in 10 days? Yes
Contact customer
No
Activity Flow Diagrams Cross Functional – add swim lanes:
Lanes for people, user steps (Business Process Flow)
Lanes for systems, automated steps (System Flow)
Include all systems from your context/ecosystem diagram
Show your Start and End points
Might include callouts
Start End
Precondition
Activity Flow Diagrams: SampleIntegration Process Flow (Future State): User Swim Lanes
PMIn
take
Ana
lyst
Ven
dor
Obtains project approval
Enters hours worked per assigned project task
Creates corresponding
accounting record
Closes prior week timesheets, disallowing future editing of hours
Assigns tasks to resources, manages project schedule
and tracks status.
Reviews exception reporting to validate
timesheet data
Creates Project with appropriate
template
Updates Project End Date and
Status periodically
End
StartCreates new Work
Request
Lanes for user groups
Activity Flow Diagrams: SampleIntegration Process Flow (Future State): User Swim Lanes
PMIn
take
Ana
lyst
Ven
dor
Start
Obtains project approval
Enters hours worked per assigned project task
Creates corresponding
accounting record
Closes prior week timesheets, disallowing future editing of hours
Assigns tasks to resources, manages project schedule
and tracks status.
Reviews exception reporting to validate
timesheet data
Creates new Work Request
Creates Project with appropriate
template
Updates Project End Date and
Status periodically
End
Lanes for user groups, systems superimposed
Activity Flow DiagramsBenefits:
Shows the flow of activities, in order
For BPI projects, THIS is adventure’s first stop
Focus on business functions– not technology
“Form follows function”
Why Love it?
Can be extremely simple or extremely detailed
Questions about Activity Flow Diagrams?
Agenda: Visual Models What are they? Why use them?
Anatomy of some common models:
Context Diagrams
Activity Flow Diagrams
UML Diagrams
Data Flow Diagrams
Case Study
UML Diagrams Background
"The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering, that is intended to provide a standard way to visualize the design of a system.“
-Wikipedia
Structural diagrams emphasize the things that must be present
Behavior diagrams emphasize what must happen
UML Use Case Diagrams
Depicts system functions in the context of user goals
Reliable way to depict all of the use cases within a system at a high level
Structural Elements
System represented by box
Use Cases named in ovals inside box
Actors (people or systems) depicted outside the box, connected to the Use Cases they will perform
Structural Elements
“Enter Invoice Detail”“View Account”“Select Color”
Actor: A person or system with behavior that contributes to achieving a goal within the system.
Use Case: Written as an active verb-noun phrase that states the primary actor’s goal in the system.
What’s my motivation?
UML Use Case Diagrams Limitations:
Does not show the processes in any sequence
No details of user or system behavior
Symbols may be familiar to developers, but not necessarily to business stakeholders.
BA Bonus: You have created your list of Use Case titles for writing fully dressed Use Cases
UML Use Case Diagram: SampleBudgeting Application – Use Cases
Dept Manager
Vendor
FinancialAnalyst
Review plan inputs
Review Vendor plan completeness/accuracy
Review Department plan completeness/accuracy
Administrator
Add/delete user access
Add/edit user role permission settings
Add/edit group permission settings
Load actuals data
Open budget for editing
Lock budget editing
Purge historical data
View user access/permissions
Load monthly allocation data
Validate data load accuracy
View user updates
UML Use Case Diagram: Hack
Label with corresponding Test Case IDs
And you have a diagram to support your UAT plan
Budgeting Application – Use Cases
Dept Manager
Vendor
FinancialAnalyst
Review plan inputs
Review Vendor plan completeness/accuracy
TC8
TC9
Review Department plan completeness/accuracy
TC10TC10
TC9
Administrator
Add/delete user access
Add/edit user role permission settings
Add/edit group permission settings
Load actuals data
Open budget for editing
Lock budget editing
Purge historical data
View user access/permissions
TC1TC 1.1 – 1.3
Load monthly allocation data
TC2
TC3
TC4
TC5
Validate data load accuracy
TC3.1
View user updates
TC7
TC6
TC7
TC8
UML Use Case DiagramsBenefits:
Depicts system functions in the context of user goals
Capture single view of ALL use cases in the system
Hack: Use to depict Test Cases for UAT
Why Love it?
BA Bonus: Create your list of Use Cases to write
Questions on UML Use Case Diagrams?
Agenda: Visual Models What are they? Why use them?
Anatomy of some common models:
Context Diagrams
Activity Flow Diagrams
UML Diagrams
Data Flow Diagrams
Case Study
Data Flow DiagramsBackground:
Used by Software developers as part of “structured analysis” technique defined in the early 80s
• A Context Diagram would be used to create the Data Flow Diagram
• Data Flow Diagram used to create the functional modules of the solution
Two forms of notation: Yourden and Gane-Sarson
Data Flow DiagramsDefinitions:
“DFD provides a visual representation of how information is moved through a system.”
-BABOK Guide, IIBA
“Data model that shows the flow of information through a solution and the processes that transform the business data objects.”
-Visual Models for Software Requirements, J. Beatty and A. Chen
Data Flow Diagrams
Depict processes that move or transform data
Not limited to processes in a single system
May include business processes outside of user context (e.g., back end)
Do not show processes in order like activity flow diagrams
Data Flow DiagramsBenefits: Depict flow of information through a solution Include data transformation processes Not limited to processes in a single system Include processes outside of user context (e.g., back end) Doesn’t show processes in order like activity flow diagrams
Why Love it?
Served me where other models failed
Questions on Data Flow Diagrams?
Why use a Data Flow Diagram? Isn’t this information shown in my Context Diagram?
Read the functional requirements – don’t they list data elements and describe how data is passed?
Should I add data details to my Activity Flows?
What if I just create a Use Case Diagram?
Why use a DFD? Why not use the detail from my text requirements?
Doesn’t show the big picture, broken down too far
Why not add detail from my Activity Flow Diagram?
Even with business objects added, different levels of activity spread across multiple diagrams
Why use a DFD? What if I just create a Use Case Diagram?
• Not every Use Case relates to a data transmission
• All the Use Cases are inside a single front end system –scope included a back end system too
• Same detail problems as Context and Activity Diagrams.
Identify data stores and entities
Begin with your Context Diagram
Confirm all Data Stores shown, perhaps groups of people as Entities
Shared Network
Drive
Operations Analysts
External Servicer
Prod Mgmt System
DeptManager
Customer Database
Product ordering system
Operations Analysts
Shared Network Drive Prod MgmtCustomer Database
Identify business processes Begin with a high level Activity Flow Diagram
Confirm all Business processes are identified
Operations Analysts
Shared Network Drive Prod MgmtCustomer Database
Update customer list
Add new products
Transfer accounts
Add flows of data
Begin with your Context diagram labels (business objects on your arrows), adding content from text requirements
Operations Analysts
Prod MgmtCustomer Database
Update customer list
Add new products
CustomerProfiledata
Product detail
CustomerProfiledata
Updates
Lessons Learned Keep exploring new visual models to meet the needs
of your project team
A new model can naturally build on existing models
Relating one model to another for traceability
A good visual model of requirements drives team discussion of solution design
Take it away: The process of modeling has many benefits for solo
BA work and project team work
Context Diagrams
Adventure’s first stop!
Ecosystem Diagram hack
Activity Flow Diagrams
Flexibility for high level and extremely detailed
UML Diagrams
Support planned for written Use Cases
Take it away: Data Flow Diagrams
Depict the flow of data for entire solution
Processes show how data is moved or transformed
Case Study
Necessity is the mother of invention – or research into new visual models
Reviewing and discussing visual models promotes teamwork