<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://community.integrify.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Integrify BPM In Action</title><subtitle type="html">A practical discussion about taking control of your processes with Integrify</subtitle><id>http://community.integrify.com/blogs/fromwithin/atom.aspx</id><link rel="alternate" type="text/html" href="http://community.integrify.com/blogs/fromwithin/default.aspx" /><link rel="self" type="application/atom+xml" href="http://community.integrify.com/blogs/fromwithin/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2007-10-04T13:30:00Z</updated><entry><title>Who's Working on this Task?</title><link rel="alternate" type="text/html" href="http://community.integrify.com/blogs/fromwithin/archive/2008/08/05/who-s-working-on-this-task.aspx" /><id>http://community.integrify.com/blogs/fromwithin/archive/2008/08/05/who-s-working-on-this-task.aspx</id><published>2008-08-05T13:54:00Z</published><updated>2008-08-05T13:54:00Z</updated><content type="html">&lt;p&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;a href="http://community.integrify.com/blogs/fromwithin/taskFlowGroupAssignment.jpg"&gt;&lt;/a&gt;I recently received the following question:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&amp;quot;During our introduction of Integrify we experienced a very urgent issue: a lot of tasks get assigned to multiple people who are spread over different locations. To avoid multiple people doing the same work at the same time, everyone of them has to check if any body else has already “opened” the task and is working on the task. And even worse, by opening such a task and viewing the other’s people’s state you get marked as “in progress”. So from a controller’s view it is impossible to tell who is actually working on the task or just took a look at the other people’s state without speaking to everybody!&lt;/span&gt;&lt;span&gt; &amp;quot;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;We’ve actually run into many situations like this where a task is thrown out to a “queue” of rotating individuals and someone accepts to take a task on.&amp;nbsp; The most efficient way to handle this is to slightly modify your process and have a task where all individuals are assigned but once a single individual completes that task it is cancelled out for all of the other recipients.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Take a look at the following Task Flow:&lt;/span&gt;&lt;/p&gt;&lt;span&gt;
&lt;p&gt;&lt;a href="http://community.integrify.com/blogs/fromwithin/taskFlowGroupAssignment.jpg"&gt;&lt;img src="http://community.integrify.com/blogs/fromwithin/taskFlowGroupAssignment.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;The first task is just a Milestone that is assigned to a group of individuals.&amp;nbsp; The &lt;em&gt;Worker Queue&lt;/em&gt; Milestone has a single option that states “I Accept This Work Assignment”.&amp;nbsp; Once a person selects that option and completes the task, the next task called &lt;em&gt;Form to Complete &lt;/em&gt;is assigned to the Dynamic Recipient&amp;nbsp;&lt;em&gt;Task Completer&lt;/em&gt; for the &lt;em&gt;Worker Queue&lt;/em&gt; Milestone task.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;As the process is executing it will look something like the following:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.integrify.com/blogs/fromwithin/requestDetail.jpg"&gt;&lt;img src="http://community.integrify.com/blogs/fromwithin/requestDetail.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Another feature of structuring your process this way is that as an individual accepts the work assignment it will cancel the open task for the other individuals assigned, thus removing it from their dashboard automatically.&lt;/p&gt;
&lt;p&gt;By structuring your process in this fashion, it will make it easier to identify who accepted a given work assignment and then the owner of the process can always monitor who is assigned to the &lt;em&gt;Form to Complete&lt;/em&gt; task rather than trying to interpret the statuses of the other tasks where many people are assigned.&amp;nbsp; It will also facilitate easier communication among your work force that maybe spread across several locations.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://community.integrify.com/aggbug.aspx?PostID=774" width="1" height="1"&gt;</content><author><name>IntegrifySupport</name><uri>http://community.integrify.com/members/IntegrifySupport.aspx</uri></author><category term="Dynamic Recipients" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/Dynamic+Recipients/default.aspx" /><category term="Queue" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/Queue/default.aspx" /><category term="Group Assigments" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/Group+Assigments/default.aspx" /><category term="Task Completer" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/Task+Completer/default.aspx" /></entry><entry><title>Measure Your Success (but plan it first!)</title><link rel="alternate" type="text/html" href="http://community.integrify.com/blogs/fromwithin/archive/2008/02/26/measure-your-success-but-plan-it-first.aspx" /><id>http://community.integrify.com/blogs/fromwithin/archive/2008/02/26/measure-your-success-but-plan-it-first.aspx</id><published>2008-02-26T19:02:00Z</published><updated>2008-02-26T19:02:00Z</updated><content type="html">&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;How do you measure success with a product like Integrify? &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;How do you continuously improve on your process? &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;How do you make your superiors happy (look good ;-) and show your return on investment?&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;If you thought “reporting”, you are correct. &lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;What is often &lt;i style="mso-bidi-font-style:normal;"&gt;not&lt;/i&gt; accounted or budgeted (time or money) for on most implementation plans?&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;If you thought “reporting” again, you are correct again!&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;In this and in other positions I have held, reporting and measurement of success always seems to be the after thought of most project/software implementations but in reality the definition of success and how to measure that success should be one of the first line items defined in the project plan.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Before you start building your process and implementing it in Integrify, reporting goals should be well defined.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Certain questions need to be asked:&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;ol style="MARGIN-TOP:0in;"&gt;
&lt;li class="MsoNormal" style="MARGIN:0in 0in 0pt;mso-list:l1 level1 lfo1;tab-stops:list .5in;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Do you need to measure the overall length time a process takes to complete? &lt;i style="mso-bidi-font-style:normal;"&gt;(Process Duration &amp;amp; frequency)&lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0in 0in 0pt;mso-list:l1 level1 lfo1;tab-stops:list .5in;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Do you need to measure the overall time specific tasks take to complete within the process? &lt;i style="mso-bidi-font-style:normal;"&gt;(Process Duration &amp;amp; frequency)&lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0in 0in 0pt;mso-list:l1 level1 lfo1;tab-stops:list .5in;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Do you need to know who has been assigned to tasks and how often? &lt;i style="mso-bidi-font-style:normal;"&gt;(Task Assignment, Task Frequency, Task Duration) &lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0in 0in 0pt;mso-list:l1 level1 lfo1;tab-stops:list .5in;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Do you need to extract user input data?&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;If so, does is it need to be in a specific format, arrange in a specific fashion? &lt;i style="mso-bidi-font-style:normal;"&gt;(task detail, task input)&lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0in 0in 0pt;mso-list:l1 level1 lfo1;tab-stops:list .5in;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Do you need to extract data at specific points/statuses in the process and not others? &lt;i style="mso-bidi-font-style:normal;"&gt;(task detail, task input)&lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Each of the above can, and probably will, represent a distinct report type within Integrify so this must be accounted for while budgeting time and money for your implementation. &lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;The following diagram helps illustrates the different levels of reporting that can be achieved in Integrify:&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;a href="http://community.integrify.com/blogs/fromwithin/ReportingDiagram.gif"&gt;&lt;img src="http://community.integrify.com/blogs/fromwithin/ReportingDiagram.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;To aid in reporting, Integrify categorizes reports into three basic areas:&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;ol style="MARGIN-TOP:0in;"&gt;
&lt;li class="MsoNormal" style="MARGIN:0in 0in 0pt;mso-list:l2 level1 lfo2;tab-stops:list .5in;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Administrative&lt;/b&gt;:&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;basic system reports about users in the systems, users in groups or roles, etc.&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0in 0in 0pt;mso-list:l2 level1 lfo2;tab-stops:list .5in;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Process Analysis&lt;/b&gt;:&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;high-level summarization reports about the number of requests executed over time, duration of requests for a given process, duration of tasks for a given process.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;(Process Duration &amp;amp; frequency, task duration)&lt;/i&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0in 0in 0pt;mso-list:l2 level1 lfo2;tab-stops:list .5in;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Request Detai&lt;/b&gt;l:&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;who is assigned to a task, how often certain tasks occur, how often is someone assigned to a task, retrieve information from tasks, etc.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;(task detail, task input, task status)&lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;When one builds a new report in Integrify all that one needs to do is select the Report Type (Administrative, Process Analysis, Request Detail) and then the appropriate Report Sub-Type (Task Status, Process Duration, Task Duration, Task Detail, etc).&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Based on those two selections, the report layout, types of columns, filters, summary totals, and graphing will be predefined for you.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;You will just need to optionally add some report filters or possibly some additionally grouping to finish off your report.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Unfortunately, reporting, like building a process for a first time, can be daunting at first. &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;Like building a process for the first time, the tendency is often to do too much with a single report.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;The reality of reporting is that the best report is one that is concise and targeted to a specific goal.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;For instance, in our Integrify Services engagements we often hear requests like “I need a report that displays the total number of requests over a given timeframe, all of the tasks assigned to Bob over that timeframe, and the data from Form C only if a certain status has been reached in the process.”&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The reality of it is that this is most likely three reports.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Let’s break that request down into a few parts:&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;ol style="MARGIN-TOP:0in;"&gt;
&lt;li class="MsoNormal" style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo3;tab-stops:list .5in;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;“…display the total number of requests over a given time frame…”&lt;/b&gt;:&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;This can be accomplished it a &lt;i style="mso-bidi-font-style:normal;"&gt;Process Request Count&lt;/i&gt; report under the &lt;i style="mso-bidi-font-style:normal;"&gt;Process Analysis&lt;/i&gt; Report Type.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;This report type is specifically structured to retrieve basic request information over a given time period.&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo3;tab-stops:list .5in;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;“….all of the tasks assigned to Bob over that timeframe…”&lt;/b&gt;:&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;When analyzing who is assigned to what task, this is best served with a &lt;i style="mso-bidi-font-style:normal;"&gt;Task Status&lt;/i&gt; report under the Report Type of Request Detail.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;The Task Status report is structured to group the report by who is assigned tasks within a given process.&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo3;tab-stops:list .5in;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;“…the data from Form C only if a certain status has been reached in the process…”&lt;/b&gt;:&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Any time a user requests form data or other task information, that will be a &lt;i style="mso-bidi-font-style:normal;"&gt;Task Detail&lt;/i&gt; report under the Report Type of Request Detail.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/b&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Once the reporting request is evaluated and broken down into distinct parts it is often easier to implement the request for your end users.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;In most cases too it is often easier for your users to digest smaller quantities of targeted information than trying to create a single report with all of the information.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Like building a process, building a report will be an iterative effort too.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Be patient, be focused, and plan those reports with your users for the best success.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Good luck and happy reporting! &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://community.integrify.com/blogs/fromwithin/ReportingDiagram.gif"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://community.integrify.com/aggbug.aspx?PostID=657" width="1" height="1"&gt;</content><author><name>IntegrifySupport</name><uri>http://community.integrify.com/members/IntegrifySupport.aspx</uri></author><category term="report building" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/report+building/default.aspx" /><category term="Reporting" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/Reporting/default.aspx" /></entry><entry><title>Handling Lots of Recipients: Dynamic Assigner vs. Recipient Rules</title><link rel="alternate" type="text/html" href="http://community.integrify.com/blogs/fromwithin/archive/2007/10/25/handling-lots-of-recipients-dynamic-assigner-vs-recipient-rules.aspx" /><id>http://community.integrify.com/blogs/fromwithin/archive/2007/10/25/handling-lots-of-recipients-dynamic-assigner-vs-recipient-rules.aspx</id><published>2007-10-25T19:15:00Z</published><updated>2007-10-25T19:15:00Z</updated><content type="html">&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Medium to large sized organizations will often have business processes that are used by many different people. An example would be a New Hire Request. If your company is segmented into many regions or divisions, the same approval tasks could have between five and over a hundred possible recipients. This article will compare the two methods of conditionally assigning recipients to a task. Those methods are, 1) Using &lt;span style="FONT-WEIGHT:bold;"&gt;Recipient Rules&lt;/span&gt; and 2) Using the &lt;span style="FONT-WEIGHT:bold;"&gt;Dynamic Assigner&lt;/span&gt; task.&lt;br /&gt;&lt;br /&gt;Let us examine a portion of a typical new hire request: &lt;/p&gt;
&lt;p&gt;&lt;img class="dropshadow" src="http://community.integrify.com/blogs/fromwithin/DynVsRulesBlog_1.png" border="0" alt="" /&gt; &lt;/p&gt;
&lt;div style="CLEAR:left;"&gt;&lt;/div&gt;
&lt;p&gt;The branch manager of a particular location will start the New Hire Request and fill out the New Hire Request Form. On the form there is a question asking what branch the manager is in. The branch location question is a drop down list that contains all the branch location cities and a branch number value associated with each city. &lt;/p&gt;
&lt;p&gt;&lt;img class="dropshadow" src="http://community.integrify.com/blogs/fromwithin/DynVsRulesBlog_2.png" border="0" alt="" /&gt; &lt;/p&gt;
&lt;div style="CLEAR:left;"&gt;&lt;/div&gt;
&lt;p&gt;The branch manager will complete the form by answering some other questions about the position such as title and salary etc. Once the form is completed, the branch manager submits it and the next task in the flow is the Area Manager Approval. The area manager can either approve or deny the New Hire Request. Let us take a look at the first way to assign the approval to the appropriate area manager. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Using Recipient Rules&lt;/h2&gt;
&lt;p&gt;If the number of areas is not too big, say no more than ten, it probably makes sense to assign the correct area manager using &lt;span style="FONT-WEIGHT:bold;"&gt;Recipient Rules&lt;/span&gt;. In this case, each area manager is configured as a recipient for the Area Manager Approval task. Since we only want one of the area managers to actually receive and complete the approval with each request, we need to enter &lt;span style="FONT-WEIGHT:bold;"&gt;Recipient Rules&lt;/span&gt; for each recipient indicating in what circumstances they are to actually receive the Area Manager Approval task.&lt;/p&gt;
&lt;h4&gt;The Area Manager Approval&amp;#39;s task recipients screen&amp;nbsp;&lt;/h4&gt;
&lt;p&gt;&lt;img class="dropshadow" src="http://community.integrify.com/blogs/fromwithin/DynVsRulesBlog_3.png" border="0" alt="" /&gt; &lt;/p&gt;
&lt;div style="CLEAR:left;"&gt;&lt;/div&gt;
&lt;p&gt;Recipient rules are defined by clicking on the link, &amp;quot;Rules&amp;quot; that is beside each recipient.&lt;/p&gt;
&lt;h4&gt;Here is what the Recipient Rules look like for Brian Allen who is the Area Manager for upstate New York&lt;/h4&gt;
&lt;p&gt;&lt;img class="dropshadow" src="http://community.integrify.com/blogs/fromwithin/DynVsRulesBlog_4.png" border="0" alt="" /&gt; &lt;/p&gt;
&lt;div style="CLEAR:left;"&gt;&lt;/div&gt;
&lt;p&gt;We see, that unless the Position Location question&amp;#39;s value is either 631, 624, 613, or 628, Brian will not be assigned the Area Manager Approval Task. Each of those numbers represents a branch location somewhere in Brian&amp;#39;s area. &lt;/p&gt;
&lt;p&gt;For each recipient that we defined for the Area Manager Approval task, we need to add similar rules so that they are only set as the approver when the New Hire Request is coming from a branch in their region.&lt;br /&gt;&lt;br /&gt;Configuring Recipient Rules is a straight forward way to handle the situation where you have multiple, optional recipients for a given task and there are business conditions which stipulate when the recipients are to be assigned.&amp;nbsp; Recipient Rules do not scale well to a large pool of potential recipients because it is very tedious to define them in great quantity and they are also a headache to maintain.&lt;br /&gt;&lt;br /&gt;The alternative to Recipient Rules and the preferred method for handling large pools of optional task recipients is to use the &lt;span style="FONT-WEIGHT:bold;"&gt;Dynamic Assigner&lt;/span&gt; task. &lt;/p&gt;
&lt;h2&gt;Using the Dynamic Assigner&lt;/h2&gt;
&lt;p&gt;The &lt;span style="FONT-WEIGHT:bold;"&gt;Dynamic Assigner&lt;/span&gt; is available as an optional Integrify task plug-in. It performs a parameterized query against a database in order to&amp;nbsp;retrieve a list of contact id&amp;#39;s that will be matched against the Integrify users list. For each match that is found, that user will be assigned to the task. In this example, we will create a simple look-up table which contains the branch locations, the area, and regional manager associated with each branch. &lt;/p&gt;
&lt;h4&gt;Here is a snapshot of the lookup table &lt;/h4&gt;
&lt;p&gt;&lt;img class="dropshadow" src="http://community.integrify.com/blogs/fromwithin/DynVsRulesBlog_5.png" border="0" alt="" /&gt; &lt;/p&gt;
&lt;div style="CLEAR:left;"&gt;&lt;/div&gt;
&lt;p&gt;The drop-down list of branch locations in the initial form is filled from this table so we get the branch number as the value when a user selects a branch location. The other two columns in the table, area_mgr_id and regional_mgr_id contain the Integrify contact id&amp;#39;s for the for those managers. We will configure the &lt;span style="FONT-WEIGHT:bold;"&gt;Dynamic Assigner&lt;/span&gt; task to look at this table, get the contact id&amp;#39;s of the managers, and then assign those managers to their approval task. &lt;/p&gt;
&lt;h4&gt;Here is the new workflow with the addition of the Dynamic Assigner tasks :&lt;/h4&gt;
&lt;p&gt;&lt;img class="dropshadow" src="http://community.integrify.com/blogs/fromwithin/DynVsRulesBlog_6.png" border="0" alt="" /&gt; &lt;/p&gt;
&lt;div style="CLEAR:left;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h4&gt;Here is what the configuration for the Assign Area Mgr. Dynamic Assigner task looks like &lt;/h4&gt;
&lt;p&gt;&lt;img class="dropshadow" src="http://community.integrify.com/blogs/fromwithin/DynVsRulesBlog_7.png" border="0" alt="" /&gt; &lt;/p&gt;
&lt;div style="CLEAR:left;"&gt;&lt;/div&gt;
&lt;p&gt;The Dynamic Assigner is expecting a column named &amp;quot;CONTACT_ID&amp;quot; to be returned in the dataset and will&amp;nbsp;use this value&amp;nbsp;to match the appropriate contacts against the Integrify users table. In this example, only one result will be returned by the Dynamic Assigner because there is only one Area Manager per location. In other situations, the Dynamic Assigner may find multiple Integrify users with its query and all of those users would be assigned to the task. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Comparing the Pros and Cons of Each Method&lt;/h2&gt;
&lt;h3&gt;Recipient Rules&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b&gt;Pros:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Simple, straightforward configuration &lt;/li&gt;
&lt;li&gt;Great for small recipient pools&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;b&gt;Cons:&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Can take time to update every rule&lt;/li&gt;
&lt;li&gt;Does not scale well for larger recipient pools&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Dynamic Assigner&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b&gt;Pros:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scales great for larger recipient pools&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Easy to update&lt;/li&gt;
&lt;li&gt;Allows for lookup table &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;b&gt;Cons:&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Requires knowledge of SQL&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://community.integrify.com/aggbug.aspx?PostID=555" width="1" height="1"&gt;</content><author><name>jpearce</name><uri>http://community.integrify.com/members/jpearce.aspx</uri></author><category term="Dynamic Assigner" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/Dynamic+Assigner/default.aspx" /><category term="recipients" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/recipients/default.aspx" /></entry><entry><title>The First Step in Automating Your Workflow</title><link rel="alternate" type="text/html" href="http://community.integrify.com/blogs/fromwithin/archive/2007/10/16/the-first-step-in-automating-your-workflow.aspx" /><id>http://community.integrify.com/blogs/fromwithin/archive/2007/10/16/the-first-step-in-automating-your-workflow.aspx</id><published>2007-10-16T19:20:00Z</published><updated>2007-10-16T19:20:00Z</updated><content type="html">&lt;p style="text-align:justify;"&gt;Many processes we deal with through Integrify Professional
Services and Support have been documented at some time in the past, usually with
an instructional document and nice Visio diagram, but as time passes, the
document(s) is not maintained to reflect changes to the process or organization,
and if it was ever accurate to begin with, it is usually out of date. This is not unusual and is a natural
by-product of process evolution and usage within an organization.&lt;/p&gt;

