@e larson [email protected] elizabeth · enhanced performance. enduring results.1...
TRANSCRIPT
Enhanced Performance. Enduring Results.1
Elizabeth Larson, CBAP, PMP, CSMCEO, Watermark [email protected]
@e_larson
Elizabeth Larson
Enhanced Performance. Enduring Results. ©©
Since 1992 offering workshops and certification preparation programs: ◦ Project Management◦ Business Analysis◦ Agile◦ Business Process Management ◦ “Influencing Skills”
Course licensing and development Industry Partnerships◦ An “original” PMI® Global REP; A Charter IIBA® EEP◦ Offering BA and PM Masters Certificateprograms through Auburn University
©
• Describe the essential models to use during requirements analysis
• Learn how models work together and complement each other
• Learn how to leverage modeling for more effective elicitation and complete requirements
©
©
©
©©
©
Modeling requirements is extremelyuseful in elicitation
©
Modeling is hard at first…
©
Could get real messy quickly
©
...especially if we get distracted by using the one and only “correct” notation
©
Isn’t modeling just a collection of text, diagrams and matrices?
©
• Represent current or future realities
• Communicate abstract concept…
• …to different audiences
©
• Break into small groups
• Introduce yourselves• Discuss barriers (2-3)• Common themes?
©
With all these barriers, why should we model
requirements?!
©
AskModel
Confirm
Synthesize
Listen
©
• So, how you which
models to ?
# contact id (FK)# location id (FK)
Contact Location
# customer numbero company nameo date of incorpo number of house-
hold members credit limit date added ...
Customer# order number customer number (FK) date of order time of order order status ...
Order
Contact# contact id customer number (FK) last name first name middle initialo title phoneo email address ...
Order ItemShipment# shipment number actual ship date actual ship time location nbr (FK) ship mode shipper tracking nbr ...
# order number (FK)# product id (FK)# location nbr (FK)o invoice nbr (FK) selling price projected ship date quantity ordered ...
Order Fulfillment# order number (FK)# product id (FK)# location nbr (FK)# shipment nbr (FK) quantity shipped
# location id address city state/province country postal code ...
Location
©
U S EU S E
KNOW
DO
DataDataProcessProcess
InteractionInteractionUser
InterfaceUser
Interface
ScopeScope
©
Discussion: Which are your favorite models?
©
Simon says…
Everybody do the wave!My goal is to review these models and show--• How they relate to each other• How to get started by asking 3-5
questions
©
• Process models depict how to get the job done
• Models include:◦ SIPOCs
◦ Process Maps/Flowcharts
◦ Workflow diagrams
◦ Activity diagrams
◦ Data flow diagrams
◦ State diagrams
What is a process?
Process
©
Process Model Example Process
Sample Questions 1. What are initial inputs and final
outputs?2. Who produces inputs and gets
outputs?3. Which steps are done and in what
sequence? What happens most commonly?
4. What are the alternates and exceptions?
5. How many, how often, and when (what triggers the process)?
©
Everybody find something out about your neighbor in this room
their name, their title, their company, and how long they have worked there…
Simon says…
©
• Data models show the data and the rules of the business – how they are used
• Models include:◦ Entity relationship diagrams
◦ Class diagrams
◦ Data dictionaries
• Logical models – not physical data models or physical database design
Data
©
Data
Entity/Relationship Diagram (ERD) # contact id (FK)
# location id (FK)
Contact Location
# customer numbero company nameo date of incorpo number of house-
hold members credit limit date added ...
Customer# order number customer number (FK) date of order time of order order status ...
Order
Contact# contact id customer number (FK) last name first name middle initialo title phoneo email address ...
Order ItemShipment# shipment number actual ship date actual ship time location nbr (FK) ship mode shipper tracking nbr ...
# order number (FK)# product id (FK)# location nbr (FK)o invoice nbr (FK) selling price projected ship date quantity ordered ...
Order Fulfillment# order number (FK)# product id (FK)# location nbr (FK)# shipment nbr (FK) quantity shipped
# location id address city state/province country postal code ...
Location
Sample Questions 1. What business information do you care about?2. What are the facts about that information? 3. Can you leave the screen without filling in the
information? What are the defaults (if any) and allowed values?
4. Is the relationship between two pieces of business information required? Can you set up one piece of business information without setting up the other?
5. What are the min/max for each relationship?
Facts
Default to United States?
What are the allowed values?
Minimums and maximums—
Each customer can place any number of orders, but each order has to be placed by a single customer
Business Rules
©
◦ Describes data in business terms◦ Items to include:
Name
Description
Alias
Values/meanings
Derived data
Entity Information
Name Customer Type of Entity * F
Definition A customer may be a person or a company, and is anyone who has asked for information or has placed an order.
Current Volume Expected Growth
Rate
Attribute Information
Name Key Definition Domain Information Optional
customer number PK unique identifier Arbitrary number company name Character: any
parent cust number
FK Integer Y
date of incorporation
Character: any
date added Small Integer credit limit Small Integer
* Entity types: F = Fundamental (occurs as a business object), T = Subtype, A = Associative, R = Role, S = Structure
Example Data Dictionary Entry
©
Everybody greetyour neighbor
Simon says…
©
• How process interacts with data◦ State diagrams
◦ CRUD matrix
Interaction models show how actors
interact with a system◦ Use case diagrams/narratives
◦ Prototypes (Interface)
Interaction
©
Order Processing System
Operations
CustomerAccounting
Specialist
Inventory System
Credit Authorization
Reserve items in inventory
Request items
Check credit
Invoice customer
Ship product
Interaction
ActorActor
System
User Interface
Use Case
Sample Questions:1. What is the work this project is
doing?2. Which stakeholders are
involved?3. How do stakeholders want to
use the system?4. How do other systems
interface with the system?5. How big is our system?
©
Number and Name: UC 100 – Reserve Item in InventoryActor(s): CSR, CustomerPre-condition: Actor is logged on; system is available;line item page is displayedPost-conditions: Item Reserved message is displayedActor Action System Response1. Enter item
number2. Perform check digit
verification3. Send item number
to IMS4. IMS sends item
description to OP5. Display item
description6. Display reserve
request message7. Confirm
reservation request
8. Send reservation request to the Inventory system
9. IMS sends Item Reserved message to OP
10. Display Item Reserved Message
Alternate Flow A1: Item number entered is not valid
1. System displays “item numbernot found” message
2. System launches a search on item description
3. System displays all close matches4. Actor selects item…5. . . .6. Return to primary flow step 3
Exception Flow
Exception Flow E1: Actor cancels transaction (any point)
1. Actor indicates wish to cancel transaction 2. System displays “ item transaction cancelled”
confirmation question 3. System requests IMS to back out reserved item 4. System displays item cancelled message5. Exit use case
123
4
5
InteractionSample Questions
1. What has to occur before the process can begin?
2. When is done done? 3. What is the most common way to get from the
beginning to the end?4. What other ways will get to the end
(alternatives) What prevents us from getting to the end (exceptions)?
5. What happens when exceptions occur?
©
New Hire
Non Hire
Candidate hire/Accepts job
Employee
Begin date/Begins work
Retired
Retirement/Retires
FormerEmp
TerminatesRejects offer
State
Event
Transition(process)
Interaction
Sample Questions 1. What are the different stages of each entity?2. What is the life cycle, of each entity? How do
entities get created, changed, and deleted? (Process)
3. What event triggers changing from one state to another? (Process)
©
Everybody look at your cell phone or smart phone.
©
Interface
• Interface models graphically depict how
people interact with
• Models include:◦ Prototypes, mockups/wireframes
©
Login was successfulYou may now perform the
following activities: View Line ItemsReserve Line ItemsCalculate Shipping
Process
We thought it should be “intuitively obvious!”
Nope. Users want a “Go” button
Go
Sample Questions
1. Where does UI begin and end? How do we know when we’re done?
2. Process-screen navigation: What are the most common, alternative, exception paths?
3. Data - look and feel of the screen: how should the data be arranged?
4. Data: what edits are needed to prevent errors?
5. When exceptions occur, what message is displayed? (data) What action does the user take? (process)
Input and Display Data
Interface
©
Simon says…
Everybody stand up!
Guess how many people are outside the room.
Guess how many people are in the room.
©
Scope
• Scope models depict the boundaries of the solution to be implemented
• Models include:◦ Goals, objectives, lists, rules
◦ User stories/features list
◦ Use case diagrams
◦ Context diagrams
◦ Functional decomposition diagram (expanded)
Enhanced Performance. Enduring Results.
Data Models: Entity-Relationship Diagram, and/or Class Diagram
User Interface Models Prototype, Mockup, Wireframe, Storyboard
Use Case Models: Use Case Model: Diagram and Narrative, Activity Diagram, Sequence Diagram
Process ModelsBusiness Process Model/Map, Activity Diagram,Swim Lane Diagram
ScopeModeling
Questions:What is the order/sequence? Which functions and activities are done? How many, how often, and when? Who produces inputs and gets outputs?, Where does process begin and end?
Questions:When to begin? When is done done? What are the most common path, alternatives, exceptions? What happens when exceptions occur?
Questions:What messages appear with exceptions? What edits are needed to prevent errors? Where does UI begin and end?
Questions:What area the min/max for each relationship? Is it required? What are the defaults? What business info matters and the related facts?
BusinessProcessModeling
BusinessProcessModeling
DataModeling
DataModeling
UserInterfaceModeling
(UI)
UserInterfaceModeling
(UI)
Use Case ModelingUse Case Modeling
Iterative Elicitation & Modeling
For more information on Watermark Learning courses, please visit us at www.WatermarkLearning.com. Copyright 2014© Watermark Learning.
Sample QuestionsWhat are the goals of solution?What are the boundaries of our solution?What are the components of the solution?Which stakeholders are impacted?What other systems interface?
©
Iterative Modeling Throughout Life Cycle
Discover/Scope Define Detail Develop
User
In
terf
ace
Mod
elin
g
Written/High-Level
“Views”
Written/High-Level
“Views”
High-LevelPrototypes/Mock-ups
High-LevelPrototypes/Mock-ups
DetailedPrototypes
DetailedPrototypes
Busi
ness
Pr
oces
s M
odel
ing
Busi
ness
Pr
oces
s M
odel
ing
Value Chain/ Cross-Functional
Models
Value Chain/ Cross-Functional
Models
Context DiagramsContext
Diagrams SIPOCsSIPOCs
Functional Decomposition,
Swim Lane Diagrams
Functional Decomposition,
Swim Lane Diagrams
Detailed ProcessMaps
Detailed ProcessMaps
CodeDesignCode
Design
Use
Case
M
odel
ing
Use
Case
M
odel
ing
Use CaseDiagramsUse CaseDiagrams Use Case NarrativesUse Case Narratives Sequence
DiagramsSequenceDiagrams
ActivityDiagramsActivity
DiagramsCode
DesignCode
Design
Dat
a M
odel
ing
Dat
a M
odel
ing
Entity-Relationship Diagrams
(no Attributes)
Entity-Relationship Diagrams
(no Attributes)
Entity-Relationship Diagrams
(w/ Attributes)
Entity-Relationship Diagrams
(w/ Attributes)
Entity-Relationship Diagrams
(Normalized)
Entity-Relationship Diagrams
(Normalized)Database
DesignDatabase
Design
User InterfaceDesign
User InterfaceDesign
Solu
tion
Man
agem
ent
Business Need, Solution Scope, Product Vision, Requirements
Management Plan
Business Need, Solution Scope, Product Vision, Requirements
Management Plan
Product Backlog, Epic User Stories,Release Plan,
Traceability Structure & Attributes
Product Backlog, Epic User Stories,Release Plan,
Traceability Structure & Attributes
TraceRequirements
Establish BaselineReport actuals
TraceRequirements
Establish BaselineReport actuals
User Stories, Story Maps
High-level Requirements/
Models
User Stories, Story Maps
High-level Requirements/
Models
Detailed Business Rules, “Groomed”
User StoriesDetailed Models
Detailed Business Rules, “Groomed”
User StoriesDetailed Models
Trace requirementsManage changes
Report actuals
Trace requirementsManage changes
Report actuals
Trace toDesign and
TestingMeasure results
Trace toDesign and
TestingMeasure results
©
Scope
Define
Process Interaction Data Interface
unt number sit amount
Validate account number
Perform reasonability check on the
deposit amount
Notify teller of successful completion
Display “account number not found”
message
Search on customer name
Display all close matches
Receive selected customer name
B[Amt out of range]
A[Amt in range]
[Account number not valid]
[Account number valid]
Update teller transaction file
C
eposit amount rrent account balance
Log in to CTCEnter User ID and Password Below
User ID
Password
Forgot userid/password (link)New user (link)
Login
Actor1
System
AB
CActor2
Use Case APri Flow -------------------
-----------------------------
Alt Flow 1 --------------------------
Excp Flow 1 --------
Realtor Property
Seller Buyer
Use Case APri Flow ------------------------
-----------------------------------------------------------
Alt Flow 1 ---------------------------------------------------
Alt Flow 2 ----------------Excp Flow 1 ------------
----------------Excp Flow 2 ---------------
Interface Views• User• Realtor• Property• Offers Counters• Closing
Detail
©
1. Overdoing a model 2. Letting an electronic modeling tool drive the
analysis 3. Being overly concerned with modeling
correctness during a facilitated workshop4. Being intimated by those who are more
concerned about the physical design
What modeling challenges have
you faced
©
1. Choose the models that make sense2. Remember 3. Translate models into business language4. Use models to elicit5. Collaborate
©
Visit our web site for valuable and freeindustry resources:
www.WatermarkLearning.com/Resources
• Articles• Webinars On‐Demand • Templates• Bibliographies• and more!