Showing posts with label Activiti. Show all posts
Showing posts with label Activiti. Show all posts

Friday, September 07, 2012

WYDIWYE or WY-CAN-DIWYE challenge

Folks I see that there is a lot of confusion between my WYDIWYE and yours WYDIWYE.

From my experience, I have seen tons of BPMN models modeled in Visio / Signavio / ARIS and the user expects these models to execute on a BPMN 2.0 engine.  Alas, execution is when the real WYDIWYE challenge comes out. (There are tools that compile process models to other execution languages, for example to Java. )   It’s quite likely that unless you have severely limited your modeling richness, that your compiler will reject your process model! Does your tool truly support WYDIWYE?  Which is to say, does the product you are using support your business process pattern?  Or are you limited in the patterns you can choose to run your business?

Maybe we should call the feature in question “WYCDIWYE”, where the “C” stands for “can”, as in “What-You-Can-Draw-Is-What-You-Execute. Which workflow patterns does your tool support?

Regardless of political affiliation, where modeling freedom is concerned, Roubroo users can all quote Barack Obama - "Yes we can!"

Friday, August 31, 2012

Case for ACM using BPMN?


Reading through Adam  Deane's post and comments I realized its important to understand where the industry is headed without the three letter acronym jargon. And more importantly, how can folks leverage the work done to build existing specifications. I very much appreciate the real world examples Adam listed. I saw the commentators telling what ACM is not - I want to hear what it is. Thanks to Max for giving such a good list of what to expect from an ACM:
And my comments follow the "-"
A) business performers can create the processes to meet well defined goals.
- Well who can argue with that - and that is true for any process; the process owner should "OWN" the process. WYDIWYE is critical must have. Dont shoe horn the process to fit what the tool can do.

B) processes are signed off by the process owner and rated by customers.
- Absolutely - it means other folks that consume the process must agree with the definition of the process.

C) They can follow a flow but do not have to.
- When they dont follow a flow what do they do? My point is whether we like it or not, there is a flow.

D) They can be modified during execution where allowed.
- Absolutely. I am assuming the question here is whether you allow state changes or also allow definition changes.

E) Goal completion can have very strict criteria.
- It should have a measurable criteria.

F) Modified processes can be saved as new templates. (adapted)
- Absolutely - in CS corridors  the word is versions.

G) each process instance can be audited.
- Absolutely true. If an instance cannot be audited then we are generating code and reverse engineering audit info from code to tie back to the process initially created.

H) linked objectives and targets allow business perfomance monitoring.
- The key performance indicators should be linked with business performance.

Well a product can do all of these, it can use BPMN as a notation to track what is happening?  Would we call it BPMS, Dynamic BPM, Intelligent BPM or ACM ...? Check out Bruce Silver's review of Roubroo.

Thursday, August 23, 2012

Cloud demands a new way to run Business Processes


My invoices / purchase orders / quotes / leads are stuck!
Does any of these sound familiar? Have your ever had a situation when you are working with a cloud service and another application and you realize that your business is stuck somewhere in between because of an IT issue either on your IT or the cloud providers IT? How many times you have been interrupted because xForce upgraded their API or your ERP was undergoing maintenance or the DB went down over the weekend towards the end of the quarter – just when you needed it the most and you could not provide that crucial analysis or report.
If any of these scenarios strike a chord then you are looking at the new way of doing your IT business.  Where services will go down or will  do an upgrade with or without notice and you have to redo some steps while not redoing others – sounds familiar? I want to push all my quotes again to SalesForce, but I don’t want to submit all the invoices again into my SAP. Welcome to a world where when you define a business process, it may not work exactly as expected because of a myriad of reasons – some you can control some you cant. How do we get around these? We have seen the argument of on-premise vs on-cloud play out and currently the answer lies somewhere in between. And that is going to be the reality of our world for at-least the next decade.  How do we prepare ourselves for this reality and ensure that we are not sitting in conference calls between Friday and Sunday AM.
What you need is a solution that lets you make these various applications talk to each other and be prepared to hold the line when one of the parties is not reachable. Also it must allow for reconnection when the call drops – almost all of the things that you expect from … common sense!
I remember talking to a tire selling company last year when they had put a system in place which was holding a few hundred  of invoices in flight but there was no way to move them forward. Engineers on both sides spent hours trying to “fix it”, understand how we got there in the first place but it was a tedious task. Those invoices were critical for the sales team to hit their monthly target but there was little respite from the “system” issues.
When we started building out the next generation business process platform, we were acutely aware of these requirements. Our belief was confirmed when talking to our early adopter customers that they have this pain and it is a recurring pain. Therefore, we built a very agile business process engine which can react to such events as and when they occur. Earlier research around BPMN execution semantics came in handy for our design. And the result was Roubroo – a light weight, cloud based graph enabled business process platform which could execute structured and unstructured processes, accommodate ad-hoc process definition and instance state changes with a WYSIWYG control – much like the control panels in more evolved machines like Hydroelectric plants – more on this another time.

