Adhoc workflow with Activiti: introducing Activiti KickStart

(for those with a limited attention span: there is a screencast at the bottom!)

2010 was awesome. We had the launch and explosive growth of Activiti in ways that none of us were able to forecast when we started the Activiti-adventure. 2011 will continue to amaze, no single doubt about that. To kick of this 2011-amazement-rollercoaster-ride, I’m very proud to introduce the latest addition to the Activiti platform: Activiti KickStart.

What’s this all about?

KickStart grew out of the idea that each and every company has processes that are done in an adhoc way. These are processes that are ‘discovered’ on the fly: some people want to collaborate or a certain document needs to be handled in a specific order by different departements. A BPM platform such as Activiti is a well-suited solution to achieve this, but the threshold and cost to actually model, deploy and execute these kind of processes in the traditional sense is way too high.

Activiti KickStart gives you a simple and intuitive UI that allows you to create such processes in a matter of minutes. No need to model anything, no need to actually know or understand BPMN, no need to do any coding, … KickStart really and seriously lowers the threshold to automate your workflow processes.

The processes created with KickStart are directly deployable to the Activiti repository. They are also immediately usable in Activiti Explorer, and they are fully BPMN 2.0 compliant, which means they can be edited in any modeling tool that understands the BPMN 2.0 file format. And best of all, the workflows can be edited at any time, truly honoring the adhoc nature of these processes.

Activiti KickStart in action: defining an expense process in a matter of a few clicks

What can I do with it?

  • Adhoc workflow: often, coordination is required between different people or groups in a company. You know how it normally goes: sending an email here, doing a telephone there … which often ends up in a mess of nobody knowing what or when something needs to be done. However, a business process management platform such as Activiti is an excellent way of distributing and follow-up everything, as it is intended to track exactly such things. KickStart allows you to create processes for adhoc work in a matter of minutes, and distribute and coordinate tasks between people easily.
  • Prototyping/Proof-of-concept: before diving into complex BPMN 2.0 modeling and thinking about all complex aspects of , it is often wise to get all people involved aligned and work out a prototype that shows the vision of what needs to be done. KickStart allows to do exatcly that: create a business process prototype on the fly, to get your ideas visible for everyone.
  • Simple processes: some processes are just simple by nature, and every company has them. Think about an expense process, a holiday leave process, a hiring process, etc… These kind of processes are probably already being done using paper or e-mail. KickStart allows to model these processes quickly and change them whenever it is needed. As such, KickStart really lowers the threshold to automate these business processes.

Obviously, you are not limited to these use cases. As history proves, people always tend to use and enhance these things in ways we can’t image today :-).

When can I use it?

Activiti KickStart is available today! It is part of the freshly released 5.1 release, and installed by default if you run the Activiti demo setup. Just visit activiti.org and download the latest release, we’re open source after all :-).

Note that KickStart is by no means ‘finished’ (which software product ever is). But in the Activiti and open source way of doing things, we want to show you as early as possible what we’re cooking. Using the feedback, ideas and contributions of you and the rest of the Activiti community, KickStart will grow and mature in a way no commercial vendor can keep up with us.

Screencast

A picture is worth a 1000th words, so a movie will definitely be able to show you the power and ease of Activiti KickStart.

13 Comments

  1. Yuri January 5, 2011

    Hey Joram, I see you are using Vaadin for the first time here.
    It is a good decision. Maintaining and extending Java code is hundred times easier.

    We started using it in our company too and like what we’ve seen so far.

  2. […] none of us were able to forecast when we started the Activiti-adventure. 2011 will continue… [full post] Joram Barrez Small steps with big feet activitialfrescobpmbpmn 0 0 […]

  3. Lim Chee Kin January 5, 2011

    Hi Joram,

    Congratulations to the 5.1 released! I like the Activiti KickStart!

    Regards,
    Chee Kin

  4. Lim Chee Kin January 5, 2011

    Following the 5.1 released, I would like to announce the Grails Activiti Plugin 5.1 released. Kindly visit Project Site and Documentation at http://code.google.com/p/grails-activiti-plugin/.

  5. David Noble January 5, 2011

    It’s great to see Activiti going this direction with KickStart. Over the summer, I built a prototype along similar lines that allowed people to create more complex processes with an AJAX web app, including branches and loops. The web app also included some domain-specific stuff as well. In this case, the domain is mission operations at NASA/JPL. I’ll be watching closely, and hopefully will find a way to share some of my work as well.

  6. Joram January 6, 2011

    @David: sounds interesting. My main concern is to make KickStart as powerful as possible, without loosing simplicity in the UI. So if you could share your approach, that would be awesome!

  7. xargs January 8, 2011

    Great work indeed. The important features required in my environment would be auto-completion of the assignee from AD/LDAP, and a rich easy to extend types/validators. e.g. a request approval process for joining an AD group for example.

  8. Bernd Ruecker January 9, 2011

    Hey Joram.

    Cool stuff :-) Just a quick remark: What KickStart is doing is not, what the BPM world currently defines as Ad-Hoc. Ad-Hoc means, you decide stuff ad-hox during an instance (like the BPMN AdHoc stuff) or have completely unstructured processes. To avoid misunderstandings I wouldn’t use this term in that context…

    Cheerio
    Bernd

  9. […] Подробнее об Activiti KickStart можно почитать в блоге одного из разработчиков Activiti Small steps with big feet […]

  10. Stijn Goedertier January 19, 2011

    Joram,

    I am evaluating Activiti for a prototype and I like the KickStart stuff. However, I agree with the comment of Bernd Ruecker. KickStart does currently (5.1) not allow modifying an existing instance at run-time, e.g. by coordinating an ad-hoc subprocess (BPMN). Run-time flexibility is a far more important use case than the ones mentioned. However, I hope that some of the features of KickStart could be used to realize “pockets of flexibility” within a larger workflow in a next version, provided that the jBPM engine has this flexibility. For some good inspiration, read “Pockets of Flexibility in Workflow Specification” by Shazia Sadiq.

    Stijn

  11. Joram January 20, 2011

    @Bernd/Stijn:

    I understand the confusion the concept ‘adhoc’ generates. However, the primary use case of KickStart is for people that don’t know any BPMN to get going. I don’t know any other concept that covers ‘sit down and configure your process without learning anything’ as good as ‘adhoc’. However, if you have suggestions, I would be very happyh to hear them.

    @Stijn: you can use the processes created by KickStart in larger, complex processes by using the call activity of BPMN.

  12. Star.GMS November 8, 2011

    I’ve tried Activiti Kickstart, it’s great, but a have a question about it: can I edit the order of the tasks (Ex: I want to move the 3rd task up to 1st task)?

  13. Joram November 8, 2011

    Not through drag/drop at this moment … I agree it would be a very good addition!

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>