Thursday, June 23, 2016

Process-driven applications on Red Hat Summit 2016

Next week (June 27 - July 1st 2016), Red Hat Summit and DevNation are taking place again, in San Francisco.  As usual, it's a huge event with a ton of interesting talks.  Learn the latest and greatest from all different products Red Hat offers (cloud, data, automation, integration, you name it), with something for everyone (admins, architects, managers, etc.).






I'll be doing a session on Tuesday June 28, 3:30 - 4.30pm, on Process-driven applications: let BPM do some of your work.  It will be a (quick) overview of what we've been building out over the last few years with jBPM (and Red Hat JBoss BPM Suite as the product offering) and how you can use it to build your applications.  But we give you the option to choose which building blocks you find valuable, and keep trying to add more and more value (for example in the context of case management or rapid application development).

I hope to see some of you in San Francisco, feel free to come and ask questions at my session, try to find me (or some of the other engineering team members) at the middleware booth, just say hi if you see me walking around somewhere or drop me a message if you can't find me but would like to meet up ;)

There are a lot of other interesting session, but highlighting a few others that are related (in chronological order):

Friday, April 29, 2016

bpmNEXT 2016 retrospective

Concluding with a few impressions from bpmNEXT last week.  While it's impossible to summarize everything that happened there (I guess you could just join next year), here are some of my key takeaways:
  • BPM has reached maturity stage, we're past the hype phase (at least that's what some of the analysts seem to be saying).  Innovation is still there, although more by the smaller players (typically in specific areas).  The main features of BPMS's are well understood.  Big vendors are trying to differentiate in other areas (sometimes even moving away from the BPM name).  As a result, BPM is becoming 'invisible': it's always there, people can always rely on the power it provides, but it has become more mainstream.
  • Are BPM products growing or are they becoming part of a bigger ecosystem?  And what should we call this bigger entity then?  Luckily we didn't go into finding a new name, but there seems to be some agreement that we are (still) struggling with defining what BPM is (even after a few decades!).
  • Open-source is an important aspect of the BPM eco-system, both for commoditization, free entry and for innovative research.
  • A common misunderstanding is that low-code BPM is for business analysts only.  Low-code BPM tries to lower the entry barrier by hiding some of the underlying complexity and offering easier to use user interfaces / experience.  While this is an absolute requirement to get business analysts involved, low-code BPM can be just as useful for the hardcore developer as well (as long as they still have full control and can take advantage of the full power of the engine)!
  • Most BPM vendors seem to moving towards supporting 'adaptive cases' or more 'unstructured processes' as well.  While there might be various approaches (like for example using the ad-hoc sub-process in BPMN2 vs calling a separate CMMN case vs some custom solution), I expect more convergence in the next few years.
     
  • DMN was a hot topic amongst several vendors, gaining a lot of traction it seems.  CMMN seems to be struggling more though, and a healthy part of the discussion was around what we might learn from this and where it should lead us.
  • Fun fact for those that attended: A tractor can actually look like a bison ! During one of the demos, Watson was used to do automatic recognition of images.  After uploading the image of a tractor, Watson decided it might be a bison.  While most of us found that funny (and it made bison one of the buzzwords of the conference), it might seem that Watson was right after all: apparently bison is a brand of tractors as well.  As we probably should have expected, AI is already smarter than us.
I blogged earlier about each of the presentations and demos on-site here: day 1 (part1 and part2), day2 (part3 and part4) and day3 (part5).  Recordings should hopefully be available soon on the bpmNEXT website as well.

Personally, I'd like to thank Bruce Silver and Nathaniel Palmer (and everyone that helped, in or outside the spotlight) on organising this great conference !  And all the attendees as well for the interesting discussions.  It's a unique experience to have vendors discuss strategy in such an open way.  And the venue and conference schedule are ideal to continue discussions over lunch or during the evening (with a nice beer on the rooftop).

Already hoping I'll be able to come back next year !

Thursday, April 21, 2016

bpmNEXT 2016 (part 5)

Final half-a-day of bpmNEXT presentations and demos, before heading back home.

Intent-driven and future-proof user experiences
Appian talked about UIs.  They have created an architecture called Sail UI using a server-side approach to UI and focusing on the intent of the UI (rather than the details / technology) so it can evolve over time. The same UI design can be applied to radically different architectures like GWT, Facebook React or native mobile apps.  The UI adapts automatically based on the environment (for example barcode scanning component behaves radically differently on desktop vs mobile).