&lt;p style="text-align:justify;"&gt;The first step in migrating from a manual process to an
automated will require that you take a fresh look at your company’s process and
create a formal process description. A basic workflow definition should contain
the following three items at a minimum:&lt;/p&gt;

&lt;ol&gt;&lt;li style="margin-bottom:1em;margin-top:1em;"&gt;&lt;span style="font-weight:bold;"&gt;Written
description&lt;/span&gt; - purpose/goal of the
process and how it works&lt;br /&gt;&lt;/li&gt;&lt;li style="margin-bottom:1em;margin-top:1em;"&gt;&lt;span style="font-weight:bold;"&gt;Flowchart&lt;/span&gt;
– graphical representation of your process&lt;/li&gt;&lt;li style="margin-bottom:1em;margin-top:1em;"&gt;&lt;span style="font-weight:bold;"&gt;Task
recipients chart&lt;/span&gt; – who is doing what in your process&lt;/li&gt;&lt;/ol&gt;

&lt;p style="text-align:justify;"&gt;Creating the workflow definition will likely be a very
illuminating experience. You will often find that while your work has been
getting done, it might not have been accomplished in a way that you wanted it
to! Developing a formal workflow definition is a huge first step toward
identifying and fixing inefficiencies in your business process. 
&lt;br /&gt;&lt;br /&gt;Now that hard and fast business rules have to
be applied to the process, you will be able to immediately identify which tasks in your
process are either not well defined and may be removed from your process entirely.  You may also find places where the proper ownership of certain tasks is in question. It will require effort, collaboration with fellow co-workers, and a degree ownership on
behalf of one or many people in your organization to work through these issues and define your process effectively.&lt;br /&gt;&lt;/p&gt;


