<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BPM-Guide.de</title>
	<atom:link href="http://www.bpm-guide.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bpm-guide.de</link>
	<description>It's Business Process Management</description>
	<lastBuildDate>Wed, 01 Sep 2010 09:28:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Article in Computerwoche about BPM-Software</title>
		<link>http://www.bpm-guide.de/2010/08/31/article-in-computerwoche-about-bpm-software/</link>
		<comments>http://www.bpm-guide.de/2010/08/31/article-in-computerwoche-about-bpm-software/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 21:41:44 +0000</pubDate>
		<dc:creator>Jakob Freund</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Activiti]]></category>
		<category><![CDATA[BPM-Software]]></category>
		<category><![CDATA[BPMS]]></category>

		<guid isPermaLink="false">http://www.bpm-guide.de/?p=1495</guid>
		<description><![CDATA[Computerwoche is one of the most read magazines for IT-Professionals in Germany (I would actually assume it is THE most read one), and therefore I was quite happy I could contribute an article about BPM-Software to their last edition. Well, the article is in German, of course, but if you are brave enough you will [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bpm-guide.de/wp-content/uploads/2010/08/cw_bpm-123x150.PNG" alt="cw_bpm" title="cw_bpm" width="123" height="150" class="alignleft size-thumbnail wp-image-1511" /></p>
<p><a href="http://www.computerwoche.de">Computerwoche</a> is one of the most read magazines for IT-Professionals in Germany (I would actually assume it is THE most read one), and therefore I was quite happy I could contribute an article about BPM-Software to their last edition. Well, the article is in German, of course, but if you are brave enough you will <a href='http://www.bpm-guide.de/wp-content/uploads/2010/08/cw33-s14-17.pdf'>download the PDF</a> and try to read it anyway <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  If not, here comes the core message of it: I divided BPM-Systems into the categories &#8220;pure play&#8221;, &#8220;embedded&#8221;, &#8220;saas&#8221; and &#8220;open source&#8221;. I consider that useful, although there can be overlappings such as an open source &#8211; BPMS that is embedded into a commercial product like an CRM or ERP. Then I thought about the future of commercial pure play BPMS and came to the result, that a shift of market shares is likeley, boosting the relevance of both Open Source BPM and SaaS BPM at the expense of &#8220;classical&#8221; on premise, closed source BPM products, which was also one of the reasons for our engagement in the <a href="http://www.Activiti.org">Activiti project</a>. </p>
<p><span id="more-1495"></span></p>
<p>One of the main reasons behind that shift is that Open Source gives you more control over your technical BPM-Infrastructure and therefore less vendor-lock-in, especially if the OSS Stack does not require your Engineers to learn proprietary ways of implementing process applications, but let them do all that with their Java skillset plus BPMN (which is a standard and therefore not vendor specific). This makes OSS the perfect choice for supporting processes that implement your core competences and strategic USPs, while you can go for out-of-the-box SaaS-Solutions for processes that are &#8220;just&#8221; supporting your core processes, e.g. in HR, Accounting, Helpdesk or similar things (well, depends on your company, of course&#8230;). However, that OSS based BPM-strategy works only out if you do have a strong Java team in your company, no doubt about that. Well, I did not say that EVERY company is heading that way, but I am expecting or actually experiencing quite a few companies doing that already, e.g. based on JBoss jBPM. </p>
<p>So, the bottom line is: OSS BPM is not necessarily cheaper, but it makes you more independant, if you fulfill the prerequisites (<= qualified Java Resources).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpm-guide.de/2010/08/31/article-in-computerwoche-about-bpm-software/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Activiti Cycle explained</title>
		<link>http://www.bpm-guide.de/2010/08/27/activiti-cycle-explained/</link>
		<comments>http://www.bpm-guide.de/2010/08/27/activiti-cycle-explained/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 16:27:56 +0000</pubDate>
		<dc:creator>Bernd Rücker</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Activiti]]></category>

		<guid isPermaLink="false">http://www.bpm-guide.de/?p=1532</guid>
		<description><![CDATA[As I blogged earlier this day the first preview version of Activiti Cycle is on its way. I want to take this opportunity to give you some technical insights into Cycle and to explain some basic ideas behind it. If you are interested in the vision, I recommend to visit the Activiti Cycle Homepage, my [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_1536" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot1.png"><img class="size-thumbnail wp-image-1536" title="Screenshot of the Cycle GUI" src="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot1-150x101.png" alt="Screenshot of the Cycle GUI" width="150" height="101" /></a><p class="wp-caption-text">Screenshot of the Cycle GUI</p></div>  As I <a href="http://www.bpm-guide.de/2010/08/27/done-first-activiti-cycle-preview-out/">blogged earlier this day</a> the first preview version of <a href="http://www.activiti.org/cycle.html">Activiti Cycle</a> is on its way. I want to take this opportunity to give you some technical insights into Cycle and to explain some basic ideas behind it. If you are interested in the vision, I recommend to visit the <a href="http://www.activiti.org/cycle.html">Activiti Cycle Homepage</a>, my <a href="http://www.infoq.com/articles/collaborativeBPM">infoQ article about camunda fox</a>, or the <a href="http://fox.camunda.com/">camunda fox Homepage</a>.<br />
<span id="more-1532"></span> </p>
<p>On the left you see a first screenshot of the Activiti Cycle web application. There you have a tree view of repositories. The basic idea is, that you can access different types of repositories here in one unified tree. For the first release we concentrated on file system, Activiti Modeler and Signavio Modeler Repository. But actually our main goal was to create a good API for repositories, so that we can add other repositories later on easily, e.g. SVN. And you could even do that on your own for whatever you need. In the screenshot you can see that I included multiple <a href="http://www.signavio.com/de/produkte/process-editor-as-a-service.html">SaaS-Signavio-Accounts</a>, possible as well <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  For the next iteration we plan some thinking on tags and virtual folders, to structure that tree more easily even if the amount of repositories and folders is growing.</p>
<p>When clicking on one item &#8211; we call it artifact &#8211; you can see details on the right. These details differ depending on the type of artifact. A BPMN model maybe wants to show the diagram, for Powerpoint slides you may want to see a preview, XML code may need some highlighting and so on. We call these kind of detail views content representation, and an artifact can have multiple ones, in the example to the left you can see, that a BPMN model currently has 4 representations: The image, the Signavio JSON sourcecode, the BPMN 2.0 XML and some BPM 2.0 XML made more readable for the developer.</p>
<p><div id="attachment_1537" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot2.png"><img src="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot2-150x112.png" alt="Action with form to create technical model in other repository" title="Action with form to create technical model in other repository" width="150" height="112" class="size-thumbnail wp-image-1537" /></a><p class="wp-caption-text">Action with form to create technical model in other repository</p></div>  For every artifact you have some actions you can execute, some links you may use or some downloads. Again, these things can be easily extended or added, our first goal was to provide a good infrastructure to get that working. The example I added as screenshot on the left is to copy the developer friendly BPMN XML from the Modeler repository to the file system. In the background, a link between the two models is created and saved (okay, actually persisting that link is not yet finished due to some bigger refactoring of persistence in Activiti, but it is scheduled for the next released). This supports a development approach, where business process model and technical process model could be kept in sync (something we already stressed a couple of times in this blog).</p>
<p><div id="attachment_1538" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot3.png"><img src="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot3-150x106.png" alt="Comparision between raw and developer friendly BPMN" title="Comparision between raw and developer friendly BPMN" width="150" height="106" class="size-thumbnail wp-image-1538" /></a><p class="wp-caption-text">Comparision between raw and developer friendly BPMN</p></div>  When creating the technical model, we can influence the mapping easily. The optimal case would be, that the BPMN 2.0 XML from Signavio is executed as is. I actually don&#8217;t really believe this is a good idea and <a href="http://www.bpm-guide.de/2010/06/06/why-you-may-want-a-mapping-in-your-bpmn-roundtrip/">blogged about why</a> a couple of months ago. In the current beta1 of Activiti Cycle I have a very easy example. Even if this could have been solved by Signavio directly as well, it is a nice showcase, what you can easily hook in in cycle. Signavio is a tool for business process modeling, so the primary focus is not XML source code. That&#8217;s why they don&#8217;t have to care that element id&#8217;s are random unique ids (like &#8220;4DD85C61-62D1-401D-88B9-2B9D8BC93D83&#8243;). But for the developer now really working with the XML source file it is a hazzle to have these id&#8217;s instead of human readable names. Well, no problem for a quick transformation in cycle <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  On the left you see the both versions compared. Not that cycle currently replaces all names nicely, but it shows that this can be easily hooked in. And you could do that yourself by writing a simple class and use the Plug-in mechanism!</p>
<p><div id="attachment_1540" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot5.png"><img src="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot5-150x101.png" alt="The camunda fox jBPM 3 plugin is automatically integrated" title="The camunda fox jBPM 3 plugin is automatically integrated" width="150" height="101" class="size-thumbnail wp-image-1540" /></a><p class="wp-caption-text">The camunda fox jBPM 3 plugin is automatically integrated</p></div>  Speaking of which, the Plug-in mechanism is something I really like very much. Even if that was the first try and needs some refactoring, it allows you to drop a jar in your classpath and Cycle can add whole repository types, artifact types, actions or content representations. Everything is controlled by simple annotations. The example I want to stress is our camunda fox jBPM 3 mapping we use at different customers. This can create a jBPM 3 process model out of BPMN models. The customers even add own patterns in this transformations (like &#8220;in our application User Task means calling EJB XY to create a case for the help desk&#8221;). And this can be dropped into Cycle and appears magically at the right places. I love it <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><div id="attachment_1539" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot4.png"><img src="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot4-150x101.png" alt="Process Models can be validated for executability" title="Process Models can be validated for executability" width="150" height="101" class="size-thumbnail wp-image-1539" /></a><p class="wp-caption-text">Process Models can be validated for executability</p></div> And last but not least we added an action to validate the BPMN 2.0 XML with the Activiti Engine, exactly like it is done during deployment. It took me just 5 minutes to write! So you always can check directly within the GUI if the current model is deployable.</p>
<p>Okay, overall the current features may not seem overwhelming, but as I already mentioned now we have a good, extensible foundation. Even if we scheduled some bigger refactorings for the next iteration, I think we are on the right track. And once we have this basis stable, we can do the really fancy and cool stuff. And we will <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  The release of Activiti 5.0.beta1 is on Wednesday September 1st, so I can just recommend to download it and try it out yourself! And don&#8217;t forget to give us feedback&#8230; But maybe don&#8217;t dig too deep into the code yet, as some stuff is still subject to change.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpm-guide.de/2010/08/27/activiti-cycle-explained/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Done! First Activiti Cycle preview out</title>
		<link>http://www.bpm-guide.de/2010/08/27/done-first-activiti-cycle-preview-out/</link>
		<comments>http://www.bpm-guide.de/2010/08/27/done-first-activiti-cycle-preview-out/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 12:11:01 +0000</pubDate>
		<dc:creator>Bernd Rücker</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Activiti]]></category>

		<guid isPermaLink="false">http://www.bpm-guide.de/?p=1498</guid>
		<description><![CDATA[In May this year we announced camunda fox as open source platform with the focus on Business-IT-Alignment leveraging BPMN. We announced Version 1.0 ready for August 2010. Now we have August, and we have something ready   
But actually things have changed a bit. After announcing fox, I had a longer discussion with Tom [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleLogo.png"><img class="alignleft size-full wp-image-1522" title="CycleLogo" src="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleLogo.png" alt="CycleLogo" width="162" height="36" /></a>In May this year we announced <a href="http://fox.camunda.com/">camunda fox</a> as open source platform with the focus on Business-IT-Alignment leveraging BPMN. We announced Version 1.0 ready for August 2010. Now we have August, and we have something ready <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  <span id="more-1498"></span></p>
<p>But actually things have changed a bit. After announcing fox, I had a longer discussion with Tom Baeyens, the project lead of <a href="http://www.activiti.org/">Activiti </a>and the former project lead of <a href="http://www.jboss.org/jbossjbpm/">JBoss jBPM</a>. We know each other since I think over 5 years now (wow, time passes!). And we figured out we had pretty similar visions in mind. Tom and me agreed, that it would be a perfect synergy, if we put the energy and ideas planned for camunda fox into <a href="http://www.activiti.org/cycle.html">Activiti Cycle</a>, the component of the Activiti BPM platform designed for collaboration, development process and Business-IT-Alignment. Hence we took over the lead for this component and were busy the last months to migrate existing code to Activiti and get started there.</p>
<p>But now I am pretty happy with this situation. We can concentrate completely on the fox/Cycle ideas and everything is embedded in the quite creative Activiti Team. And the best is: With the coming Activiti 5.0.beta1 on September 1st, we can ship the first preview of Activiti Cycle! So this is not camunda fox 1.0, but at least we keep our promise to ship <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  And actually the whole migration and learning curve for new technologies like Spring SURF for the GUI took us the time, in which we would have done fox <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div id="attachment_1529" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot.png"><img class="size-thumbnail wp-image-1529" title="First Cycle Screenshot" src="http://www.bpm-guide.de/wp-content/uploads/2010/08/CycleScreenshot-150x101.png" alt="First Cycle Screenshot with fox jBPM Plugin" width="150" height="101" /></a><p class="wp-caption-text">First Cycle Screenshot with fox jBPM Plugin</p></div>
<p>But it was worth the investment, Activiti Cycle is embedded in the Activiti BPM platform, but not tied to it. Actually we already have a working project with using Activiti Cycle together with a jBPM 3 Engine <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . And the very liberate Apache license may boost usage possibilities. In camunda fox remain some special features: <a href="http://www.bpm-guide.de/2010/04/17/abstracting-the-process-engine/">PEAL &#8211; The Process Engine Abstraction Layer</a> (doesn&#8217;t make sense to have an abstraction layer inside an engine) and BPMN to jBPM 3 transformations (some information on that <a href="http://www.bpm-guide.de/2010/05/27/making-the-bpmn-roundtrip-real/">here</a>), which use LGPL based code that cannot be included in Activiti. But the nice thing is, the camunda fox features can be easily used as Plugins in Activiti Cycle (see Screenshot), cool eh? Currently I am writing a separate blog post to show some first Screenshots and Features, stay tuned for it!</p>
<div id="attachment_1515" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/08/ActivitiCycleTeam2.png"><img class="size-thumbnail wp-image-1515" title="ActivitiCycleTeam" src="http://www.bpm-guide.de/wp-content/uploads/2010/08/ActivitiCycleTeam2-150x121.png" alt="Activiti Cycle Team" width="150" height="121" /></a><p class="wp-caption-text">Activiti Cycle Team</p></div>
<p>So long I want to thank the Activiti Cycle Team at camunda to make the beta1 release happen, even if it involved some night shifts. And thanks to the whole Activiti Team for support! Finally we could proudly present Activiti Cycle in time. So now we have the foundation, let&#8217;s change history with it <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Or maybe I should get some sleep first&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpm-guide.de/2010/08/27/done-first-activiti-cycle-preview-out/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BPMN 2.0 by Example now on BPMN.org</title>
		<link>http://www.bpm-guide.de/2010/08/24/bpmn-2-0-by-example-jetzt-auf-bpmn-org/</link>
		<comments>http://www.bpm-guide.de/2010/08/24/bpmn-2-0-by-example-jetzt-auf-bpmn-org/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 21:39:15 +0000</pubDate>
		<dc:creator>Jakob Freund</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[BPMN]]></category>

		<guid isPermaLink="false">http://www.bpm-guide.de/?p=1486</guid>
		<description><![CDATA[It took some time, but now you can find the official &#8220;BPMN 2.0 by Example&#8221;-Document on BPMN.org. The direct link is 
http://www.omg.org/cgi-bin/doc?dtc/10-06-02
Besides our example concerning the incident management process that I have already blogged about, it contains a small introduction into the basic principles of working with BPMN (Chapter 5: Small examples introducing core concepts). [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bpm-guide.de/wp-content/uploads/2009/06/istock_000005562817xsmall-150x120.jpg" alt="Schreibmaschine" title="Schreibmaschine" width="150" height="120" class="alignleft size-thumbnail wp-image-130" /></p>
<p>It took some time, but now you can find the official &#8220;BPMN 2.0 by Example&#8221;-Document on BPMN.org. The direct link is </p>
<p><a href="http://www.omg.org/cgi-bin/doc?dtc/10-06-02">http://www.omg.org/cgi-bin/doc?dtc/10-06-02</a></p>
<p>Besides our example concerning the incident management process that I have <a href="http://www.bpm-guide.de/2010/07/15/bpmn-2-0-am-beispiel-incident-management/">already blogged about</a>, it contains a small introduction into the basic principles of working with BPMN (Chapter 5: Small examples introducing core concepts). </p>
<p>On top of that there are quite interesting examples about the serialization of BPMN-diagrams and the according diagram interchange between BPMN modelers, and more complex diagrams are demonstrated, like the famous Email-voting example. </p>
<p>I consider the document rather useful for getting a first but profound impression of BPMN.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpm-guide.de/2010/08/24/bpmn-2-0-by-example-jetzt-auf-bpmn-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Praxishandbuch BPMN &#8211; 2nd edition available in September</title>
		<link>http://www.bpm-guide.de/2010/08/06/praxishandbuch-bpmn-2-auflage-ab-mitte-september/</link>
		<comments>http://www.bpm-guide.de/2010/08/06/praxishandbuch-bpmn-2-auflage-ab-mitte-september/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 07:56:46 +0000</pubDate>
		<dc:creator>Jakob Freund</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[BPMN]]></category>

		<guid isPermaLink="false">http://www.bpm-guide.de/?p=1449</guid>
		<description><![CDATA[Our &#8220;Praxishandbuch BPMN&#8221;, the practical guide for working with BPMN, has become quite successful. Published in January 2010, the first edition has been already sold out in July. This and the fact that BPMN 2.0 has been finalized encouraged us (and our publisher, Hanser Verlag) to update the book and publish a second edition. Unfortunately, [...]]]></description>
			<content:encoded><![CDATA[<p>Our &#8220;Praxishandbuch BPMN&#8221;, the practical guide for working with BPMN, has become quite successful. Published in January 2010, the first edition has been already sold out in July. This and the fact that BPMN 2.0 has been finalized encouraged us (and our publisher, <a href="http://www.hanser.de">Hanser</a> Verlag) to update the book and publish a second edition. Unfortunately, it is still only available in German. We actually tried to order a translation into English from an agency, but the work samples they provided could not convince us. I think, you must be into the topic to write a good specialist book, even if you are only translating it. However, at camunda none of us can spare enough time to do that, so unless a native speaker shows up willing to do the translation, and convincing us that he or she is actually able to do a really good one, this book remains German. </p>
<p>But if you want to get an easy to read guide about how to apply BPMN with loads of best practices based on massive project experiences, AND you are looking for the perfect book to improve your German, hang on until the middle of september and get the second edition freshly from <a href="http://www.Amazon.de">Amazon.de</a> <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . </p>
<p><span id="more-1449"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpm-guide.de/2010/08/06/praxishandbuch-bpmn-2-auflage-ab-mitte-september/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BPMN 2010 in Potsdam</title>
		<link>http://www.bpm-guide.de/2010/08/05/bpmn-2010-in-potsdam/</link>
		<comments>http://www.bpm-guide.de/2010/08/05/bpmn-2010-in-potsdam/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 12:05:15 +0000</pubDate>
		<dc:creator>Jakob Freund</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[BPMN]]></category>

		<guid isPermaLink="false">http://www.bpm-guide.de/?p=1444</guid>
		<description><![CDATA[In the beginning of October, I will be attending this year&#8217;s BPMN-conference in Potsdam, Germany. I consider it rather interesting, because there will be talks about scientific research as well as hands-on-sessions given by BPMN-practitioners, like Vattenfall, Ebay and of course camunda  
More Information: http://www.bpmn2010.org
See you there?
]]></description>
			<content:encoded><![CDATA[<p>In the beginning of October, I will be attending this year&#8217;s BPMN-conference in Potsdam, Germany. I consider it rather interesting, because there will be talks about scientific research as well as hands-on-sessions given by BPMN-practitioners, like Vattenfall, Ebay and of course camunda <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>More Information: <a href="http://www.BPMN2010.org">http://www.bpmn2010.org</a></p>
<p>See you there?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpm-guide.de/2010/08/05/bpmn-2010-in-potsdam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>camunda fox approach on infoQ</title>
		<link>http://www.bpm-guide.de/2010/07/22/camunda-fox-approach-on-infoq/</link>
		<comments>http://www.bpm-guide.de/2010/07/22/camunda-fox-approach-on-infoq/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 16:49:31 +0000</pubDate>
		<dc:creator>Bernd Rücker</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.bpm-guide.de/?p=1432</guid>
		<description><![CDATA[ 
Recently we announced http://fox.camunda.com/ and I already talked about it on a couple of conferences or similar occasions. Now I had the honor to write on infoQ about it and the experiences we made so far. Basically I tried to create a plot in the various things we do there at the moment and [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1433" src="http://cdn2.infoq.com/styles/i/logo.gif" title="infoQ Logo" class="alignnone" width="140" height="44" /> </p>
<p>Recently we announced <a href="camunda fox">http://fox.camunda.com/</a> and I already talked about it on a couple of conferences or similar occasions. Now I had the honor to write on infoQ about it and the experiences we made so far. Basically I tried to create a plot in the various things we do there at the moment and give a better impression on where we are heading. Hopefully that makes it easier for you to catch my ideas, easier than searching through our blog and presentations <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Since today you can find the article online here: </p>
<p><a href="http://www.infoq.com/articles/collaborativeBPM">http://www.infoq.com/articles/collaborativeBPM</a>.</p>
<p>Enjoy! I am curious about feedback&#8230; And stay tuned, we plan to release something soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpm-guide.de/2010/07/22/camunda-fox-approach-on-infoq/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BPMN 2.0 by Example: Incident Management</title>
		<link>http://www.bpm-guide.de/2010/07/15/bpmn-2-0-am-beispiel-incident-management/</link>
		<comments>http://www.bpm-guide.de/2010/07/15/bpmn-2-0-am-beispiel-incident-management/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 13:02:38 +0000</pubDate>
		<dc:creator>Jakob Freund</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[BPMN]]></category>

		<guid isPermaLink="false">http://www.bpm-guide.de/?p=1328</guid>
		<description><![CDATA[Stephen White has already blogged about it: BPMN 2.0 is finished, approved by OMG architecture board and will be published soon. For camunda it was mainly Falko Menge who represented us in the FTF, and he did a very good job (thanks Falko!). Falko and me also wrote a good part of the &#8220;BPMN 2.0 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bpm-guide.de/wp-content/uploads/2010/07/iStock_000009973852XSmall-150x86.jpg" alt="support" title="support" width="150" height="86" class="alignleft size-thumbnail wp-image-1418" /></p>
<p>Stephen White has <a href="https://apps.lotuslive.com/bpmblueworks/blog/?p=1543">already blogged about it</a>: BPMN 2.0 is finished, approved by OMG architecture board and will be published soon. For camunda it was mainly <a href="http://www.camunda.com/menschen/?lang_pref=en#Menge">Falko Menge</a> who represented us in the FTF, and he did a very good job (thanks Falko!). Falko and me also wrote a good part of the &#8220;BPMN 2.0 by Example&#8221;-Document (many thanks to Ivana Trockovitch, Denis Gagné and the other authors!), that should work as a tutorial for understanding the basic principles of BPMN. Because the whole package is not published officially yet, I just want to blog one of the two chapters we wrote that I consider interesting for people who want to get from &#8220;business-friendly simple diagrams&#8221; to &#8220;directly executable XML&#8221;. </p>
<p style="color: blue";>
At some points I will also add some comments from our project experiences that of course could not make it into the official OMG document.</p>
<p><span id="more-1328"></span></p>
<h2>Chapter 6: Incident Management</h2>
<p>In this chapter we want to show the different perspectives you can take on the same business process, using BPMN. In the first step we will provide a rather simple, easy to read diagram that shows an incident process from a high level point of view. Later on we refine this model by moving from orchestration to collaboration and choreography. In the last step we take the organizational collaboration and imagine how a process engine could drive part of the process by user task assignments. The main purpose of this chapter is to demonstrate how you can use BPMN for creating simple and rather abstract diagrams, but also detailed views on human collaboration and finally for technical specifications for process execution. </p>
<p style="color:blue";>
Creating process models for both business AND it is actually one of the absolutely main topics of our consulting business. And it is a very big struggle, of course. For us it was important to show in the document that BPMN is not necessarily &#8220;too complicated for business&#8221;, because it totally depends on how you actually use the standard when process modeling. That&#8217;s why we always need a <a href="http://www.bpm-guide.de/bpmn/">Framework around BPMN</a> if we want to apply it in bigger modeling engagements.</p>
<h3>6.1 High level model for quick understanding</h3>
<div id="attachment_1339" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/07/Incident-Management-level-1.png"><img src="http://www.bpm-guide.de/wp-content/uploads/2010/07/Incident-Management-level-1-150x113.png" alt="Incident Management level 1" title="Incident Management level 1" width="150" height="113" class="size-thumbnail wp-image-1339" /></a><p class="wp-caption-text">Figure 6.1: Incident management from high level point of view</p></div>The shown incident management process of a software manufacturer is triggered by a customer requesting help from her account manager because of a problem in the purchased product. First of all, the account manager should try to handle that request on his own and explain the solution to the customer, if possible. If not, the account manager will hand over the issue to a 1st level support agent, who will hand over to 2nd level support, if necessary. The 2nd level support agent should figure out if the customer can fix the problem on her own, but if the agent is not sure about this he can also ask a software developer for his opinion. In any case, at the end the account manager will explain the solution to the customer. </p>
<p>This diagram is really simple and somehow a &#8220;happy path&#8221;, because we assume that we always find a solution we can finally explain to the customer. The model lacks all details of collaboration between the involved employees, and the abstract tasks indicate that we do not have any information about whether the process or parts of it are executable by a process engine. This diagram is useful, if you want to scope the process, get a basic understanding of the flow and talk about the main steps, but not if you want to dig into the details for discussing process improvements or even software driven support of the process. </p>
<p style="color:blue";>
In our Framework, we call that kind of diagrams &#8220;strategic process diagram&#8221;, or sometimes &#8220;logical-abstract process diagram&#8221;. You could say that this way of process modeling is according to the Process Modeling Conformance sub-class &#8220;Descriptive&#8221; defined in the BPMN 2.0 spec. We do this kind of modeling very often in As-Is-Workshops and early stages of a process improvement project. And we often do not use software tools for it, but white board drawing and sometimes our home-made BPMN magnets.<br />
The diagrams in the examples document however are all made with <a href="http://www.Trisotech.com">Trisotech</a>&#8217;s Visio-based BPMN Modeler, provided for this purpose by Denis Gagné. The cool thing is that we could directly serialize the diagrams into BPMN 2.0 XML with that tool <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />
</p>
<h3>6.2 Detailed Collaboration and Choreography</h3>
<p><div id="attachment_1345" class="wp-caption alignleft" style="width: 156px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/07/Incident-Management-collab.png"><img src="http://www.bpm-guide.de/wp-content/uploads/2010/07/Incident-Management-collab-146x150.png" alt="Figure 6.2: Incident Management as detailed collaboration" title="Figure 6.2: Incident Management as detailed collaboration" width="146" height="150" class="size-thumbnail wp-image-1345" /></a><p class="wp-caption-text">Figure 6.2: Incident Management as detailed collaboration</p></div>We can take a closer look at the ping-pong-game of account manager, support agents and software developer by switching from a single-pool-model to a collaboration diagram, as shown above. We can now see some more details about the particular processes each participant fulfills, e.g., the dialogue between the account manager and the customer for clarifying the customer&#8217;s problem, or the fact that the 2nd level support agent will insert a request for a feature in the product backlog, if the current release of the software product cannot cover the customer&#8217;s demand satisfactorily. We have also specified each task as manual, which means that we still think of the processes as completely human-driven with no process engine involved. This could hypothetically be the As-Is-state of the incident management before the introduction of a process engine. The next step could be to define whether we want to drive the complete collaboration by a process engine, or only parts of it. But before we discuss that matter, we can have a look at an other way of modeling such a ping-pong-game, the choreography diagram shown below. </p>
<p><div id="attachment_1349" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/07/inci-chor.PNG"><img src="http://www.bpm-guide.de/wp-content/uploads/2010/07/inci-chor-150x53.PNG" alt="Figure 6.3: Incident Management as choreography" title="Figure 6.3: Incident Management as choreography" width="150" height="53" class="size-thumbnail wp-image-1349" /></a><p class="wp-caption-text">Figure 6.3: Incident Management as choreography</p></div>This diagram only shows the tasks that are dedicated to the communication between the different process participants, hiding all internal steps, e.g., the task that inserts a new entry into the product backlog. Note that the diagrams shown in Figure 6.1 and 6.2 have no formal connection between each other, whereas the Figure 6.2 and 6.3 have the exact same semantic model behind them and just provide different views on it. See also Annex A for an XML serialization of the underlying semantic model.</p>
<p style="color:blue";>
Some BPMN experts consider collaboration diagrams, i.e. the modeling of different process participants in different pools, only as a pattern for business-to-business-collaboration. Well, you can use collaboration diagrams that way, but their use is definetely not limited to that area. In fact, especially in companies that are NOT process-orientied, it can be very enlightening to model the collaboration between departments,teams or even roles (as we did here) explicetely with pools and message flows. And it can be the first step towards engineering the requirements for a workflow management &#8211; solution, as shown in the next paragraph.
</p>
<h3>6.3 Human-driven vs. system-driven control flows</h3>
<p><div id="attachment_1353" class="wp-caption alignleft" style="width: 151px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/07/Engine-Collab.png"><img src="http://www.bpm-guide.de/wp-content/uploads/2010/07/Engine-Collab-141x150.png" alt="Figure 6.4: Incident Management with human-driven and system-driven pools" title="Figure 6.4: Incident Management with human-driven and system-driven pools" width="141" height="150" class="size-thumbnail wp-image-1353" /></a><p class="wp-caption-text">Figure 6.4: Incident Management with human-driven and system-driven pools</p></div>If we imagine we are realizing a project for automating the incident management process, we could now decide which parts of it should be actually executed in a process engine, and which parts should remain human-driven.  In this scenario we decided that the account manager should not be bothered with web forms or task lists, he should just send an email if he wants to report a customer&#8217;s problem, and receive an email when the process has completed. </p>
<p>The same idea applies for the software developer: Let us assume the 2nd level support agent sits in the same room as the developers. Maybe it is more efficient if the support agent just walks over to the developer and talks about the issue, rather than playing some time consuming ping-pong-game with task assignments. Therefore, we want to keep this part of the incident management human driven as well: no process engine driving the collaboration between 2nd level support and software developers. But  we do want the assignment of tickets to 1st and 2nd level support agents by a trouble ticket system, which now takes the role of the process engine and therefore is modeled in a dedicated pool. </p>
<p>That system can actually receive and parse emails sent by the account manager and opens a ticket for it. If the 1st level support agent decides that this is a 2nd level issue, he does so by documenting his decision and completing the assigned task “edit 1st level ticket”. The trouble ticket system then routes the ticket to the 2nd level support agent. </p>
<p>When that agent has finished, he maybe declared the issue to be fixed in the next software release. Then the trouble ticket system makes a service call on the product backlog system, a new feature we have introduced with our process engine: The entry does not have to be inserted manually any more. In the end, the trouble ticket system will send an email to the account manager, containing the results of the incident management, and close the ticket. The account manager can then explain the solution to the customer based on the information in the ticket. </p>
<p><div id="attachment_1376" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/07/im-process-engine1.png"><img src="http://www.bpm-guide.de/wp-content/uploads/2010/07/im-process-engine1-150x54.png" alt="Figure 6.6: This is the only part of the whole collaboration we will execute in a process engine" title="Figure 6.6: This is the only part of the whole collaboration we will execute in a process engine" width="150" height="54" class="size-thumbnail wp-image-1376" /></a><p class="wp-caption-text">Figure 6.6: This is the only part of the whole collaboration we will execute in a process engine</p></div>
<p style="color:blue";>
Separating the &#8220;human control flow&#8221; from the &#8220;engine control flow&#8221; is actually the heart of our modeling approach, when aligning the process models of business and IT. How can we consistently visualize that some routing decisions, i.e. Gateways such as XOR, AND and Event, are taken by the process engine, and others by the people working in the process? We can&#8217;t, as long as we model both of them in one pool! For a single pool, there can be only one driving force, that&#8217;s why it is totally irrelevant in what lane you put a gateway (a fact BPMN beginners often don&#8217;t know and hardly understand), the gateway will be interpreted by the single driving force behind the pool anyway. In the end, there will be only one pool in this diagram that is actually executed by a process engine, the other ones will be &#8220;executed&#8221; by the people working in the process (Account Manager, Support Agents, Developer). We have also created an <a href="http://www.bpm-guide.de/wp-content/uploads/2010/07/engine-pool.xml">executable BPMN 2.0 XML of the process engine pool</a> for the examples document.
</p>
<p><div id="attachment_1374" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/07/im-ony-account-manager1.png"><img src="http://www.bpm-guide.de/wp-content/uploads/2010/07/im-ony-account-manager1-150x92.png" alt="Figure 6.5: This rather simple diagram is all we have to show to the account manager" title="Figure 6.5: This rather simple diagram is all we have to show to the account manager" width="150" height="92" class="size-thumbnail wp-image-1374" /></a><p class="wp-caption-text">Figure 6.5: This rather simple diagram is all we have to show to the account manager</p></div>Of course, this way of modeling both human-driven and system-driven control flows in one diagram is just a proposal, that should give an idea of useful modeling approaches based on collaboration diagrams.  It should demonstrate how BPMN could support Business-IT-Alignment in process modeling: We can hand over the modeled process engine pool to an actual process engine for execution, while we can show the other pools separately to our process participants, the support agents or the account manager, and discuss their involvement in the collaboration based on those simplified views on the same, consistent collaboration model. This gives us the opportunity to talk with both Business people and IT people about the same process model, without overburdening business people with too complex diagrams or IT people with too inaccurate process models.</p>
<h3 style="padding-top:10px;">Further comments (not part of the examples document)</h3>
<p>Basically, the whole approach goes like this:</p>
<ul>
<li>Make a &#8220;strategic&#8221; process diagram (Figure 6.1), just a simple sketch for a quick understanding</li>
<li>Make an &#8220;operational&#8221; process diagram (Figure 6.2) for analyzing the collaborational aspects</li>
<li>Enrich the diagram with the aspects of a process engine, therefore adding a pool for the process engine</li>
<li>Take that process engine pool into your technical environment and enrich it for execution (make a &#8220;technical&#8221; process diagram)., <a href="http://www.bpm-guide.de/2010/06/06/why-you-may-want-a-mapping-in-your-bpmn-roundtrip/">see also here</a> and <a href="http://www.bpm-guide.de/2010/05/27/making-the-bpmn-roundtrip-real/">here</a>.</li>
</ul>
<p><div id="attachment_1392" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/07/sig-views.PNG"><img src="http://www.bpm-guide.de/wp-content/uploads/2010/07/sig-views-150x117.PNG" alt="Defining Views in Signavio" title="Defining Views in Signavio" width="150" height="117" class="size-thumbnail wp-image-1392" /></a><p class="wp-caption-text">Defining Views in Signavio</p></div>Showing just experpts of the &#8220;big&#8221; collaboration diagram to different target groups, e.g. the pool for the account manager, is of course a matter of tooling: We do not want to have redundant diagrams, one only containing a single pool, the other one the whole collaboration. That&#8217;s why our friends at <a href="http://www.Signavio.com">Signavio</a> implemented a cool &#8220;view concept&#8221; for us, where we can define certain views on a collaboration diagram, and then show those views to the according process participants for discussion etc. </p>
<p>Furthermore, we are currently implementing the whole tool chain for Business and IT based on open source components in our project <a href="http://fox.camunda.com">camunda fox</a>, so it&#8217;s worth to stay tuned. <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpm-guide.de/2010/07/15/bpmn-2-0-am-beispiel-incident-management/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Twitter &#8211; Me too!</title>
		<link>http://www.bpm-guide.de/2010/06/30/prozessgezwitscher/</link>
		<comments>http://www.bpm-guide.de/2010/06/30/prozessgezwitscher/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 19:28:50 +0000</pubDate>
		<dc:creator>Jakob Freund</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.bpm-guide.de/?p=1323</guid>
		<description><![CDATA[It just had to happen sooner or later, so count me in: http://twitter.com/jakobfreund
]]></description>
			<content:encoded><![CDATA[<p>It just had to happen sooner or later, so count me in: <a href="http://twitter.com/jakobfreund">http://twitter.com/jakobfreund</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bpm-guide.de/2010/06/30/prozessgezwitscher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Left. No right! Testing processes with scenarios.</title>
		<link>http://www.bpm-guide.de/2010/06/18/prozesse-mit-szenarien-testen/</link>
		<comments>http://www.bpm-guide.de/2010/06/18/prozesse-mit-szenarien-testen/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 05:32:39 +0000</pubDate>
		<dc:creator>Bernd Rücker</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[fox]]></category>
		<category><![CDATA[jBPM]]></category>
		<category><![CDATA[Tests]]></category>

		<guid isPermaLink="false">http://www.bpm-guide.de/?p=1202</guid>
		<description><![CDATA[In a current project we develop an executable process. Hence, this process is a &#8220;piece of software&#8221;, which need to be tested. In software development this is common sense, so there are enough tools and best practices. Is that the same for technical process models? Hmm, not that easy. On the one hand we can [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1203" class="wp-caption alignleft" style="width: 140px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/06/test-szenarien.jpg"><img class="size-thumbnail wp-image-1203" title="Test Scenarios" src="http://www.bpm-guide.de/wp-content/uploads/2010/06/test-szenarien-130x150.jpg" alt="Test Scenarios" width="130" height="150" /></a><p class="wp-caption-text">Test Scenarios</p></div>
<p>In a current project we develop an executable process. Hence, this process is a &#8220;piece of software&#8221;, which need to be tested. In software development this is common sense, so there are enough tools and best practices. Is that the same for technical process models? Hmm, not that easy. On the one hand we can use proved Java Test frameworks like JUnit for Open Source Process Engines like jBPM. On the other hand processes have some specialties, which aren&#8217;t surprising but somehow challenging&#8230;</p>
<p><span id="more-1202"></span></p>
<p>For the process we devloped process scenarios, which indicate on which path a process instance flows through the process. The picture on the left shows a foto from the current project. By the way: The green mark shows: This scneario was successfull tested <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Sorry for the bad quaility of the picture, but otherwiese I couldn&#8217;t have posted it here.</p>
<p>To implement such a scenario we can write a unit test, which set up some test data, trigger the process and waits, till the process arrives in a defined state. As soon as the process waits for an external trigger (like a Human enter some data or a system sends an asychronous answer) the unit tests comes into action and &#8220;fakes&#8221; that answer. By doing so, the whole process can be walked through to check if the behaviour is as expected. Some sample code is shown at the very end of this blog post, I don&#8217;t want to frighten non IT folks too early <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>To define these kinds of scenarios is pretty typical by the way, we did that in quite some projects already. The downside is at the moment, that there isn&#8217;t much good tooling for that. In the area of Open Source Process Engines there exists basically nothing and the commercial tools tend to be too GUI centered, which normally isn&#8217;t developers friendly. I see the following requirements for such a tooling:</p>
<ul>
<li>We want to organize these scenarios! We want to mark them in the real process model, save it and load it later on.</li>
<li>I want to compare the audit data from the really executed process with the defined scnerios (&#8221;Did the process really went that way?&#8221;). I want to recognize differences easily and graphically.</li>
<li>I want to create &#8220;smaller&#8221; scenarios for just parts of the process. In our example process we have different parts, e.g. data checking, customer creation, order provisioning, &#8230;. We want to test these parts independantly from each other (I want to spare the explanattion why we didn&#8217;t create subprocesses for them). So we want to start a scenario at an arbritrary node in the process, provide some input data and stop it at a defined node where we calidate the outgoing data.</li>
<li>Ideally Input and Output data are provided in a non technical format, like spreadsheets or <a href="http://fitnesse.org/">Fitnesse</a>.</li>
</ul>
<div id="attachment_1206" class="wp-caption alignleft" style="width: 57px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/06/test-coverage.jpg"><img class="size-thumbnail wp-image-1206" title="Test Coverage" src="http://www.bpm-guide.de/wp-content/uploads/2010/06/test-coverage-47x150.jpg" alt="Test Coverage" width="47" height="150" /></a><p class="wp-caption-text">Test Coverage</p></div>
<p>There is another interessting aspect of process testing: The so called <a href="http://en.wikipedia.org/wiki/Code_coverage">Test coverage</a>. The idea is easy: I want to make sure that every node and path in my processes was executed at least once. If you need every possible combination can be an endless discussion, but in my experience it would be already a big improvement for most projects if they had at least executed every path once. In our project I used a marker to indicate which parts we already tested as you can see indicated on the left. But this coverage report could be generated by the tooling itself, so to visualize this automatically would be another item on my wish list.</p>
<p>Currently we implement the mentioned use cases in <a href="http://fox.camunda.com">camunda fox</a> for <a href="http://www.jboss.org/jbpm">JBoss jBPM 3.2.x</a> and <a href="http://www.signavio.com/">Signavio</a>. The visualizations are done in the BPMN model in Signavio, the technical implementation and testing is done in jBPM. But we try to achieve that non technical folks can define, refine or at least read the test scenarios as well. Then we could make the tests and test coverage part of a process cockpit or process status as well.</p>
<div id="attachment_1207" class="wp-caption alignleft" style="width: 160px"><a href="http://www.bpm-guide.de/wp-content/uploads/2010/06/process-development-status.jpg"><img class="size-thumbnail wp-image-1207" title="Process Development Status Indication" src="http://www.bpm-guide.de/wp-content/uploads/2010/06/process-development-status-150x48.jpg" alt="Process Development Status Indication" width="150" height="48" /></a><p class="wp-caption-text">Process Development Status Indication</p></div>
<p>By the way: Currently we use a printed BPMN diagram to indicate the status if the development, as you can see on the left. We want to link the nodes with <a href="http://www.atlassian.com/software/jira/">JIRA</a>-Issues, so we can create that indication automatically. Even if paper and whiteboards are good tools, that only works if the whole team is in the same room or at least building. Obviously it is nice to stand in front of the whiteboard for discusssions, bit not having it electronically has some disadvantages:</p>
<ul>
<li>Not transportable: We could&#8217;t easily take the status and scenarios with us into meetings.</li>
<li>Changes: If there are process changes, we would have to reprint and redraw all scenarios.</li>
<li>Keep it up-to-date: After the project or in the next project we want to improve the scenarios or change them according to changed processes. The paper from the last project is normally not longer available at that time.</li>
<li>No <a href="http://martinfowler.com/articles/continuousIntegration.html">Continous Integration</a> based on paper <img src='http://www.bpm-guide.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
<li>Distributed teams: As soon as your not together at the same physical location any more you need electronical help to get that running and the collaboration intact.</li>
</ul>
<p>But this is enough content for an own blog post&#8230;</p>
<p>Okay, but I promised to give you some more technical details, so I present an example test case here (note that the asserts are hidden in the ProcessHelper); </p>
<pre>public void scenario2() throws Exception {
  testDataHelper.setCustomerAddressType(CustomerAddressType.VALID_ADDRESS);
  ... // set some more data for testcase

  long orderId = startOrderProcess();

  // provide a test stub for one service called on the way we wanted to "mock" out
  processHelper.setTestStubResult(CheckAddressAdapter.class, createCheckAddressResultResult());

  processHelper.waitForState("Fraud Check aufrufen");
  // "fake" result of fraud service: Fraud OK
  correlationFacade.callCorrelationService("Fraud", orderId, "0");

  processHelper.waitForState("Bonität prüfen");
  // "fake" result of boni service: Boni yellow
  correlationFacade.callCorrelationService("Boni", orderId, "1");

  // wait for the process to end
  processHelper.waitForState("Ende", 70);
}</pre>
<p>During the execution the ProcessHelper shows the flow of the process, we &#8220;just&#8221; need to add some functionality to validate this audit data aginst our expectation in the scenario:</p>
<pre>
SCENARIO: Storno Boni (yellow); ORDER ID: 4368835; ROOT TOKEN ID: 1495
   - wait for Call Fraud Check
      - status changed to BI: Insert Data
      - status changed to DCN: Insert Data into Duplicate Checker
      - status changed to CCD: Create customer
      ...
      - status changed to Call Fraud Check
   - wait for Check Boni
     ...
      - status changed to Check Boni
   - wait for End
      - status changed to Check Boni
      - ...
      - status changed to End
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bpm-guide.de/2010/06/18/prozesse-mit-szenarien-testen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
