BPM2023 Utrecht Workshop on BPM and Social Software

It’s been a minute! Last time that I attended the BPM academic research conference was in the “before times”, back in 2019 in Vienna. This week, I’m in Utrecht for this year’s version, and it’s lovely here – beautiful historic buildings and stroopwafels in the conference bag!

I’m starting with the workshop on BPM and social software. This was the first workshop that I attended at my first trip to the BPM conference in 2008 in Milan, also chaired by Rainer Schmidt.

All three of these presentations looked at different aspects of how traditional structured process modeling and orchestration fails at addressing end-to-end process management, and how social (including social media) constructs can help. In the first presentation, processes are too unstructured for (easy) automation; in the second, there’s a need for better ways to provide feedback from process participants to the design; and in the third, organizations can’t even figure out how to get started with BPM.

The first in the workshop was Joklan Imelda Camelia Goni, who was accompanied by her supervisor Amy van Looy, on “Towards a Measurement Instrument for Assessing Capabilities when Innovating Less-Structured Business Processes”. Some of the background research for this work was a Delphi study that I participated in during 2021-2022, so it was interesting to see how her research is advancing. There is a focus on capabilities within organizations: how capable are certain people or departments at determining the need for innovation and creating the innovation in (often manual) processes.

Next was Mehran Majidian Eidgahi on “Integrating Social Media and Business Process Management: Exploring the Role of AI Agents and the Benefits for Agility” (other paper contributors are Anne-Marie Barthe-Delanoë, Dominik Bork, Sina Namaki Araghi, Guillaume Mace-Ramete and Frédérick Bénaben). This looks at the problem of structured business process models that have been orchestrated/automated, but that need some degree of agility for process changes. He characterizes BPM agility at three stages: discovering, deciding and implementing, and sees that much of the work has focused on discovery (process mining) and implementing, but not as much on deciding (that is, analysis or design). Socializing BPM with the participants can bring their ideas and feedback into the process design, and they propose a social BPM platform for providing reactions, feedback and suggestions on processes. I’ve seen structures similar to this in some commercial BPM products, but one of the main issues is that the actual executing model is not how the participants envision it: it may be much more event-driven rather than a more traditional flow model. He presented some of their other research on bringing AI to the platform and framework, which provides a good overview of the different areas in which AI may be applied.

The last presentation in the workshop was by Sebastian Dunzer on “Design Principles for Using Business Process Management Systems” (other paper contributors Willi Tang, Nico Höchstädter, Sandra Zilker and Martin Matzner). He looks at the “pre-BPM” problem of how to have organizations understand how they could use BPM to improve their operations: in his words, “practice knows of BPM, but it remains unclear how to get started”. This resonates with me, since much of my consulting over the years has included some aspect of explaining that link between operational business problems and the available technologies. They did an issue-tracking project with a medium-sized company that allowed them to use practical applications and simultaneously provide research insights. Their research outcome was to generate design principles that link IT artifacts and users through functional relationships.

Many thanks to the conference chair, Hajo Reijers, for extending an invitation to me for the conference. I’ll be at more workshops later today, and the rest of the conference throughout the week.

150 episodes of the Process Pioneers podcast

The Process Pioneers podcast recently published their 150th episode, which is a significant milestone considering that most podcasts wither into inactivity pretty quickly. It’s hosted by Daniel Rayner, managing director of APAC for GBTEC, so I suppose that technically they sponsor it, but it’s really just a free-ranging discussion that doesn’t talk about their products (or at least didn’t when I was on it).

You can see my interview with Daniel on the podcast from last year, it was a lot of fun and we delved into some interesting points.

21st International BPM Conference in Utrecht – opportunities to attend, present or sponsor

Way back in 2008, I took a chance and attended the international academic research conference on business process management in Milan. I was hooked, as you might have gathered from the 1000s of words that I blogged that week. Since then, I’ve attended a few more: Ulm, Germany in 2009; Hoboken, US in 2010; Clermont-Ferrand, France in 2011 (where I had the honour of delivering a keynote); Tallinn, Estonia in 2012; and Vienna, Austria in 2019 (where I gave a talk at a workshop). They are always hosted by a university that has a BPM research program, and often the sessions are held in the university lecture rooms which gives it a more relaxed atmosphere than your usual industry conference.

