Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

BPM Patterns & Best Practices with OutSystems BPT

5,659 views

Published on

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.

Published in: Technology
  • Be the first to comment

BPM Patterns & Best Practices with OutSystems BPT

  1. 1. OutSystems Agile Platform<br />BPT Patterns & Best Practices<br />Gonçalo Borrêga - OutSystems<br />
  2. 2. Agenda<br /><ul><li>Mindset
  3. 3. BPT vs. Rest of the World
  4. 4. Simple techniques
  5. 5. Advanced patterns
  6. 6. Q&A</li></li></ul><li>Background & GroundRules<br />Mindset<br />
  7. 7. MindsetBackground<br />Claims processing process<br />708 Activities<br />501 Decisions<br />>4.000.000 instances (>1.800.000 human)<br />Processes thatlastfrom 2 minutes to 2 years<br />Refactoringproject<br />
  8. 8. MindsetBackground – One of the “old” processes<br />
  9. 9. MindsetGround rules<br />Know your process<br />Analyze early<br />Design deep<br />Top down approach<br />Parallelize manual activities<br />Guideyourusers<br />
  10. 10. MindsetGround rules<br />Aim for simplicity<br /><ul><li>Show it to yourusers
  11. 11. Use sub-processes
  12. 12. Considerversioning
  13. 13. But…
  14. 14. Avoidrefactoring</li></li></ul><li>The things you really should take advantage<br />BPT vs. Rest of the World<br />
  15. 15. BPT vs. Rest of the WorldThe things you really should take advantage<br />Impactanalysis<br />Process upgrades ARE possible<br />Plandeploymentwisely<br />
  16. 16. BPT vs. Rest of the WorldThe things you really should take advantage<br />Theprocessisclose to the data<br />No data dictionaries<br />TrueChangeTM built in<br />Amazing event model<br />
  17. 17. BPT vs. Rest of the WorldThe things you really should take advantage<br />Theprocessisclose to the UI<br />Synchronous closing and validation<br />UI iseasilycontrolledfromtheprocess<br />UI caneasilyreflecttheprocess<br />
  18. 18. Smallsteps for you, bigsteps for your processes<br />Simple techniques<br />
  19. 19. Simple techniquesSmall steps for you, big steps for your processes<br />Empowersub processes<br />ForkandJoin<br />Use input parameters to refine behaviour<br />Use ouputparameters to controlparentbehaviour<br />Do notforgetreporting<br />
  20. 20. Simple techniquesSmall steps for you, big steps for your processes<br />Smartlabeling<br />Hierarchical<br />Incremental<br />Relational<br />
  21. 21. Simple techniquesSmall steps for you, big steps for your processes<br />Cycles?<br />Sure, whentheybelong to theprocess<br />Never as procedurallogic<br />
  22. 22. Simple techniquesSmall steps for you, big steps for your processes<br />Run again… with no impact<br />Implementautomaticactivitiesconsideringtheywillberunseveraltimes<br />Design theprocesssoitcanbe “restarted”<br />
  23. 23. Use and extend the model<br />Advanced patterns<br />
  24. 24. Advanced patterns Use and extend the model<br />Processintercommunication<br />Database/Eventbased<br />Decouplefromprocessspecificactions<br />“Statemachine”<br />
  25. 25. Advanced patterns Use and extend the model<br />States<br />Databaseflag-based status<br />Allowseasyreporting<br />Easyprocesslockers<br />
  26. 26. Advanced patterns Use and extend the model<br />BPT awareapplication<br />Singleentrypoints<br />Session.ActivityId<br />Everyactionwithanactivity<br />
  27. 27. Advanced patterns Use and extend the model<br />Custominboxes<br />Contextual<br />Taskoriented<br />Custompriorities<br />
  28. 28. Advanced patterns Use and extend the model – Custom inboxes<br />
  29. 29. Advanced patterns Use and extend the model – Custom inboxes<br />
  30. 30. Advanced patterns Use and extend the model<br />Conditionalstarts<br />Supportsadhoc processes<br />Auto launchhiddenby UI<br />
  31. 31. Advanced patterns Use and extend the model – Conditional start<br />
  32. 32. Advanced patterns Use and extend the model<br />ActivityExtensionEntities<br />ActivityId as identifier<br />PurgeifrequiredonClose/Skip<br />Extend BPT model<br />Foreignsystemsevents<br />Comments<br />
  33. 33. Advanced patterns Use and extend the model<br />ActivityBehaviour<br />Staticentitywithbehaviours<br />CreateentryonOpen (bound to user)<br />PurgeonClose/Skip<br />Control UI<br />CheckBehaviour(Entities.BEHAVIOUR.AcceptReject)<br />
  34. 34. Advanced patterns Use and extend the model<br />MetamodelExtensionEntities<br />ActivityDefinitionId as identifier<br />If no recordexistsonOnCreate, createentry<br />Whenchangeisfrequent use SS_Keyandallow BackOffice configuration<br />
  35. 35. Advanced patternsUse and extend the model<br />Templates<br />Gatheryourrequirements<br />Create Template processes<br />Use processgenericcallbacks<br />Userassignment, SLAs, Groupassignment<br />
  36. 36. Questions?<br />goncalo.borrega@outsystems.com<br />
  37. 37. Thankyou for yourattention and contribution!<br />

×