BPMN Presentations Process Management Process Modeling

Workshop on requirements and modeling at HAE 2015

Transcript

RequirementsModeling in  IT  Projects
Modeling &  Requirements in  IT  Projects
How  to better understand and be understood?
By
July 6th  2015,  Hellenic American  Union    
IT  Projects                          RequirementsModeling
IT  System
Organisation
Description
Realisation
Realisation
DescriptionRoadmap
A  bit  of  background
1997 1999
Bachelor
Industrial  &  
Telecommunication  
Computing
Rational  
Software
2003
IBM
2005
Empulsys
Developer
Tools Specialist
RUP Consultant
Trainer
http://disciplinedagileconsortium.org/
Agile/UP Mentor
2015
Modeling  -­‐ What  is  it?  What  for?
Communication and  understanding
over  documentation  and  standards
(UML,  BPMN,…)
HoldCold
Richness   of  the  
communication  
channel
Effectiveness  of  the  
communication
Modeling  
options
Documentation  
options
Understand  and  be  understood
Face-­‐to-­‐face  
(whiteboard)
Face-­‐to-­‐face  
(conversation)
Video  
conversation
Phone  
conversationEmail  
conversation
Video  
recording
Audio  
recording
Paper
http://www.agilemodeling.com/
Modeling  – Many  techniques  
http://www.agilemodeling.com/
Modeling  
artefacts
Activity  
diagram
Business  
Rule  
definition
Change  
Case
Class  
diagram
Class-­‐Collaboration-­‐
Responsibility  cards
Data  diagram
Component  
diagram
Constraint  
definition
Collaboration  
diagrams
Deployment  
diagram
Data  flow  
diagram
System  User  
Interfaces
(mockups)
External  
Interface  
Specification
Use  Case  
diagram
Essentials  User  
Interfaces
Feature
Flowchart
Organisation
chart
Robustness  
diagram
Statechart
Sequence  
diagram
Used  to  explore  
use  cases  and  
identify  
controllers,  
boundaries  and  
entities.
Used  to  explore  the  
conceptual  model  
Appropriate  for  OO  
designs.
UML  and  BPMN  are  not  
the  only  valid  modeling  
notations
Used  to  express  the  
design  of  systems  
using  Object-­‐
Oriented  concepts.
Customer End-user
Supplier
PM
P
SCM BM
Development
Test
Acceptance
Production
Process
Engineering
(Methodology)
Implementation
(Coding)
Testing
Change Request
Management
Project
Management
Deployment
Management
Software
Configuration
Management
PPM
Portfolio
Management
AD
I
T
DM
CRM
RDM
Build
Management
Product Owner
Analyst
Developer
BM
Business
Modeling
Tester
SCRUM Master
Project Manager
Requirements Specifier
Architect Owner
Software Architect
User Representative
System
Analysis and
Design
We have €€€.
You build
VALUE
We have
PROBLEMS.You
build SOLUTIONS
Team Members Requirements
Definition and
Management
Business Reprenetative
Modeling – Many  opportunities
Requirements -­‐ Refresh
• Requirements  
• A  condition  or  a  capability  a  system  must  
conform  to.  
• A  capacity  required  by  a  user  to  reach  an  
objective  or  solve  a  problem.  
• Requirements  (Definition  and)  
Management
• To  come  to  an  agreement  with  the  customer  and  
the  user  on  what  the  system  should  do.  
• To  give  the  development  team  better  
understanding  of  the  system  requirements.  
• Ensure  that  our  customer  interests  are  satisfied.
Requirements
What the  system  must  do
How  the  system  will  do  it
Solution
Problem  space  vs  Solution  space
Customer End-user
Supplier
RDM
http://www.empulsys.com/en/free-­‐resources/94-­‐frombusiness2systems
Information Families Modeling Concepts
A
Information describing “What” an
organization does and ”Why” the
organization needs to do so
à Business Use Case Model
B
Information describing “How” an
organization is (or should be) supported by an
IT environment and humans
à Business Object Model
C
Information describing “What” are the user
(human) needs in regard to an application
and ”Why” these user needs are important
à System Use Case Model, Use Case
Specifications, Supplementary
Specifications, Glossary, Vision
D
Information regarding “How” an application
is structured to offer a solution aligned on
user needs
à System Analysis/Design Model,
Software Architecture Document
E
All other information used/produced to
organize a project, monitor progress and
verify the quality of project outcome
à Project Plan, Test Plans, Tasks,
Test Cases,…
Problems  &  Contexts
Priorities
Planning
Software  
Requirements
Software  
Requirements
Progress
Impact
Inter-­‐dependencies  
between  disciplines
<<candidate>>
<<candidate>>
Business  Actor Business  Use  Case
Business  Worker
Operation
<<candidate>>
<<candidate>>
Business  Rule Business  Entity
System  Actor
System  Use  Case
<<implements>>
<<implements>>
EntityControllerBoundary
1
*
<<realizes>>
<<realizes>>
State  Machine
<<implements>>
<<details>>
<<candidate>>
Scenario
OK
X
Test  CaseTask
<<verifies>>
<<covers>>
Progress
Scope  &  
Business  Values
Business  
Case
Processes  &  
Objectives
PPM
BM
RDM
AD
T
BMDM SCM
P
Requirements – Are  central
Part  1:  Modeling  and  System  Requirements
Hands-­‐on  – Understanding  
System  Requirements
from to
How  ?
REFINED
Understanding  System  Requirements  (1/8)
I  initiate  
a  deal
Other  person  
has  an  account?
Single  payment  
scheme?
Accept  deal  
conditions?
YES
NO
YES
YES
NO
NO
from to
As a  trainer,  I  want  to  record  
a  new  deal  in  the  systemso  
that  the  company  which  
requested  the  training  accepts  
my  payment  conditions.
1. The  system  retrieves  the  information  about  the  deal  
initiator  (DI).
2. The  system  requests  to  provide  the  email  address  of  
another  member  of  the  system.
3. The  DI  submits  the  email  address  of  the  other  member.
4. The  system  verifies  if  the  email  address  is  known.
5. The  system  informs  the  DI  that  other  member  is  known.
6. The  system  asks  the  DI  to  specify  his/her  role  in  the  deal.
7. The  system  requests  the  DI  to  specify  the  product/service  
subject  of  the  deal,  a  reference  (optional),  a  currency  and  
amount,  a  reckonable  price  date  and  a  reckonable  
amount  date.
8. The  DI  enters  the  requested  information.
9. …
End-User
Analyst
Specification
?
Example StoryDriven Modeling
Product Owner Team Members
Understanding  System  Requirements  (2/8)
Controller.  It  represents  something   that  
coordinates  the  behavior  of  the  system  
for  a  particular  scenario.  
Boundary.  It  represents  something   that  
intermediates  between  the  system  and  
the  outside
Step  #1:  identify  the  controllers  and  boundaries
DEALINITIATIONCONTROLER
DEALINITIATIONINTERFACE
EMAILNOTIFCATIONSYSTEM
SHORTMESSAGESYSTEM
Interfaces  to  systems,  devices,  users  are  boundaries
Understanding  System  Requirements  (3/8)
Step  #2:  Filter  nouns  from  the  scenario  description
1.  The  system retrieves  the  information  about  the
deal  initiator (DI).
deal  initiator  Information
2.  The  system requests  to  provide  the  email  
address  of  another  member  of  the  system.
email  address,  (another)  member
3.  The  DI submits  the  email  address  of  the  other  
member.
email  address,  (other)  member
4.  The  system verifies  if  the  email  address  is  known. email  address
5.  The  system informs  the  DI that  other  member  is  
known.
(other)  member
6.  The  system asks  the  DI to  specify  his/her  role  in  
the  deal.
role,  deal
7.  The  system requests  the  DI to  specify  the  
product/service  subject  of  the  deal,  a  reference  
(optional),  a  currency  and  amount,  a  reckonable  
price  date  and  a  reckonable  amount  date.
product/service,  deal  subject,  
reference,  currency,  amount,  
(reckonable)  price  date,  (reckonable)  
amount  date  
8.  The  DI enters  the  requested  information. (requested)  information
9.  The  system asks  for  the  number  of  payments. number,  payments  
Be  caution  with  references  to  actors  (will  
be  addressed   through  boundaries)
Ignore  operations   (e.g.  “the  processing”,  
particularity  of  english).
Ignore  synonyms,   duplicates.
Understanding  System  Requirements  (4/8)
Step  #3:  Create  list  of  candidate  entities
Entity.  It  represents  a  key  abstraction  of  
the  system.  
SHORTMESSAGEEMAILNOTIFICATION
DEALINITIATIORINFO
-­‐ role
DEALPARTICIPANTINFO
-­‐ email  address
-­‐ role
DEAL
-­‐ buyer
-­‐ seller
-­‐ currency
-­‐ amount
-­‐ reckonable  price  date
-­‐ reckonable  amount  date
-­‐ official  amount
-­‐ unique  deal  number
-­‐ status
PRODUCT
-­‐ description
-­‐ reference
-­‐ status
PAYMENT
-­‐ scheme
Understanding  System  Requirements(5/8)
Step  #4:  Prepare  your  Class-­‐Responsibilities-­‐Collaboration  cards
DEALPARTICIPANTINFO
A4
SHORTMESSAGE
DEAL
EMAILNOTIFICATION
DEALINITIATIORINFO
PRODUCT
PAYMENT
DEALINITIATIONCONTROLER
SHORTMESSAGESYSTEM
DEALINITIATIONINTERFACE
EMAILNOTIFICATIONSYSTEM
Understanding  System  Requirements  (6/8)
Step  #5:  Identify  required  interactions
DEALPARTICIPANTINFO
DEAL
DEALINITIATIORINFO
PRODUCT
MEMBERLIST
DEALINITIATIONCONTROLER
DEALINITIATIONINTERFACE
Deal  
Initiator
2. Ask Email Other Member
3. Check Existence Other Member
11. Present Other Member Details
13. Ask Role And Deal Details
14. Set Deal Settings
25. Ask Payment Scheme
26. Set Payment Scheme
1. Get Deal Initiator Info
4. Get Other Member ID
5. Find Other Member Email
12. Get Product Specifications
24. Get Payment Scheme
16. Get Member ID
15. Set Seller
17. Set Buyer
19. Set Product Description
21. Set Product Reference
23. Set Amount and Currency