I’m fascinated by the research topics, and one common theme of my blogging from these conferences is that software vendors need to send their product owners/developers here, both to hear about and present ideas on research in BPM and related fields. There’s so many good ideas and smart people, you can’t help but come away having learned something of value. Starting in 2010, the conference started to include an industry track to be more inclusive of people who were not in academia or research environments. At some point, they also started offering companies the opportunity to sponsor the conference: I believe that some vendors sponsored coffee breaks and meals, or had booths at parts of the event. A good way to raise their profile with the attendees, which include not only academics but a lot of people from industry as well. And, as I’ve pointed out, it’s a great place for companies to meet promising young researchers who might be looking for a job in the future.

This year, the conference is in Utrecht, The Netherlands, on September 11-15, 2023. I’m hoping to attend after three years of hiatus due to that pesky little virus; I did attend some of the sessions virtually in the past couple of years but it’s just not the same as being there. If you want to submit a paper or give a presentation, you can see the important dates here – note that the abstracts for research papers are due next week, with other deadlines coming up shortly. If you just want to attend, they have an early bird registration price until July 18. If your company wants to sponsor the event in any way, there’s some information here along with contact information.

I’m really looking forward to getting back to this, and to other conferences this year, after dipping my toe back in the in-person conference pool with speaking slots last September (Hyland CommunityLIVE) and October (CamundaCon). I’ll also still be participating in virtual conferences, which allows me to attend more than I would normally have time or budget for, including speaking on a Voices in Tech panel next week. There is no question that the way we attend conferences has changed in the past three years. Some conferences are staying completely virtual, some are making a hard shift back to in-person only, while some are going the hybrid route. Meanwhile, companies that slashed their conference budget for attendees and sponsorships are reconsidering their spending in the light of increased attendance at in-person conferences. It’s going to take another year or two to see whether people will flock back to in-person conferences, or prefer to stick with the virtual style.

Voices in Tech panel

Edit with correction to above graphic: the panel is at 10am Eastern which is 3pm Central European time because we’re in that hellish period where North American clocks have moved forward but European ones haven’t.

I posted earlier this week on Mastodon that I’ve been taking a bit of a break but now getting back to things, and one of events that’s on my upcoming agenda is presenting on a panel Voices in Tech: Building Effective Automation Teams, hosted by Camunda and also sponsored by Infosys. This will take place online on March 15th, but you can head over to the link now and sign up. I will have the pleasure of reconnecting with co-panelists Uzma Khan of the Ontario Teachers’ Pension Plan, who I have known for many years, and Smriti Gupta of Infosys, who I shared the stage with at CamundaCon in Berlin last October. We will be joined by Ola Inozemtceva, a senior product marketing manager at Camunda, and the moderator will be Lana Ginns, product marketing manager at Camunda.

This is the 2023 version of the International Women’s Day panel that Camunda has been organizing for a few years now, and I really like that the focus is not on the fact that all of the panelists are women, but that we are “brilliant trailblazers in the tech world, who inspire people every day to redefine technology and how it can transform the world”. We’ll be discussing challenges and best practices with building high-performing orchestration teams, which ties in nicely with the series of video blogs that I’ve been doing lately for Trisotech on best practices in business automation.

I hope to see you there (virtually).

Flowable’s FlowFest 2022

Flowable is holding their half-day online FlowFest today, and in spite of the eye-wateringly early start here in North America, I’ve tuned in to watch some of the sessions. All of these will be available on demand after the conference, so you can watch the sessions even if you miss them live.