Continuous integration: tools to empower DevOps in process-based application
Bonitasoft talked about testing processes using CI when doing live changes to your processes and applications.  Using Docker, JUnit and Jenkins, they run various tests on Jenkins on newer versions of the process to detect regressions.

Combining DMN with BPMN and CMMN - the open source way
Camunda showed how they implemented DMN (at least parts of) as a decision service.  DMN can be called from BPMN or CMMN using a decision task, or standalone.   Their Cockpit application allows you to figure out why certain decision have been made at runtime (for specific instances) by looking at the audit data - annotated on top of the decision table itself. 

How I learned to tell the truth with BPM
Gene Rawles is adding another dimension (yes, literally, 3D) to modeling processes, where you can have processes at different layers (2D) and use lines to connect them (in 3D), to simplify explaining what's actually going on for example.  They allow importing processes from different systems, and are not limited to processes but also a rules or a SOA (services) layer.

Self-managed agile organizations
Keith Swenson is ending the conference presentations with a talk on various topics:
  • Self-management.  Using the term 'sociocrary', it's about self-managed teams which are highly decentralised and about collaboration (using consensus rather than voting - to get everyone on board with the decision).  How can we support these teams better?
  • He made a distinction between token-based and state-based engines - where jBPM (since v5) definitely falls in the second category - and wondering if there's way to describe the difference and should we consider these in combination with BPMN or CMMN?
  • He launched the question if there should be one (1!) open-source DMN engine for everyone to use, although this sparked the question whether this would be a reference implementation, which one to use and if there's still differentiation possible for vendors.
  • And he wrapped up talking about the future, where he believes a more conversational model (focusing on easy interactions with the user rather than the process itself).

Unfortunately I'll have to miss the wrap up session, heading back to LA slightly early to catch my flight.

bpmNEXT 2016 (part 4)

The afternoon of day 2 is starting (after a long lunch break):

Decision modeling service
Oracle presented their decision modeling service, based on DMN, for extracting decision logic (for example from the process).  After a quick introduction to DMN and the Feel expression language, the demo dived into two examples to calculate cost and request approval.

Dynamic decision models
Jacob from OpenRules presented their decision analysis capabilities.  Decisions are typically a combination of a set of different rules, and using a web-based UI the user can activate and deactivate specific rules dynamically, to see how they influence the decision.  But they can even do what-if analysis to find the optimal solution, all based on the decision model already defined.

The dirty secret in process and decision managementt
Sapiens Decision Suite is analyzing business data (i.e. at the business level - business user friendly) that is going into decisions.  After hooking this business data (defined as a 'logical unit') up to actual data sources (supporting different types), you can generate a web service that represents the decision service.  Rather than the traditional approach of passing all the (low-level) data to the decision service to get your result (which might not even be possible in big data use csaes), this allows you to only pass business-level keys and the rest of the data is fetched on the fly from the underlying systems.

Business process management in the cloud: changing the playing field
IBM's perspective on (running processes on) the hybrid cloud and using analytics in there.  The demo is running a few processes on IBM BPM on Cloud and using services like Watson.  The claim process used Watson to recognize an uploaded image (as a car for example) and Spark machine learning for predictive analytics (based on previous data, create a model about how likely are we going to accept a claim).  The magic seemed to be in the services though, as from the process perspective it's just a matter of doing the right REST calls.

Model, generate, compile in the cloud and deploy ready-to-use mobile process apps
Orchestra BPMS is offering the ability to generate mobile applications for processes.  Rather than using a generic out-of-the-box mobile application, they offer different building blocks (to for example start new instances, a task list, audit capabilities, etc.) and after making your choice the application can be compiled and downloaded for iOS and Android.

Dynamic validation of integrated BPMN, CMMN and DMN
Trisotech is enabling companies to do digital transformation by using a 'digital enterprise graph' of the organisation and allows you to link concepts in different models. The 'Kommunicator' tool supports BPMN, CMMN (using a case task in the process model to call the case) and DMN (whenever you have a decision task).  Animation technology (across the different models) can be used for learning, validation and communication.

Simplified CMMN
Lloyd Dugan made (what he called) a modest proposal to drive adoption of CMMN, especially for use cases where BPMN really struggles to model in an understandable way.  For example by eliminating some of the CMMN constructs, mapping case management concepts to business architecture concepts, etc.  Could CMMN be the 'unification' that brings BPMN and DMN into a bigger world that BPMN and DMN can't describe on their own currently?

Wednesday, April 20, 2016

bpmNEXT 2016 (part 3)

Starting day 2 of bpmNEXT.  [Had to give my own presentation as well in this slot, and had to write this up afterwards, resulting in slightly shorter write ups.]

