Developers & Processes: A topic for Programmer Day 2010

Following Rodrigo’s last post on Caixa Seguro’s Programmer Day, I would also like to share with you my session on OutSystems’ Business Process Technology. The Caixa Seguros team relies pretty heavily on Business Process Management, and they were eager to learn more about our capabilities and experience!
As such, I was pleased to show them how OutSystems’ approaches with the application of BPM technologies and implementations for their specific industry: Insurance – Policy and Claims handling.

I started by presenting some common concepts we felt were important to address with our BPM approach in the Agile Platform, we call this Business Process Technology or BPT for short.  The key concepts are:
  • Long lived processes: requiring process instances to be upgraded as new laws, conventions, or procedures are brought in.
  • Strong cohesion with line-of-business applications: processes are always supported by a business application (or more than one), and this application should work seamlessly with the process.
  • Big benefits in the end: processes allow every organization to increase operational performance, especially those with clear procedures in their activity. Just getting everyone to know what they’re supposed to do improves performance dramatically; according to Gartner, simply having the workflow users should follow on the wall leads to a 12% improvement on productivity. The set of monitoring tools and KPI collection provided by BPM engines brings focus on the need to optimize, and provides leads on how we can optimize it.
The next step was to point out the main challenges faced when setting up a BPM initiative to work with an existing – or new – set of applications that support the same goal. From real field experience, we identified the following set of challenges as the most relevant:
  • BPM_Glasses.pngSeparation from User Interface: having a process that redirects users to perform manual activities on an application is troublesome for the single fact that they live and are implemented in a separate environment from the application.
  • Complex API integration: the requirement to plug-in a process’ inbox to an application and having the application ignite and advance the processes requires usage of the engine’s API, which are not well integrated with the application and are usually hard to extend by the application developers.
  • Intermediate domains: When processes and applications are supported by different platforms, they still need to share data between them. This leads to non-business related and error prone developments of intermediate data dictionaries, being produced and consumed by each other. When either the application or the process change, these dictionaries also need to be refactored.
  • Upgrading existing processes: as process definitions change, thousands or millions of running process instances need to be upgraded to the new definition.
  • Distinct life-cycle between application and process: This leads to inefficiencies in both the application and the process, and can even lead to inconsistencies in the several releases integrations.
With this in mind, I picked a real application used for project management and did a live demo creating a process live during my presentation. The fact that in the Agile Platform, our BPT is implemented as a layer on top of the application removes all the problems mentioned above. While the process is being built, the Agile Platform’s TrueChange engine detects changes in the entity model and fixes them immediately throughout the process, discarding the need for the tiresome task of creating intermediate data dictionaries. It was also clear that having the process near the application allows doing a lot of neat things, such as a chat like interface where a user leaves his comments on an activity and reassigns it to another user, all in the context of a common application interface.
During the session I showed the audience how business users could check the performance of the just created process via the Agile Platform’s built in Analytics application. Right in the session I demonstrated how you are able to immediately provide process feedback using our Embedded Change Technology. During the session I actually implemented the feedback, and made a change to the process right on the stage. The change required me to upgrade the process, which brought up the clear advantages of having an integrated Impact Analysis before putting new versions into production. This allows operations teams to easily measure the impact of changes in the process, before they are actually deployed.
By the end of the presentation, I believe everyone saw the advantages of having a platform that fosters a common development life-cycle between application and processes. This makes it much easier to build a process that leads the users through their tasks in the application, definitely bringing the Business and IT together in one same purpose: business performance.
Want to learn more? Don’t miss our BPT workshop taking place on October 11th in Lisbon!


About the author

Gonçalo Borrêga

After ten years of hardcore development, Gonçalo got bored with the repetitive tasks that are required project after project. So, he adventured into finding the best way to bring automation and productivity to the rest of us.

Leave Your Comment