There are three tracks — technical, architecture and business — and I started the day in the tech stream watching co-founder Tijs Rademakers‘ presentation on what’s new in Flowable. He spent quite a bit of the hour on a technical backgrounder, but did cover some of the new features: deprecation of Angular, new React Flow replacing the Oryx modelers, a new form editor, improved deployment options and cloud support, a managed service solution, and a quick-start migration path that includes an automatic migration of Camunda 7 process instance database to Flowable (for those companies that don’t want to make the jump to Camunda 8 and are concerned about the long-term future of V7).

For the second session, I switched over to the architect stream for Roman Saratz’ presentation on low-code integration with data objects. He showed some cool stuff where changes to the data in an external data object would update a case, in the example tied to a Microsoft Dynamics instance. The presentation was relatively short and there was an extended Q&A, obviously a lot of people interested in this form of integration. At the end, I checked in on the business track and realized that the sessions there were not time-aligned with the two technical tracks: they were already well into the Bosch session that was third on the agenda – not sure why the organizers thought that people couldn’t be interested in technology AND business.

In the third session, I went back to the tech stream and attended Joram Barrez‘ presentation on scripting. Like a few of the other Flowable team, Joram came from Alfresco’s Activiti core development team (and jBPM before that), and is now Principal Software Architect. He looked at the historical difference between programs and scripts, which is that programs are compiled and scripts are interpreted, and the current place of pre-compiled [Java] delegates in service tasks versus script tasks that are interpreted at runtime. In short, the creation, compilation and deployment of Java delegates are definitely the responsibility of technical developers, while scripts can be created and maintained by less-technical low code developers. Flowable now allows for the creation a “service registry” task that is actually a Javascript or Groovy script rather than a REST call, which allows scripts to be reusable across models as if they were external service tasks rather than embedded within one specific process or case model. There are, of course, tradeoffs. Pre-compiled delegates typically have higher performance, and provide more of a structured development experience such as unit testing, and backwards-compatible API agreements. Scripts open up more development capability to the model developer who may not be Java-savvy. Flowable has created some API constructs that make scripts more capable and less brittle, including REST service request/response processing and BPMN error handling. It appears that they are shifting the threshold for what’s being done by a low code developer directly in their modeling environment, versus what requires a more technical Java developer, an external IDE and a more complex deployment path: making scripts first-class citizens in Flowable applications. In fat, Joram talked about ideas (not yet in the product) such as having a more robust scripting IDE embedded directly in their product. I am reminded of companies like Trisotech that are using FEEL as their scripting language in BPMN-CMMN-DMN applications, on the assumption that if you’re already using FEEL in DMN then using it throughout your application is a good idea; I asked if Flowable is considering this, and Joram said that it’s not currently supported but it would not be that difficult to add if there was demand for it.

To wrap up the conference, I attend Paul Holmes-Higgin‘s architecture talk on Flowable future plans. Paul is co-founder of Flowable and Chief Product Officer. He started with a discussion of what they’re doing in Flowable Design, which is the modeling and design environment. Tijs spoke about some of this earlier, but Paul dug into more detail of what they’ve done in the completely rebuilt Design tool that will be released in early 2023. Both the technical underpinnings and the visuals have changed, to update to newer technology and to support a broader range of developer types from pro code to low code. He also spoke about longer term (2-3 year) innovation plans, starting with a statement of the reality that end-to-end processes don’t all happen within a centralized monolithic orchestrated system. Instead, they are made up of what he refers to as “process chains”, which is more of a choreography of different systems, services and organizations. He used a great example of a vehicle insurance claim that uses multiple technology platforms and crosses several organizational boundaries: Flowable Work may only handle a portion of those, with micro-engines on mobile devices and serverless cloud services for some capabilities. They’re working on Flowable Jet, a pared-down BPMN-CMMN-DMN micro-engine for edge automation that will run natively on mobile, desktop or cloud. This would change the previous insurance use case to put Flowable Jet on the mobile and cloud platforms to integrate directly with Flowable Work inside organizations. With the new desktop RPA capabilities in Windows 11, Flowable Jet could also integrate with that as a bridge to Flowable Work. This is pretty significant, since currently end-to-end automation has a lot of variability around the edges; allowing for their own tooling in the edge as well as central automation could provide better visibility and security throughout.