&lt;p style="text-align:justify;"&gt;Once you have a well defined workflow definition, it is time
to implement the workflow in the Integrify system. Many customers elect to have Integrify create
their first process or two so they may take advantage of our expertise and
learn the system better during the initial collaborative effort. &lt;br /&gt;&lt;/p&gt;&lt;p style="text-align:justify;"&gt;To help you get started Integrify Profession Services and Support has created some of the
following resources for you:&lt;/p&gt;

&lt;ol&gt;&lt;li style="margin-bottom:1em;margin-top:1em;"&gt;&lt;a href="http://community.integrify.com/forums/t/346.aspx" title="My First Process Video"&gt;My First Process Video&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom:1em;margin-top:1em;"&gt;&lt;a href="http://community.integrify.com/files/folders/proserv/entry523.aspx" title="Defining a Process"&gt;How To: Formally Define a Process&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom:1em;margin-top:1em;"&gt;&lt;a href="http://community.integrify.com/forums/61.aspx" title="Q&amp;amp;A"&gt;Common Questions and Answers&lt;/a&gt; &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;img src="http://community.integrify.com/aggbug.aspx?PostID=524" width="1" height="1"&gt;</content><author><name>jpearce</name><uri>http://community.integrify.com/members/jpearce.aspx</uri></author><category term="Professional Services" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/Professional+Services/default.aspx" /><category term="Getting Started" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/Getting+Started/default.aspx" /></entry><entry><title>One Big Process (or three smaller processes)?</title><link rel="alternate" type="text/html" href="http://community.integrify.com/blogs/fromwithin/archive/2007/10/16/one-big-process-or-three-smaller-processes.aspx" /><id>http://community.integrify.com/blogs/fromwithin/archive/2007/10/16/one-big-process-or-three-smaller-processes.aspx</id><published>2007-10-16T12:34:00Z</published><updated>2007-10-16T12:34:00Z</updated><content type="html">
    &lt;p&gt;
      We are often asked during the sales process and in subsequent
      implementations “Can Integrify handle a really big process?”   The
      answer, of course, is “yes”.  If you can dream it up, 99% of the time,
      Integrify can implement the process.&lt;br /&gt;
      &lt;br /&gt;
      But, just because Integrify can handle a large process, it doesn’t
      necessarily mean that that a single, all encompassing process to handle
      everything in your organization is a good idea.    More often than not,
      what occurs in these types of situations is that while something
      outwardly is seen as one massive process in reality it often is two or
      three  (or more) distinct processes all rolled up into one end-to-end
      process.  &lt;br /&gt;
      &lt;br /&gt;
      So, if Integrify can handle it, why shouldn’t you do it?  Here are some
      common pitfalls that often occur when building that huge process:&lt;br /&gt;
      &lt;br /&gt;
    &lt;/p&gt;
    &lt;ol&gt;
      &lt;li&gt;
        &lt;b&gt;Overwhelmed users&lt;/b&gt;: the task history of a given process becomes
        so large user gets lost trying to figure what has occurred, what they
        need to do based on previous tasks that occurred, or what comes
        next.&lt;br /&gt;
        &lt;br /&gt;
      &lt;/li&gt;
      &lt;li&gt;
        &lt;b&gt;Simultaneous Task Assignmen&lt;/b&gt;t:  Like the first item above, if a
        user is assigned two tasks within a process.  It can be confusing for
        that task recipient.  Do they know which task to complete first?  Is
        there an order of precedence they should follow?&lt;br /&gt;
        &lt;br /&gt;
      &lt;/li&gt;
      &lt;li&gt;
        &lt;b&gt;Process Administration headaches&lt;/b&gt;:  it can be difficult to
        maintain a huge process.  Many times the transition condition logic and
        looping become so complex that one change inadvertently impacts the
        entire flow of the process.  
      &lt;/li&gt;
    &lt;/ol&gt;
    &lt;p&gt;
      &lt;br /&gt;
      So how do you handle this?  The first thing you should do is evaluate the
      process and determine if there are two (or three or more) distinct
      streams of work in the process.  For instance, take the following flow
      into consideration:&lt;br /&gt;
    &lt;/p&gt;
    &lt;p&gt;
      &lt;img src="http://community.integrify.com/IntegrifyImages/flow1.gif" class="dropshadow" alt="" align="" border="" height="360" hspace="" width="300" /&gt;&lt;/p&gt;&lt;div style="clear:left;"&gt;&lt;/div&gt;&lt;br /&gt;
      &lt;br /&gt;
      In this particular scenario, a user would submit the initial request
      (Initial Form Request) which in turn starts three additional, yet
      completely distinct tasks that are assigned to different individuals. 
      Once those three tasks (Work Stream A, Work Stream B, Work Stream C) are
      complete, then the Approval task starts.&lt;br /&gt;
      &lt;br /&gt;
      Where things begin to get tricky is when the approver rejects a task and
      needs to loop back from the Approval task to Work Stream A and Work
      Stream C but not Work Stream B.   Since each task is independent of one
      another, it may make sense to also create separate approval task for each
      work stream:&lt;br /&gt;
      &lt;img src="http://community.integrify.com/integrifyimages/flow2.gif" class="dropshadow" alt="" align="" border="" height="" hspace="" width="" /&gt;&lt;div style="clear:left;"&gt;&lt;/div&gt;&lt;br /&gt;
      &lt;br /&gt;
      While it may seem redundant adding the additional approval tasks in the
      process, it actually provides you with a more streamlined way of handling
      loop backs and varying conditions that can arise with loop backs in your
      transitions. Likewise, you will often find that those three distinct
      streams of work are often approved by different individuals and/or
      require additional task to execute after they are complete anyway.
    
    &lt;p&gt;
      Another common issue that is often encountered when a large process is
      built is inclusion or exclusions of tasks at different points in the
      process based on user interactions.  Take the following example:&lt;br /&gt;
    &lt;/p&gt;
    &lt;p&gt;
      &lt;br /&gt;
      &lt;img src="http://community.integrify.com/integrifyimages/flow3.gif" class="dropshadow" alt="" align="" border="" height="388" hspace="" width="300" /&gt;&lt;/p&gt;&lt;div style="clear:left;"&gt;&lt;/div&gt;&lt;br /&gt;
      After the Initial Form Request task is submitted there are a series of OR
      conditions on the Transitions so only one of the following tasks (Work
      Stream A, Work Stream B, or Work Stream c) will execute.  Once one of
      those tasks is executed, then the first Approval Task will start.  After
      that Approval is complete, the Secondary Approval Task is started.  At
      this point, the Secondary Approval task has the option to loop back to
      either Work Stream A, Work Stream B, or Work Stream C.    All of this is
      fine until the user completes the task on the loop back from Secondary
      Approval.  Here is what you can often run into:&lt;br /&gt;
      &lt;br /&gt;
    
    &lt;ol&gt;
      &lt;li&gt;Depending on the Transition conditions you have defined from Work
      Stream A, Work Stream B, or Work Stream C tasks to the first Approval
      task it may not start again. Suppose in those Transition conditions it
      states the Approval task will begin when any of the Work Stream tasks
      completes.  The problem is, one of the Work Stream tasks already
      completed before the loop back.&lt;br /&gt;
        &lt;br /&gt;
      &lt;/li&gt;
      &lt;li&gt;You only want the Approval task to be fired the first time but not
      after the loop back from the Secondary Approval Task.
      &lt;/li&gt;
    &lt;/ol&gt;
    &lt;p&gt;
      &lt;br /&gt;
      Like in the first example, it often is just a restructuring of the
      process.   It may be best to have three Approval tasks rather than one. 
      Or, rather than looping back to Work Stream tasks again, you can just add
      more form tasks:&lt;br /&gt;
      &lt;br /&gt;
      &lt;img src="http://community.integrify.com/integrifyimages/flow4.gif" class="dropshadow" alt="" align="" border="" height="393" hspace="" width="300" /&gt;&lt;/p&gt;&lt;div style="clear:left;"&gt;&lt;/div&gt;&lt;br /&gt;
      &lt;br /&gt;
      While it may seem cumbersome when initially building your process, in the
      long run it will most likely save you time.  Processes change over time
      and more complex rules are often added.  This structure would be able to
      handle these changes.&lt;br /&gt;
       &lt;br /&gt;
      &lt;i&gt;Note:  Integrify can handle looping back through multiple tasks and
      evaluating rules differently with each loop back.  In the Advanced
      Settings for any task, there is an option called “Only triggering task
      state in start rules will evaluate to true”.  This will instruct
      Integrify only to evaluate the rules based on the last iteration of the
      tasks that start it.&lt;/i&gt;&lt;br /&gt;
      &lt;br /&gt;
      While we have focused on altering a process to simplify loop backs and
      conditions, one other alterative is to simply create multiple processes. 
    
    &lt;p&gt;
      The first thing to do is evaluate that initial form in the process. 
      Suppose it was an IT request and on that form it has options for the end
      user to request a new computer, request access to a server, and change an
      email account.   While each of those requests may go through the same IT
      department, they may follow very different approval paths, one may
      require an invoice to be created, another may require a security review,
      etc.  In this scenario, it would best to break that process into three
      distinct processes:&lt;br /&gt;
      &lt;br /&gt;
    &lt;/p&gt;
    &lt;ol&gt;
      &lt;li&gt;New Computer Request
      &lt;/li&gt;
      &lt;li&gt;Access Request
      &lt;/li&gt;
      &lt;li&gt;Email Account Request
      &lt;/li&gt;
    &lt;/ol&gt;
    &lt;p&gt;
      &lt;br /&gt;
      In addition to the simplification of building those processes and
      avoiding some of the common pitfalls discussed above, the added benefit
      is the end user has very distinct processes to select from when they
      start a new request too.  &lt;br /&gt;
    &lt;/p&gt;
    &lt;p&gt;
      Good luck!  
    &lt;/p&gt;
