Author |
Message
|
JasonG |
Posted: Tue Mar 04, 2003 9:25 am Post subject: Representing batch processes |
|
|
 Novice
Joined: 02 Jan 2003 Posts: 24 Location: Buffalo, NY
|
Has anyone modeled a process in which a batch of items is the input and subsequent processes involve completing tasks relevant to just one item in that batch- I'm having trouble modeling the transition from the receipt of a batch to processing individual items in the batch. The modeling is supporting As-Is modeling. I realize that in the To-Be process, when a workitem is represented by a data structure this problem won't really be an issue, the batch can simply be indicated by a field "Batch Type" in a data structure that represents one individual workitem. Batching is really a technique for physical control of something, in terms of electronic work its helpful info to have for searching, etc, but not really necessary...
I want to depict the current state as accurately as possible. Lets say that a batch of type A has 50 individual sheets of paper in it. That single batch is the input to "Receive Batch" Activity. A person will receive that single batch and that batch is then assigned to the next activity, "Do Work". Would I depict the input to the "Do Work" activity as 50 separate workitems, or model "Do Work" as a Block activity with the batch as the input and loop through until no more workitems remain? In terms of overhead it sounds that the second would be the way to go... However I'm still not convinced that batch processing makes the least bit of sense for the To-Be State...
Thanks- |
|
Back to top |
|
 |
jmac |
Posted: Tue Apr 08, 2003 7:09 am Post subject: Re: Representing batch processes |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
JasonG wrote: |
I want to depict the current state as accurately as possible. Lets say that a batch of type A has 50 individual sheets of paper in it. That single batch is the input to "Receive Batch" Activity. A person will receive that single batch and that batch is then assigned to the next activity, "Do Work". Would I depict the input to the "Do Work" activity as 50 separate workitems, or model "Do Work" as a Block activity with the batch as the input and loop through until no more workitems remain? In terms of overhead it sounds that the second would be the way to go... However I'm still not convinced that batch processing makes the least bit of sense for the To-Be State... |
If you want the individual items to be processed serially then you could model with a loop (i.e. a Block).
However, if you want them to be processed in parallel, you have a problem. The best way to do this is probably with a recursive subprocess, however, Recursion is one of the things that you can not define currently in BPM. Also, spawning subprocesses is an expensive thing in MQWF.
GOOD LUCK _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
JasonG |
Posted: Tue Apr 08, 2003 7:58 am Post subject: Follow up |
|
|
 Novice
Joined: 02 Jan 2003 Posts: 24 Location: Buffalo, NY
|
Thanks for the response John,
Let me ask a follow up question- Lets say that we receive individual envelopes in the mail. These envelopes are sorted into two bins. Business mail and claim mail. These bins are placed on a delivery cart and when all the mail is sorted the bins are delivered to the addressees as a batch.
The problem that I am running into is that if we receive 100 individual envelopes as inputs, there is no way that I can find to convert the 100 individual inputs (envelopes) of the process into 2 outputs (batches of 50 envelopes in each batch). If the transfer medium "interoffice mail" takes 20 minutes the process will be mis- represented without recognizing the batch because the 100 individual iputs will become 100 individual batches. we're not delivering 100 batches at 20 minutes apiece we are delivering 2 batches with a total delivery time of 20 minutes.
I have looked into Task Repetition as a technique that might solve this but we are talking about a strictly physical process that has absolutely no data related to it. Therefore we cannot set a variable for the task rep...
Do you know if people are looking at this problem at IBM? or if there are solutions to it out there already? |
|
Back to top |
|
 |
jmac |
Posted: Tue Apr 08, 2003 8:30 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Jason:
It is hard to understand exactly what you are doing. But if you need to break the individual envelopes down into individual actions in the long run, why not have an instance for each envelope? _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
JasonG |
Posted: Tue Apr 08, 2003 9:40 am Post subject: Disconnect |
|
|
 Novice