6. Find Member by Email
7. Get Member Details
8. Get Member ID
9. Get First Name
10. Get Last Name
18. Get Member ID
DEALINITIATIORINFO
DEALINITIATIONINTERFACE
MEMBERLIST
DEALINITIATIONCONTROLLER
DEALINITIATIONCONTROLLER





DEALINITIATORINFO
DEALPARTICIPANTINFO
PRODUCT
PRODUCT

20. Set Description
22. Set Reference







DEALPARTCIPANTINFO
Product Owner Team Members
New
Class-­‐Collaboration-­‐Responsibility  cards modeling  artefact
Understanding  System  Requirements(7/8)
Step  #6:  Identify  required  classes,  operations  and  attributes
DEALINITIATIONINTERFACE
AskEmailOtherMember()
CheckMemberExistence()
PresentMemberDetails()
AskRole()
AskDealDetails()
RecordDealSettings()
AskPaymentScheme()
SetPaymentScheme()
DEAL
SetSeller(Member)
SetBuyer(Member)
SetProductDetails(description, reference)
SetDealAmountAndCurrency()
amount
currency
PRODUCT
SetDescription()
SetReference()
description
reference
MEMBER
GetID()
GetFirstName()
GetLastName()
GetEmail()
id
Lastname
Firstname
email
MEMBERLIST
FindMemberByEmail(email)
DEALINITIATIONCONTROLLER
GetDealInitiator(): Member
GetDealParticipant(): Member
GetDealDetails(): Deal
GetFinancialConditions()
1
1
1
1
1
0..*
0..*
Team Members
Can  we  have  members  
in  the  system  not  
involved  in  any  deal?
Can  members  be  
involved  in  several  
deals?  If  so,  any  limits?
Product Owner
0..*
1
Class  diagram modeling  artefact
Understanding  System  Requirements(8/8)
Step  #7:  Identify  candidate  development  activities
As a  trainer,  I  want  to  record  a  new  deal  in  the  system so  
that  the  company  which  requested  the  training  accepts  
my  payment  conditions.
We  need  to  build  a  user  interface  that  will  allow  a  
member:
-­‐ to  find  and  see  details  of  another  user
-­‐ to  get  the  role  of  the  member  (cfr.  ”trainer”  -­‐>  
“seller”)
-­‐ to  get  the  details  of  the  deal  (product,  etc)
-­‐ to  get  the  financial  conditions
We  need  to  build  some  logic  that  will:
-­‐ Create  deals  and  products
-­‐ Associate  members  to  deals
We  need  to  build  “services” that  will:
-­‐ Handle  the  members
-­‐ Find  members
-­‐ Handle  deals  and  products
Team MembersDeveloper
Hands-­‐on  – Your  turn!!
Inputs
• Scenario  for  the  initiation  of  a  deal
• Scenario  for  the  management  of  sell
• Scenario  for  the  management  of  a  purchase  
Outputs
• List  of  entities,  boundaries,  controllers
• CRC  sessions
• Overall  class  diagram
• Summary  of  activities
Steps
#1:  identify  the  controllers  and  boundaries
#2:  Filter  nouns  from  the  scenario  description
#3:  Create  list  of  candidate  entities  
#4:  Prepare  your  Class-­‐Responsibilities-­‐Collaboration  cards  
#5:  Identify  required  interactions
#6:  Identify  required  classes,  operations  and  attributes
#7:  Identify  candidate  development  activities
Part  2:  Modeling  and  Business  Requirements
Insight  – Understanding  
business  requirements
from to
How  ?
REVISITED
By  the  way…
Modeling
applied  toSystem Organisation (Business)
Business   Use  Cases  describe  what
the  business   delivers  from  an  
external  perspective
Following   elements  are  used  to  
describe  how business   processes  
are  performed
Static:
Business  Workers
Business  Entities
Business  Systems
Dynamic:
Business  Use  Case  Realizations
Static:
Business  Actors
Business  Use  Cases
Dynamic:
Business  Use  Case  Descriptions
System Use  Cases  describe   what a
system  will  offer  to  people/system  
interacting  with
Following   elements  are  used  to  
describe  how system  use  cases  
are  realised
Static:
Boundaries
Entities
Controllers
Dynamic:
Use  Case  Realizations
Static:
Actors
Use  Cases
Dynamic:
Use  Case  Descriptions
Modeling  an  Information  System-­‐ Describing  it  from  the  
outside  (screens,  interactions,  capabilities,  deployment)  and  
from  the  inside  (data,  logic,  structure)
Modeling  an  Organisation–Describing  it    from  the  
outside  (partners/providers,  services,  qualities)  and  from  
the  inside  (people,  information,  systems)
Class-­‐Collaboration-­‐
Responsibility  cards
Class  
diagram
Class  
diagram
Activity  diagrams
Business  Modeling  – Some  key  concepts
Business  Worker.  It  represents  a  role  within  the  
business/organisation.   It  can  be  a  human   or  a  
system  inside   the  organisation.  Interacts  with  
other  business   workers  and  with  business   entities  
Business  Entity.  It  represents  a  piece  of  
information   manipulated  by  business  
workers.  Has  relationships   with  other  
business   entities
Business  System.  It  represents  an  independent  
capability  within  an  organisation.  Is  used  to  
structure  the  organisation in  manageable  chunks  
and  understand   it.  It  binds   and  contain  roles  and  
resources
1
1
*
*
1.  Depicting  
the  context
2.  Claryfing involved  
units/people   (stakeholders)
3.  Drafting  the  
situation  (who,  why)
Business  Modeling  – Concrete  application
2h  effort
Business  Modeling  – Importance  of  Doing  It
Conflicting  requirements  from  users.
The  broader  context  of  the  system  is  not  well  
understood.
Difficulty  baselining the  requirements.
No  understanding   of  the  relationship   between  the  
scope  of  work  and  the  business’   goals.
Customers/Users  continuously  change  
their  mind.
No  clear  idea  of  the  problem   they  are  trying  to  solve  
in  relation  to  the  business’   objectives.
Solve  the  wrong  problem.
No  understanding   of  the  relationship   between  the  scope  of  
work,  the  business’   goals,  and  impact  to  business   processes
Users  get  what  they  asked  for  but  it  turns  out  
it  is  not  what  they  needed.
No  understanding   of  the  relationship   between  the  scope  of  
work,  the  business’   goals  and  impact  to  business   processes
Solutions  deliver  little  or  no  value.
No  understanding   of  the  relationship   between  the  scope  of  
work,  the  business’   goals,  and  the  obstacles  to  those  goals.
Difficulty  deploying  solution  into  business  
process.
The  broader  context  of  the  system  is  not  well  understood.
No  system  is  an  island  into  itself
Address  root  causes  
behind  the  symptoms
Thank  You!
@olivierbeghain

Leave a Comment

Get the BPI Web Feed

Using the HTML code below, you can display this Business Process Incubator page content with the current filter and sorting inside your web site for FREE.

Copy/Paste this code in your website html code:

<iframe src="https://www.businessprocessincubator.com/content/workshop-on-requirements-and-modeling-at-hae-2015/?feed=html" frameborder="0" scrolling="auto" width="100%" height="700">

Customizing your BPI Web Feed

You can click on the Get the BPI Web Feed link on any of our page to create the best possible feed for your site. Here are a few tips to customize your BPI Web Feed.

Customizing the Content Filter
On any page, you can add filter criteria using the MORE FILTERS interface:

Customizing the Content Filter

Customizing the Content Sorting
Clicking on the sorting options will also change the way your BPI Web Feed will be ordered on your site:

Get the BPI Web Feed

Some integration examples

BPMN.org

XPDL.org

×