Software Group BPM Process Modeling Best Practices Highlights Based on over a decade of BPM Services Engagements Bill.Hahn@us.ibm.com Sr. Consulting BPM Solution Architect Open Group Master Certified SW IT Specialist http://IBMBPMDemos.com for more information and resources 2 Outline Introduction Definition of Terms Five Guidelines – 1) Rule of Seven – 2) Activity Granularity – 3) Activity Description – 4) Inputs/Outputs – 5) The System Lane Conclusion Q&A Definition of Terms Business Process Definition (BPD) Pool Swim Lane Milestone Participant Step/Activity Flow Line Business Event User Story 3 Business Process Definition (BPD) A diagram that illustrates a business process includes participants, steps, activities, and sub-processes Business Process Definition objectives: Universally understood by both business and technologists Clearly and easily communicated in 5 minutes or less – at any level of granularity Executable in a Business Process Management System 4 What is not a Business Process Definition? Entity State Diagrams Use Cases, Use Case Relationship Diagrams System Relationship Diagram Architectural Diagram • • • • 5 Final Review Workflow Model (Application Development), Screen Flow Draft Pool Com Default pone name nt Description 1 Lombard The default pool to hold all lanes within the i pool BPD. You can change the name by clicking the pool and editing its properties. 2 Participa A default lane for end user activities. You nt lane can change the name by clicking the lane and editing its properties. A container for all lanes within the BPD 6 (Swim) Lane • Highlights role oriented activities versus the flow oriented activities • A lane has a default set of participants 7 Milestones A milestone in a process… Represents – A period of time – Goal/transition in the process May be expressed as a single moment in time – e.g. graduation – A milestone end-marker May characterize period of time - e.g. adolescence A milestone should be achieved just once in a BPD - Looping back across a milestone is discouraged 8 Participant A participant is a user of the WLE environment Sets of users are Participant Groups 9 Activity/Step A unit of granularity in a process that… Has a goal that can be expressed as a singular outcome Implemented as – Task (human or system) – Sub-process Can be a human task – Single participant begins the activity Can contain multiple steps, (e.g. screens in a screen flow) – These steps are not process steps Can be a sub-process – Implemented as another BPD 10 Sequence Flow Lines A sequence flow line… Defines the transition from one step or event to another 11 Events A business event… Is the occurrence of a condition that triggers an activity. Can listen to catch a condition to trigger an activity or… …throw a result upon occurrence. throw Types of events include the following: – Start /End – Timer – Message – Exception 12 listen User Story Short, high-level statement of requirements – Students can purchase monthly parking passes online – Parking passes can be paid via credit cards – Parking passes can be paid via PayPal™ – Professors can input student marks Stakeholders and domain experts write user stories Can include both functional and non-functional requirements Indicate the estimated size/implementation effort Indicate the priority Optionally include a unique identifier – Improves traceability See Agile Modeling at http://www.agilemodeling.com/artifacts/userStory.htm 13 Five Guidelines to Better Process Modeling Introduction Definition of Terms Five Guidelines – 1) Rule of Seven – 2) Activity Granularity – 3) Activity Description – 4) Inputs/Outputs – 5) The System Lane Conclusion Q& A 14 Example of a bad Process Model Select Company in dropdown Click button to add a new line item. Click OK 15 Example of a bad Process Model “String of Pearls” Pattern “Constellation” Pattern 16 No Milestones Defined 4 System Lanes (1) Rule of Seven Limit any view to no more than 7 steps/activities for good fit. Select Candidate Background Check Offer Add Candidate To HR Records Orientation Begin Work Inform recruiter Criminal record check Create offer letter Input employee information into database New hire orientation class Meet manager Establish compensation package Drug screen Transmit offer letter Request equipment Benefits overview class Obtain access badge Establish start date Release Candidate from Process Accept offer Request workspace Provide orientation cd Obtain equipment Request access badge Watch orientation cd Go to workspace Set employee status to active Complete forms Review results 17 (2) Activity Granularity Activities should be Similar in Scope at each level Look for the String of Pearls pattern. Look for the Constellation pattern. Look for Flow Line Patterns Remember that an Activity – Is a step in a process that can be implemented as a sub-process or a task. – Definition in a Process Model should stop at task granularity. – A task activity is a unit of work that a single participant (human or system) starts with the intent to complete. 18 Purchase Groceries (2) Activity Granularity – Scope Plan Party Host Party Clean Up Invite Guests Welcome Guests Clean the House Prepare Menu Serve Snacks Send Thank You Cards Get Veggies Serve Cake & Ice Cream Get Cake Overloaded Milestone (Rule of Seven) Dissimilar in Scope Too Granular in Detail Play Games Pay with AMEX Get Ice Cream Where do we stop? Open Gifts Drive Home Get Chips & Dip Play Games Put Veggies in Fridge Checkout Put Ice Cream in Freezer Open Door Set Ice Cream on Shelf Close Door 19 (2) Activity Granularity – Scope Activities should be similar in scope at each level. Plan Party Host Party Clean Up Invite Guests Welcome Guests Clean the House Prepare Menu Serve Snacks Send Thank You Cards Will a single person complete the activity? Is the goal or outcome an input for the next activity? Purchase Groceries Serve Cake & Ice Cream Play Games Is the duration similar to others at this level? Open Gifts Will the activity be started with the intent to finish? Play Games 20 (2) Activity Granularity – String of Pearls Pattern Series of two or more activities in the same swim lane May indicate missing participant details May indicate too much detail at a low level of granularity May indicate misalignment in scope 21 (2) Activity Granularity – String of Pearls Pattern Combine into a single Activity: Send Offer Letter Before 3 serial activities for Hiring Manager • Review Results • Create Offer Letter • Transmit Offer Letter After 1 activity for Hiring Manger 22 (2) Activity Granularity – Constellation Pattern Factor constellations to a sub-process. Look for… • Tight groups of activities across 2-3 swim lanes • Single flow line in & out of the group • Lane participant may be limited to activities in the group 23 (2) Activity Granularity – Flow Line Patterns Generally should not flow backward to a previous milestone. Generally should not skip a Milestone. Should avoid looping back to a previous step to repeat an activity (or sub-process) later in the process—repeat/re-use the activity instead. 24 (3) Activity Description – Activity Naming Activity Name = Action + Entity [action verb] + [business object] Avoid vague action verbs such as Process and Perform [Step] Use action verbs that indicate a result/output Use specific terms recognizable by the business users (even if they might be vague to others) and describe/define the terms in the description if necessary. Perform Review 25 Approve Contract Terms (3) Activity Description – User Story Capture a 2-5 sentence description for each activity. – As a [participant] I need to [do something] so that I can [create business value]. 26 (4) Inputs/Outputs Define with business entities from the business object model Avoid specifying state for the entity (eg. signed contract) Avoid specifying other qualifiers that are properties of the entity Candidate Job Description Comp. Details Offer Letter 27 (5) The System Lane Define only one system lane. Contains activities performed by the BPMS or orchestrated by the BPMS to be performed by an external system. Should not contain human activities. Avoid the string of pearls pattern. 28 Conclusion Introduction Definition of Terms Five Guidelines – 1) Rule of Seven – 2) Activity Granularity – 3) Activity Description – 4) Inputs/Outputs – 5) The System Lane Q&A 29 QA & IBM Software Services Zone for WebSphere ibm.com/websphere/serviceszone The destination for WebSphere services-related resources, offerings, & technical skills to help you on your path to business agility What’s New? BPM-specific resources including proven, prescribed, and repeatable assets and offerings to accelerate BPM adoption Visibility across the worldwide skills & capabilities that only IBM Software Services for WebSphere can bring to your project Access to WebSphere practitioners’ insight on project trends, best practices & emerging technologies through personal videos, blogs, articles & more Discover defined offerings to get your project started quickly 30 Links to Your Next Steps… IBM BPM Delivery Capabilities Including Education and Enablement Services BPM Process Discovery & Modeling in the Cloud – Blueprint Process Modeling for inventory & mapping http://BlueworksLive.com – Knowledge sharing & collaboration – Process analysis & prioritization http://IBMBPMDemos.com BPM Process Modeling & Implementation • Rapid process application development • Continuous process improvement • BPM program management Education, Enablement and on-demand Services • Quick Win Pilots • Role-based education & mentoring • Expert Services when and where they’re needed http://www.ibm.com/developerworks/ websphere/services/ Confidential