Cloud architecture accelerating innovation in application development
Salesforce showcased how to developed applications within their tool.  They offer two options at the modeling level, one more data-driven (by listening for and triggering data changes) and WorkRelay, which is the more traditional process available through their AppExchange partner ecosystem.  The demo included a significant mobile part and for example also the Wave Analytics capability that you can leverage.

One model, three dimensions: flow, case and time into a unified development
BP Logix presented a model where you define when tasks should execute as a combination of precedence (did x happen), eligibility (constraints) and necessity (do you need me).  Tasks will execute if all three are satisfied.  It also allows explicitly modeling and keeping track of goals etc.

Building advanced case-driven applications
In my own demo, I tried to explain how we are supporting adaptive and dynamic cases (which we see as an extension of processes rather than some different) - by supporting more advanced features like case roles, milestones, etc. on top of what we already have - a flexible BPMN2 process engine.  We also allow you to build custom applications - specifically tailored to the use case you're trying to solve -  by combining and customizing generic UI building blocks.
I'll do a more detailed blog, covering a lot of the details of what's underneath the hoods, once I get back from traveling.

BPM and enterprise social networks for flexible case management
Francois Bonnet talked about combining process with social network information to an aggregated view of what is happening at runtime. Information gathered into social profiles / and signals being exchanged between processes and the social network allow features like linking social discussions with process, aggregated time line (showing what happened in the process in combination with other social events), assignment using social data, etc.  At the model level, additional constructs allow specifying how signals should be exchanged.

A business process application with no process
Scott Francis from BP3 presented a use case related to outpatient care, where patient, doctor and nurses need to collaborate. With a strong focus (and track record) on design, the UIs nicely support mobile devices (a necessity in this context), where the application adapts itself to the available space (on the tablet or phone).  Regardless of where you are and what device you use, you always have access to the latest state.

bpmNEXT 2016 (part 2)

Continuation of bpmNEXT impressions.  Especially the BPM analyst panel was very interesting and spiked a lot of discussion !


BPM Analyst Panel
Maureen Fleming, Sandy Kemsley, Clay Richardson, Jim Sinur, Neil Ward-Dutton
From the analyst point of view, some remarkable trends:
  • Customers don't necessarily want to start from process anymore, UI and UX are becoming the first more.
  • Rather than a focus on process, we need immediate data analytics  and decisions.
  • We need to get customers involved in the processes (apps, smart devices, etc.) and collect the data to drive these processes (and make them more transparent).
  • Customers are looking for low-code solutions, even if that means not using BPM(S).  It just needs to be good enough.
  • Open-source vendors are crucial for innovation and free(mium) entry. 
  • Low-code BPM isn't about business analyst and prototype applications only, it's also for developers and enterprise applications.
  • A lot has changed over the last 15 years,computing power and data is everywhere and millenials think differently.
Unanimous agreement that we need to continue this discussion over wine and beer later !

Process design and automation for a new economy
Ian Ramsey (8020 BPM) presented a model (targeting processes in the services sector) based on tasks and events and an event engine, to solve issues like maintainability, exceptions etc.  [Basically a declarative way to define processes rather than a procedural flow.]
A process is composed of stages, each containing tasks (using the typical blocks per stage each containing tasks).  Data is defined as (high-level) entities with possible states.  Tasks define start and outcome events (referencing the data states mentioned earlier), and the tool can generate a flowchart by combining all tasks.  He showed how you can define a rather complex model using this way, and how it dynamically adapts itself if you remove a tasks.

Process intelligence for the digital age: combining intelligent insights with process mining
SAP is combining process visibility and process intelligence with process mining to solve problems in realtime.  In the demo, dashboards are used to get insights into orders being processed, and figure out where they are stuck, to take immediate action. 
Process mining is used to do root cause analysis, and dynamically discovers the process model by looking at all the (low-level) events captured at runtime across systems (even for unstructured processes).  It allows you to filter on various properties of the live running instances and then allows you to see the process model for this selection, to detect issues with this subset.  You can then define additional KPIs to easily keep track of these instances.
Process Intelligence
Signavio presented a new component related to process analysis.  After uploading various logs and defining KPIs, it will perform an analysis and show dashboards that allow you to drill down into the details.  The data can be overlaid on top of the process model to for example show most used paths, deviations from the process model, etc.