Saturday, July 07, 2012

Crossing the chasm

What do businesses do? Or what makes the businesses successful.
The ability to deliver a  quality product (goods / services) efficiently  and consistently. The reason why Walmart is such a phenomenal success as a business is because it can deliver a specific product efficiently, hence at a cheaper price, than any other competitor. Success in business means being efficient and have economies of scale. And I can speak some more here but lets desist the temptation:
Why did I start with the above because a business is a business so that it can deliver "" repeatedly. We have annual IT budgets that run into billions so that businesses can execute their function - deliver a specific product to their customers again and again. The importance of the word repeatedly and again is where I am going with the reason why businesses need business processes. Whether they execute in a person's mind ( a SMB owner) or in a BPM system, there are business processes that repeat on a daily basis so that business can deliver the product or service custoemrs expect. Making these processes efficient and improve them rapidly is the goal of every CEO.

At the same time, there are professionals who have to deal with unique problems everyday - a doctor tending to a patient in ER, a lawyer dealing with a criminal case, a golf player on Pebble beach golf course with El Nino winds for a change...most of these examples are unique and being able to document each of these processes might :

1. Defeat the purpose (the patient might die) while the process is being documented.
2. Wont be cost effective - a doctor documenting the case (not patient history notes) and how he arrived at the differential diagnosis and then choose a specific antibiotic over another will not be cost effective as this decision making intellect has been honed over at least 10 years of med school and practice thereafter. It would be impractical to design for every permutation and combination.
3. It would not be repeated - I dont think the speed and direction of the wind at pebble beach is going to be the same again.
4. Each of these is unpredictable, you never know what to expect.

I think that the reality of businesses lies somewhere in the middle of these two. There may be certain processes which are so mundane that any investment would be a kill (and I wont give an example on purpose); there are certain processes critical and core strength of the organization, the procurement process for an automotive manufacturer, or order to cash come to mind immediately, which can benefit from a BPM approach. Even within these critical processes, 60-80 percent of instances follow a well defined path ,depending on maturity model of the organization, certain instances may need adaptive processes or segments thereof, or processlets as I would call them, and then again there are cases which happen in rare instances. 
As a CIO where should I put my money in - 
a) in those 60-80% process instances which can be automated, done faster better and cheaper; 
b) in those 20-15% instances where parts of the process are defined but not the whole process, 
c) or in those capabilities which are rare and in between - wherein even after the investment I might find that it was insufficient.
I think the choice is really between 1 and 2. But what if, <...pause>, there is a software that can do both. One that can execute my 60-80% process instances, support cheaper operational models for these, continuously measure performance of key tasks, improve  the process based on feed back ....
AND  with the turn of a switch, take those specific 20-15% instances and create an adaptive process model, modify them on the fly and execute segments of process as and when needed.
Time for my sales hat - please feel free to ignore
Fortunately, such a system exists and that is called Roubroo. It lets you model your business processes using BPMN 2.0 - executes them as per the semantics defined and alo lets you modify specific instances as and when needed. Please reach out to intro@roubroo.com for details.







Sunday, April 01, 2012

Activiti - PVM - a closer look

Recently a team member pointed me to this white paper evaluation of PVM - the process virtual machine which is the heart of jBPM and Activiti. Apparently, the support for various patterns is pretty week in PVM:
Who is betting the future of their workflow on Activiti? Take a deep look at Roubroo

Maturing BPMS to Case management

http://www.bpminstitute.org/resources/six-features-look-bpms-support-case-management-processes

This article is an excellent summary of what to look for in a BPMS that can allow for the flexibility of supporting case management. The ideal solution which kill two birds with one shot. It will create a set of defined process(s) for the 90 % of throughput but will also allow to turn this into a case for the remaining 10%