Tijs, Jorram and Paul are all open source advocates in spite of Flowable’s current more prominent commercial side; I’m hoping to see them shifting some of their online conversations over to the Fosstodon (or some other Mastodon instance), where I have started posting.

That’s it for FlowFest: a good set of informational sessions, and some that I missed due to multiple concurrent tracks that I’ll go back and watch later.

State of Process Orchestration panel replay

I was at CamundaCon in Berlin last month, and was on a panel about the state of process orchestration. Check it out.

Lots of interesting discussion, and it was fun to hear other perspectives from a large SI (Infosys) and a customer (PershingX) on the panel with me. Thanks to Camunda for the invitation, and my first European trip in almost three years!

CamundaCon 2022 – that’s a wrap!

It’s been a quick two days at CamundaCon 2022 in Berlin, and as always I’ve enjoyed my time here. The second day finished with a quick fireside chat with Camunda co-founders Jakob Freund and Bernd Ruecker, who wrapped up some of the conference themes about process orchestration. I’ll post a link to the videos when they’re all available; not sure if Camunda is going to publish them on their YouTube channel or put them behind a registration page.

I mentioned previously about what a great example of a hybrid conference this has been, with both speakers and attendees either on-site or remote — my own panel included three of us on the stage and one person remotely, and it worked seamlessly. One part of this that I liked is that in the large break lounge area, there were screens set up with the video feed from each of the four stages, and wireless headsets that you could tune to any of the four channels. This let you be “remote” even when on site, which was necessary in some of the smaller rooms where it was standing room only. Or if you wanted to have a coffee while you were watching.

Thanks to Camunda for inviting me, and the exciting news is that next September’s CamundaCon will be in New York: a much shorter trip for me, as well as for many of Camunda’s North American customers and partners.

CamundaCon Day 2: Business Process Optimization at Scale

Michael Goldverg from BNY Mellon presented on their journey with automating processes within the bank across thousands of people in multiple business departments. They needed to deal with interdependencies between departments, variations due to account/customer types, SLAs at the departmental and individual level, and thousands of daily process instances.

They use the approach of a single base model with thousands of variations – the “super model” – where the base model appears to include smaller ad hoc models (mostly snippets surrounding a single task that were initially all manual operations) that are assembled dynamically for any specific type of process. Sort of an accidental case management model at first glance, although I’d love to get a closer look at their model. There was a question about the number of elements in their model, which Michael estimated as “three dozen or so” tasks and a similar number of gateways, but can’t share the actual model for confidentiality reasons.

They have a deployment architecture that allows for multiple clusters accessing a single operational database, where each cluster could have a unique version of the process model. Applications could then be configured to select the server cluster – and therefore the model version – at runtime, allowing for multiple models to be tested in a live environment. There’s also an automated process instance migration service that moves the live process instances if the old and new process models are not compatible. Their model changes constantly, and they update the production model at least once per week.

They’ve had to deal with optimistic locking exceptions (fairly common when you have a lot of parallel gateways and multiple instances of the engine) by introducing their own external locking mechanism, and by offloading some of this to the Camunda JobExecutor using asynchronous continuations although that can cause a hit on performance. The hope is that this will be resolved when they move to the V8 engine – V8 doesn’t rely on a single relational database and is also highly distributed by design.

They run 50-100k transactions per day, and have hundreds of millions of tasks in the history database. They manage this with aggressive cleaning of the history database – currently set to 60 days – by archiving the task history as PDFs in their content management system where it’s discoverable. They are also very careful about the types of queries that they allow directly on the Camunda database, since a single poorly-constructed search can bring the database to its knees: this is why Camunda, like other vendors, discourage the direct querying of their database.

There are a lot of trade offs to be understood when it comes to performance optimization at this scale. Also some good points about starting your deployment with a more complex configuration, e.g., two servers even if one is adequate, so that you’re not working out the details of how to run the more complex configuration when you’re also trying to scale up quickly. Lots of details in Michael’s presentation that I’m not able to capture here, definitely check out the recorded video later if you have large deployment requirements.