&lt;img src="http://community.integrify.com/aggbug.aspx?PostID=521" width="1" height="1"&gt;</content><author><name>ErikJ</name><uri>http://community.integrify.com/members/ErikJ.aspx</uri></author><category term="building large processes" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/building+large+processes/default.aspx" /><category term="tips and tricks" scheme="http://community.integrify.com/blogs/fromwithin/archive/tags/tips+and+tricks/default.aspx" /></entry><entry><title>Welcome!</title><link rel="alternate" type="text/html" href="http://community.integrify.com/blogs/fromwithin/archive/2007/10/04/welcome.aspx" /><id>http://community.integrify.com/blogs/fromwithin/archive/2007/10/04/welcome.aspx</id><published>2007-10-04T18:30:00Z</published><updated>2007-10-04T18:30:00Z</updated><content type="html">&lt;p&gt;Welcome to the &lt;strong&gt;The View from Within&lt;/strong&gt; blog!&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;In our day-to-day operational experiences we (Integrify Professional Services and Support) often find ourselves discussing many re-occurring themes amongst ourselves and our customers.&amp;nbsp;Our intent here is to share those experiences we find interesting and which we hope you will find interesting&amp;nbsp;too.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Topics will vary considerably from the &amp;#39;How To&amp;#39; to best practices in implementing and working with Integrify.&amp;nbsp; If there is something of interest you would like to us to discuss, please let use know.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Erik Johnson&lt;br /&gt;Integrify Professional Services and Support&lt;/p&gt;&lt;img src="http://community.integrify.com/aggbug.aspx?PostID=501" width="1" height="1"&gt;</content><author><name>ErikJ</name><uri>http://community.integrify.com/members/ErikJ.aspx</uri></author></entry></feed>