Joined: 02 Jan 2003 Posts: 24 Location: Buffalo, NY
|
Hi again-
We are using the Holosofx tool to document our Current Process so that we can get a baseline cost measurement to compare any MQWorkflow ROI to. Our current process requires a human resource to perform an activity that takes individual inputs and creates as the output of the activity a batch of those inputs. We are not rengineering using MQWF at the current time. We merely want to have as accurate as possible current state representation. This is why I would like to talk with someone from Holosofx.
"why not have an instance for each envelope?"
That is exactly how I have the inputs to the current process represented. We receive 100 envelopes in the mail. Hypothetically lets just say there are 50 of type A mail and 50 of type B mail. We don't know that yet though. A person looks at each individual piece of mail and makes the decision "Is this A or B". Once that decision is made the person places the mail in either bin A or bin B. There is a cycle time associated with both the decision and the activity of placing the unit of work (the envelope) in the bin. Once the bin is full (50 claims) the unit of work is now the bin not the envelope and the person begins filling a new bin. Both bins are placed on a mail cart and both are delivered through interoffice mail as the output in 1 minute.
It is a loop, but how do I tell the simulation tool that for every 50 envelopes that get placed in the bin to create only one Bin output? As I have it right now every time an individual envelope phi is placed in the bin an individual bin phi is created. A 1:1 ratio through the simulation. I want it to be a 50:1 Envelope to bin ratio. What this effects is the delivery simulation metrics. If it takes 1 minute to deliver the bin through interoffice mail the simulation should be able to reflect a one minute delivery time for the output of the process. As it stands now, because Holosofx thinks that the ratio of Envelopes to bins is 1:1 for every envelope input an equal amount of Bin outputs is simulated. That would then reflect a 1 minute x 100 bins= 100 minutes Transfer duration when the real process delivers two bins of 50 envelopes each in 1 minute. That would also skew the cost of the role resource assigned to delivery, etc.
I completely agree with you though that once we have an MQ Workflow controlled system it is ridiculous to batch workitems. Just arrange them in FIFO order on the worklist.... |
|
Back to top |
|
 |
jmac |
Posted: Tue Apr 08, 2003 11:30 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Jason:
OK, now I get it...
The best I can say is to contact IBM and ask them for some BPM assistance. You are using the tool (BPM) to do the things that I have never done with it. I know this tool, but only from the perspective of a MQWF Buildtime replacement. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
manoj |
Posted: Wed Apr 09, 2003 4:41 am Post subject: |
|
|
 Master
Joined: 30 Jan 2002 Posts: 237 Location: Virgina
|
Hi,
You may want to try Bundling techinique for this kind of scenario. _________________ -manoj |
|
Back to top |
|
 |
JasonG |
Posted: Wed Apr 09, 2003 5:43 am Post subject: Bundling? |
|
|
 Novice
Joined: 02 Jan 2003 Posts: 24 Location: Buffalo, NY
|
Hi manoj,
I am not familiar with the bundling technique, if you could describe it a little more I would appreciate it.
Jason |
|
Back to top |
|
 |
jmac |
Posted: Wed Apr 09, 2003 5:56 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Jason/manoj:
Bundling is not officially supported in MQWF. You can approximate what FlowMark bundling did using recursive processes. However, since Jason is using BPM as his modeler that is out of the question since it does not support recursive processes. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
JasonG |
Posted: Wed Apr 09, 2003 6:03 am Post subject: Thanks anyway- |
|
|
 Novice
Joined: 02 Jan 2003 Posts: 24 Location: Buffalo, NY
|
Thanks for the help though manoj... |
|
Back to top |
|
 |
jayffic |
Posted: Fri Apr 11, 2003 8:45 am Post subject: |
|
|
Novice
Joined: 12 Mar 2003 Posts: 12
|
Here's a dumb question: why not model each output as 1/50 of a second. That way the total output will be one minute even if they are individual outputs. It may not be quite accurate, but may get you a result you can live near.
Good luck. |
|
Back to top |
|
 |
JasonG |
Posted: Fri Apr 11, 2003 9:50 am Post subject: 1/50 good idea but... |
|
|
 Novice
Joined: 02 Jan 2003 Posts: 24 Location: Buffalo, NY
|
Thanks, Jayffic
I thought about that but then you don't get an accurate reading in the process simulation mode for Queue Duration, Max in Queue. Transfer durations are then inaccurate as well.
And in terms of the Holosofx BPR methodolgy they state very strongly that the As-Is model should be a representation of reality. The reality is that we take 50 individual sheets of paper, and perform an activity on each one. The output of the activity is not 50 sheets of paper but 1 batch that contains 50 sheets of paper. No matter what I have tried I can't represent that situation. 50 in = 50 out. The interoffice mail medium takes 10 minutes. Because we can't figure out how to convert 50 inputs into 1 output batch , 50 outputs leave the activity and get charged 10 minutes of transfer time each. Thats 500 minutes of transfer time.
I came up with a similar thought regarding the 1/50th of the total transfer time idea that you had but it gets real complicated when 1 batch gets put on a Mail cart and the cart isn't delivered until there are 100 batches on the cart.
10 minutes = 600 seconds / 50= 30 seconds in the medium per output-
I just think it would be pretty simple for IBM to define a "Batch" object in the Phi Type table that you could define in terms of how many individual outputs are required from the previous activity to make up a batch. When that batch gets to the next activity then we should be able to specify "perform follow-on activity on individual inputs". Thats reality! |
|
Back to top |
|
 |
|