Leveraging cognitive computing amd decision management to deliver actionable customer insight
Princeton Blue showed their cognitive computing solution that monitors customer events (from for example social media or other unstructured data) to combine it with BPM, BRMS and CEP.  Pramod used an elaborate example that used data collected from customer profilies and twitter feeds and rules and event processing to analyze this.  Based on IBM Watson they were able to categorize user sentiment as positive, negative, angry, etc. (and he mentioned that open-source like Drools could also be used as rules and complex event processing engine as an alternative).

Dealing with digital disruption
Jim Sinur talked in more depth about digital transformation, which companies cannot ignore if they want to stay relevant in the future (as it's going to happen anyway).  But this digital transformation introduces disruption on multiple levels, with strong demand for continuous business agility and change.  His advice was to focus on differentiating features for your business.  And you'll inevitably end up with legacy and new working together (at least short-term).  And process might be the secret sauce of digital business.

Now we're off to the roof for some whine tasting, and no doubt continue the discussions.

Tuesday, April 19, 2016

bpmNEXT 2016 (part 1)

This year, I'm attending bpmNEXT for the first time.  

It a nice conference, currently the 4th year, where BPM vendors, analysts and researchers collectively show their innovation, vision and research and discuss among each other.
Now in its fourth year, bpmNEXT is the definitive showcase of the next generation of Business Process Management software – including intelligent operations, the Internet of Things (IoT), case management, business decision management, and goal-directed processes.
bpmNEXT has consistently been the defining launch pad for the ideas and innovations surrounding technology-led business process innovation. Presentations are not case studies of past successes, but vision statements on where we need to go next.
This is no typical “how to” conference aimed at BPM newcomers. It is designed specifically for those already chest deep in BPM and wanting to get in early on the next generation of process innovation technology – touch it, see it, and influence it.
- See more at: http://www.bpmnext.com/#sthash.Q0RZDMoe.dpu
I'm presenting on 'Case-driven applications' on the second day, but looking forward to see what others have planned as well.  And the discussions and networking around it of course, probably one of the best selling points of this conference (although the Santa Barbara location comes close as well ;)).

Here's a quick overview (from my point of view) about some of the key topics of the first half of day 1.

BPM 2016-2020
Bruce Silver and Nathaniel Palmer are kicking off, with an outlook for the next 5 year, how all companies (and he gave Tesla as a prime example) are becoming software companies, where there's increasing focus on process and the battle for the end user is turning into a battle of easy-to-use UIs (not UI, but a combination of multiple different UIs).

Schroeder's BPM revisited
Neil Ward-Dutton talked about digital transformation, as a digital thread that you have to weave globally across your entire organization (and even outside that boundary to customers) that focuses on decisions, agility, etc.  There's need for a platform to manage your knowledge efficiently.  And BPM offers a lot of building blocks to achieve this, but maybe it's time to think about rethinking / repackaging some of this to focus on the customer's bigger picture.

Positioning Business Modeling
Panel: Clay Richardson, Denis Gagne, Kramer Reeves (Bruce Silver moderator)
BPM modeling can no longer be seen as something separate, as when talking about modeling there's other areas like modeling cases, decisions, organizations, KPIs, etc. and they are all related.  Is this 'business modeling' and how do we bring them together, how do we as vendors sell this story to analysts and customers?
  • Incredible appetite from business analysts for building (almost any kind of) models to quickly prototype
  • How do we measure ROI?
    • BPM has operational automation benefits
    • Is it about speed to market?
    • Capturing knowledge in a standardized way (for long-term sustainability)
  • Is the BPM approach sustainable?  Can we keep adding more models / adding more capabilities as minimal requirements to BPM products?
  • Aren't some models throw-away (high-level communication vehicles rather than operational model)?
While there's no clear answers on some of these questions, I guess the consensus seemed to be that we can all work together on this to make a bigger pie for all of us.

Building a Value-Added BPM Business
Panel: Pramod Sachdeva, Scott Francis, Jonathan Sapir (Nathaniel Palmer moderator)
How, from a customer's point of view, is the market changing?  What are customers looking for?
  • Customers are looking for much more than just a process, they are looking for complete solutions.
  • Is BPM shifting, or are the applications that we are building with BPM shifting?  Are BPM products growing or are they becoming part of a bigger ecosystem?
  • Can we get end users more involved?  Can everyone (end users, developers, QE, etc.) each participate at their level? What is preventing this, as this isn't purely a technological issue.
  • What skillsets are required when looking for business analysts or IT to be involved in such an effort?
  • We need to be realistic about what end users can change, by constraining what they can change we might be able to allow them to do so.  For example by extracting decision logic in rules (that could be updated).
  • We want to give users a low-code environment where they can take control.