CamundaCon 2022 Day 2 keynote

My little foldable keyboard isn’t playing nice, so I’m typing this directly on my iPad which is…not ideal. However, I will do my best and debug the keyboard later.

Day 2 of CamundaCon 2022 here in Berlin started off with a keynote from Bernd Ruecker, Camunda co-founder and chief technologist, and Daniel Meyer, CTO. Version 8.1 is coming up, and with it some new connectors as well as other core enhancements. Bernd started out with a reinforcement of some of Jakob Freund’s messages yesterday: the distinction between task (depth) and process (breadth) automation, and how process orchestration is characterized by endpoint diversity and process complexity. These are important points in understanding the scope of process orchestration, but also for companies like Camunda to distinguish themselves in an increasingly diverse and crowded “process automation” market.

Once Bernd had walked us through what an initial process orchestration could look like (for a bank account opening example), Daniel took over to take about moving from an initial project to a transformed, process-centric enterprise. Some of this requires tools that allow less technical developers to get involved, which means having more connectors available for these developers to create apps by assembling and configuring connectors, while more technical developers may be creating new connectors for what’s not offered out of the box by Camunda. Bernd, who loves his live demos, showed us how to create a new connector quickly in Java, then expose it graphically in the modeler using a connector template – this makes it appears as an activity type directly in the Camunda modeler. Once they are in the modeler, connectors can be used in any application, so that (for example) a connector to your bespoke mainframe monolith can be created and added to the modeler once, then used in a variety of applications.

The concept of connectors as a way for less technical developers to use a BPMN model as an application development framework isn’t new: many other BPMS vendors have been doing this for a long time. Camunda is obviously feeling the pressure to move from a purely developer-focused platform and address some level of low-code needs, and connectors is one if the main ways that they are doing this. The ease in creating new connectors is pretty cool – many products let you use their out of the box connectors but don’t make it that easy to make new ones. Camunda is positioning this capability (creating new connectors quickly) as core to automating the enterprise.

We heard about more of what they’ve been releasing this year, including the web modeler that allows new developers and business analysts to be onboarded quickly without having to install anything locally. The modeler includes BPMN validation so that correct process models are created and errors avoided before deploying to the server. They are also using FEEL (friendly enough expression language) – borrowed from the DMN specification – for scripting within tasks. This use of FEEL is also being done by other standards-focused vendors, such as Trisotech. We also saw some of the things that they’re working on, such as interactive debugging to step through processes, and an improved forms UI builder. Again, not completely new ideas in the BPM space, but nice productivity enhancements to their developer experience. Based on what they’ve seen within their own company, they’re integrating Slack and Microsoft Teams for human task orchestration to avoid the requirement for users to go to a separate app for their process task list.

Bernd addressed the issue of Camunda supporting low code, when they have been staunchly pro code only for most of their history. Fundamentally, the market (that is, their customers and prospective customers) need this capability, and it’s clear that you have to offer at least something low code (ish) to play in the process automation space these days. This is definitely a shift for them, and they are doing it fairly gracefully although are a bit behind the curve in much of the functionality because they stuck to their roots for so long. In their favour, they’re still a small and nimble company and can roll out this type of functionality in their product fairly quickly. They are mostly just dipping into the pro code end of the low code space, and it will be interesting to see how far they go in upcoming releases. Creating more low code tooling and more connectors obviously creates more long-term technical debt for Camunda: if they decide this isn’t the way forward after a while, or they change some of the underlying architecture, customers could end up with legacy versions of connectors and low code tooling that need to be updated. Definitely worth checking out for existing Camunda customers who want to accelerate adoption within their organizations.

By the way, I’ve had so much great feedback on our panel yesterday: happy to hear that we had some nuggets of wisdom in there. So many good conversations last night at the BBQ and continuing into today between sessions. I’ll post a link to the recorded session when it’s published.