BPM Patterns & Best Practices with OutSystems BPT

31
www.outsystems.com Page 1 © 2010outsystems – all rights reser OutSystems Agile Platform BPT Patterns & Best Practices Gonçalo Borrêga - OutSystems

description

Presentation shown at OutSystems NextStep 2010 event (www.outsystems.com/nextstep) regarding some tips on using BPM on your web application and how to best use BPT technology to do that.

Transcript of BPM Patterns & Best Practices with OutSystems BPT

Page 1: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 1 © 2010outsystems – all rights reserved

OutSystems Agile Platform

BPT Patterns & Best Practices

Gonçalo Borrêga - OutSystems

Page 2: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 2 © 2010outsystems – all rights reserved

Agenda

•Mindset

•BPT vs. Rest of the World

•Simple techniques

•Advanced patterns

•Q&A

Page 3: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 3 © 2010outsystems – all rights reserved

Background & Ground Rules

Mindset

Page 4: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 4 © 2010outsystems – all rights reserved

MindsetBackground

Claims processing process• 708 Activities• 501 Decisions• >4.000.000

instances (>1.800.000 human)

• Processes that last from 2 minutes to 2 years

• Refactoring project

Page 5: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 5 © 2010outsystems – all rights reserved

MindsetBackground – One of the “old” processes

Page 6: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 6 © 2010outsystems – all rights reserved

MindsetGround rules

Know your process• Analyze early• Design deep• Top down

approach• Parallelize manual

activities• Guide your users

Page 7: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 7 © 2010outsystems – all rights reserved

MindsetGround rules

Aim for simplicity• Show it to your

users• Use sub-processes• Consider

versioning• But…• Avoid refactoring

Page 8: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 8 © 2010outsystems – all rights reserved

The things you really should take advantage

BPT vs. Rest of the World

Page 9: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 9 © 2010outsystems – all rights reserved

BPT vs. Rest of the WorldThe things you really should take advantage

Impact analysis• Process upgrades

ARE possible• Plan deployment

wisely

Page 10: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 10 © 2010outsystems – all rights reserved

BPT vs. Rest of the WorldThe things you really should take advantage

The process is close to the data

• No data dictionaries

• TrueChangeTM built in

• Amazing event model

Page 11: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 11 © 2010outsystems – all rights reserved

BPT vs. Rest of the WorldThe things you really should take advantage

The process is close to the UI• Synchronous

closing and validation

• UI is easily controlled from the process

• UI can easily reflect the process

Page 12: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 12 © 2010outsystems – all rights reserved

Small steps for you, big steps for your processes

Simple techniques

Page 13: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 13 © 2010outsystems – all rights reserved

Simple techniquesSmall steps for you, big steps for your processes

Empower sub processes• Fork and Join• Use input

parameters to refine behaviour

• Use ouput parameters to control parent behaviour

• Do not forget reporting

Page 14: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 14 © 2010outsystems – all rights reserved

Simple techniquesSmall steps for you, big steps for your processes

Smart labeling• Hierarchical• Incremental• Relational

Page 15: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 15 © 2010outsystems – all rights reserved

Simple techniquesSmall steps for you, big steps for your processes

Cycles?• Sure, when they

belong to the process

• Never as procedural logic

Page 16: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 16 © 2010outsystems – all rights reserved

Simple techniquesSmall steps for you, big steps for your processes

Run again… with no impact• Implement

automatic activities considering they will be run several times

• Design the process so it can be “restarted”

Page 17: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 17 © 2010outsystems – all rights reserved

Use and extend the model

Advanced patterns

Page 18: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 18 © 2010outsystems – all rights reserved

Advanced patterns Use and extend the model

Process intercommunication

• Database/Event based

• Decouple from process specific actions

• “State machine”

Page 19: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 19 © 2010outsystems – all rights reserved

Advanced patterns Use and extend the model

States• Database flag-

based status• Allows easy

reporting• Easy process

lockers

Page 20: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 20 © 2010outsystems – all rights reserved

Advanced patterns Use and extend the model

BPT aware application• Single entry points• Session.ActivityId• Every action with

an activity

Page 21: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 21 © 2010outsystems – all rights reserved

Advanced patterns Use and extend the model

Custom inboxes• Contextual• Task oriented • Custom priorities

Page 22: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 22 © 2010outsystems – all rights reserved

Advanced patterns Use and extend the model – Custom inboxes

Page 23: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 23 © 2010outsystems – all rights reserved

Advanced patterns Use and extend the model – Custom inboxes

Page 24: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 24 © 2010outsystems – all rights reserved

Advanced patterns Use and extend the model

Conditional starts• Supports ad hoc

processes• Auto launch

hidden by UI

Page 25: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 25 © 2010outsystems – all rights reserved

Advanced patterns Use and extend the model – Conditional start

Page 26: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 26 © 2010outsystems – all rights reserved

Advanced patterns Use and extend the model

Activity Extension Entities• ActivityId as

identifier• Purge if required

on Close/Skip• Extend BPT model

– Foreign systems events

– Comments

Page 27: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 27 © 2010outsystems – all rights reserved

Advanced patterns Use and extend the model

Activity Behaviour• Static entity with

behaviours• Create entry on

Open (bound to user)

• Purge on Close/Skip

• Control UI• CheckBehaviour(

Entities.BEHAVIOUR.AcceptReject)

Page 28: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 28 © 2010outsystems – all rights reserved

Advanced patterns Use and extend the model

Metamodel Extension Entities

• ActivityDefinitionId as identifier

• If no record exists on OnCreate, create entry

• When change is frequent use SS_Key and allow BackOffice configuration

Page 29: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 29 © 2010outsystems – all rights reserved

Advanced patternsUse and extend the model

Templates

• Gather your requirements

• Create Template processes

• Use process generic callbacks– User assignment,

SLAs, Group assignment

Page 30: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 30 © 2010outsystems – all rights reserved

Questions?

[email protected]

Page 31: BPM Patterns & Best Practices with OutSystems BPT

www.outsystems.com Page 31 © 2010outsystems – all rights reserved

Thank you for your attention and contribution!