U.S. patent application number 14/452585 was filed with the patent office on 2014-11-27 for managing business process calendars.
The applicant listed for this patent is INTERNATIONAL BUSINESS MACHINES CORPORATION. Invention is credited to John A. Ricketts.
Application Number | 20140350988 14/452585 |
Document ID | / |
Family ID | 40347377 |
Filed Date | 2014-11-27 |
United States Patent
Application |
20140350988 |
Kind Code |
A1 |
Ricketts; John A. |
November 27, 2014 |
MANAGING BUSINESS PROCESS CALENDARS
Abstract
A system and method of managing business process calendars. A
method of managing a process includes defining at least one process
to be performed by a first entity for at least one second entity,
and associating a first subset of a plurality of tasks of the at
least one process with the first entity. The method further
includes associating a second subset of the plurality of tasks with
the at least one second entity, and creating a process calendar
based upon the at least one process and the plurality of tasks. The
method additionally includes displaying the process calendar.
Inventors: |
Ricketts; John A.;
(Lakeville, MN) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
INTERNATIONAL BUSINESS MACHINES CORPORATION |
Armonk |
NY |
US |
|
|
Family ID: |
40347377 |
Appl. No.: |
14/452585 |
Filed: |
August 6, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11835824 |
Aug 8, 2007 |
8843387 |
|
|
14452585 |
|
|
|
|
Current U.S.
Class: |
705/7.19 |
Current CPC
Class: |
G06Q 10/1097 20130101;
G06Q 10/109 20130101; G06Q 10/06314 20130101; G06Q 10/1095
20130101 |
Class at
Publication: |
705/7.19 |
International
Class: |
G06Q 10/10 20060101
G06Q010/10 |
Claims
1. A computer program product comprising a computer usable storage
memory or device having a computer readable program embodied in the
memory or device, wherein the computer readable program when
executed on a computing device is operable to cause the computing
device to: define at least one process to be performed by a first
entity for at least one second entity; associate a first subset of
a plurality of tasks of the at least one process with the first
entity; associate a second subset of the plurality of tasks with
the at least one second entity; create a process calendar that
includes defining a service center where a particular task is
performed, a client the particular task is performed for, a
description of the at least one process, and a cycle that the at
least one process runs on based upon the at least one process and
the plurality of tasks; and display the process calendar, wherein
the displaying the process calendar comprises displaying a
plurality of rows each representing a separate process; and wherein
the displaying the process calendar comprises displaying a service
center column, a client column, and a cycle column, with each of
the columns intersecting the plurality of rows.
2. The computer program product of claim 1, wherein the at least
one process comprises a plurality of processes performed by the
first entity for the at least one second entity.
3. The computer program product of claim 1, wherein the displaying
the process calendar comprises: displaying the first subset of
tasks relative to a plurality of time periods; and displaying for
each time period at least one of: a sum of instances of tasks,
hours associated with tasks, and people assigned with tasks.
4. The computer program product of claim 1, wherein: the creating
the process calendar comprises creating, in the service center
column, data that indicates a service center that performs the
process; the creating the process calendar comprises creating, in
the client column, data that indicates a client for which the
service center performs the process; and the creating the process
calendar comprises creating, in the cycle column, data that
indicates a cycle by which the service center performs the process
for the client.
5. The computer program product of claim 1, wherein the computer
readable program when executed on a computing device is further
operable to cause the computing device to track, using the process
calendar, a number of tasks performed over a period of time.
6. The computer program product of claim 5, wherein the tracking
the number of tasks is used to determine peak work periods that can
be identified for adequate resource management, and wherein the
number of tasks is at least one of number of hours worked and
number of people assigned.
7. The computer program product of claim 1, wherein the displaying
further comprises displaying a plurality of numbered columns, each
representing a particular calendar week.
8. The computer program product of claim 7, wherein the computer
readable program when executed on a computing device is further
operable to cause the computing device to identify an entry in at
least one of the plurality of rows.
9. The computer program product of claim 8, wherein the entry is
located at an intersection of the at least one of the plurality of
rows and at least one of the plurality of numbered columns; and the
intersection indicates a task of the plurality of tasks is
performed for the separate process during the particular calendar
week.
10. The computer program product of claim 1, wherein the creating
the process calendar includes creating a client process calendar, a
provider process calendar, and a deviation display area side by
side in separate areas of the process calendar.
11. The computer program product of claim 1, further comprises:
creating a client schedule in a first area of the process calendar;
creating a provider schedule in a second area of the process
calendar; and creating a third area in the process calendar that
includes the first subset of tasks and the second subsets of tasks,
wherein the third area is a separate area of the process calendar
than the first area and the second area.
12. The computer program product of claim 11, wherein: the first
entity is a client that operates in a first time zone; the at least
one second entity is a provider that operates in a second time zone
different from the first time zone; the displaying the process
calendar comprises displaying the client schedule in the first area
of the process calendar, displaying the provider schedule in the
second area of the process calendar, and displaying the first
subset of tasks and the second subset of tasks in the third area of
the process calendar; and the displaying the client schedule
comprises displaying discrete units of client time in the first
time zone and displaying a respective indication of client status
as one of working and idle for each respective one of the units of
client time.
13. The computer program product of claim 12, wherein the
displaying the process calendar further comprises: displaying the
first subset of tasks and the second subset of tasks relative to
the discrete units of client time in the first time zone and the
discrete units of provider time in the second time zone, and also
according to start time, end time, duration, and precedence; and
displaying arrows between tasks indicating gaps where no work is
accomplished until working hours resume at another site.
14. The computer program product of claim 13, wherein the creating
the process calendar comprises creating one of: a displayable
comparison of a first method of performing the at least one process
and a second method of performing the at least one process; a
displayable depiction of the first subset of tasks and the second
subset of tasks relative to a first time zone and a second time
zone; and a displayable multi-process calendar.
Description
FIELD OF THE INVENTION
[0001] The invention generally relates to managing process
calendars and, more particularly, to creating, displaying,
modifying, and utilizing process calendars.
BACKGROUND
[0002] A business process typically comprises a set of tasks
associated with executing an operation of a business. Such
processes can be performed concurrently and continuously (e.g.,
making sales and collecting payments), or in sequence on a
frequently recurring schedule (e.g., preparing paychecks).
[0003] A process calendar is commonly thought of as the schedule
for a business process, and may present a timeline for the tasks
involved in a process. The process calendar may be subject to
constraints, such as, for example: due date of tasks (e.g., a
specific date around which the tasks are scheduled); precedence of
tasks (e.g., the relationship between tasks that specifies which
tasks must be completed before or concurrent with other tasks);
duration of tasks (e.g., the amount of time required to complete a
task, which can be fixed or variable); volume (e.g., when inputs
drive processing time, there is an upper threshold that cannot be
exceeded and a lower threshold that should not be exceeded);
elasticity (e.g., task duration that depends on the duration of
other tasks (for example, management and quality assurance tasks
may expand or contract based on other tasks)); time off (e.g.,
holidays and shut-down periods which decrease capacity); time on
(e.g., overtime or part-time work which increase capacity);
contention (e.g., there are not enough workers available to
complete concurrent tasks); and shifts (e.g., the working hours
schedulable for each task).
[0004] It is common for business processes to be outsourced. For
example, a client may outsource its payroll process to a service
provider, such that the service provider performs at least some of
the tasks involved in the process. In such a situation, it is
possible that both the client and provider may have tasks to
perform in completing the payroll process. As a simplified example,
the client may be responsible for reporting the time worked by each
employee to the service provider, and the service provider may be
responsible for timely payment of each employee.
[0005] Prior to outsourcing to a service provider, the client may
have performed the business process on its own. For example, a
company may have done its own payroll process for a time period
before deciding to outsource the payroll process to a service
provider. However, when transitioning to an outsourced process,
there are usually differences between how the client performed the
process and how the provider performs the process. That is, the
client's custom process and the service provider's standard process
may have significant differences due to technology, skills, best
practices, etc. Furthermore, the client may engage third parties
for some of its tasks, while the service provider may use
subcontractors for some of its tasks.
[0006] Differences between the client's custom process and the
service provider's standard process can lead to increased cost and
complexity in performing the process. For example, the respective
processes may differ in tasks, duration, timing, and staffing. More
specifically, the client and service provider may use staff in
different salary bands because their skill levels differ. For it to
make sense for a client to outsource a process, the service
provider's process needs to be less expensive and/or simpler than
the client's current process, or produce better results. As the
difference between possible options narrows, so does any perceived
advantage to the client. Moreover, processes may also differ in
anticipated service levels. If the client expects the service
provider to attain higher service levels, the process may have to
be altered.
[0007] Furthermore, when a client, service provider, third-party,
and/or subcontractor have different constraints, the process
manager may attempt to reconcile those differences in order to
produce a feasible process calendar. For example, when parties are
in different time zones and their shifts are not concurrent,
time-zone differences are a constraint. Similarly, when parties
have concurrent shifts but different holidays, time-off differences
are a constraint.
[0008] Although the scheduling of tasks in a business process is
similar to how tasks are scheduled in a project, business processes
and projects are fundamentally different in several ways. For
example, each project is unique in some way, but business processes
are usually recurring. That is, a given task is normally scheduled
just once per project, but perhaps multiple times per process (at
least once per cycle). Also, projects are frequently late, while
processes generally must be completed on time. That is, scope creep
and change orders tend to make projects late, but service level
agreements generally require service providers to complete process
cycles on time or pay penalties, even when input volumes vary.
Additionally, resources are typically assigned only for the
duration of projects, but indefinitely to processes. The recurring
nature of tasks in processes means each resource likely performs
the same task over and over. Moreover, project schedules rarely, if
ever, consider time zone differences, while processes often do.
[0009] Accordingly, there exists a need in the art to overcome the
deficiencies and limitations described hereinabove.
SUMMARY
[0010] In a first aspect of the invention, there is a method of
managing a process, comprising defining at least one process to be
performed by a first entity for at least one second entity, and
associating a first subset of a plurality of tasks of the at least
one process with the first entity. The method further includes
associating a second subset of the plurality of tasks with the at
least one second entity, and creating a process calendar based upon
the at least one process and the plurality of tasks. The method
additionally includes displaying the process calendar.
[0011] In another aspect of the invention, there is a method for
managing a process, comprising providing a computer infrastructure
being operable to:
define at least one process to be performed by a first entity for
at least one second entity. The computer infrastructure is further
operable to associate a first subset of a plurality of tasks of the
at least one process with the first entity, and associate a second
subset of the plurality of tasks with the at least one second
entity. The computer infrastructure is also operable to create a
process calendar based upon the at least one process and the
plurality of tasks, and display the process calendar.
[0012] In another aspect of the invention, there is a computer
program product comprising a computer usable medium having a
computer readable program embodied in the medium, wherein the
computer readable program when executed on a computing device is
operable to cause the computing device to define at least one
process to be performed by a first entity for at least one second
entity. The computer readable program is operable to cause the
computing device to associate a first subset of a plurality of
tasks of the at least one process with the first entity, and
associate a second subset of the plurality of tasks with the at
least one second entity. The computer readable program is operable
to cause the computing device to create a process calendar based
upon the at least one process and the plurality of tasks; and
display the process calendar.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The present invention is described in the detailed
description which follows, in reference to the noted plurality of
drawings by way of non-limiting examples of exemplary embodiments
of the present invention, in which:
[0014] FIG. 1 shows an illustrative environment for implementing
the steps in accordance with the invention;
[0015] FIGS. 2-4 show comparisons of process calendars according to
aspects of the invention;
[0016] FIGS. 5A-5C show process calendars according to aspects of
the invention;
[0017] FIG. 6 shows a multi-process calendar according to aspects
of the invention; and
[0018] FIGS. 7-9 show flow diagrams depicting implementations of
methods according to aspects of the invention.
DETAILED DESCRIPTION
[0019] The invention generally relates to managing process
calendars and, more particularly, to creating, displaying,
modifying, and utilizing process calendars. In implementations of
the invention, a comparison of a client process calendar to a
provider process calendar is created and displayed. In further
implementations of the invention, a process calendar that accounts
for tasks performed by both a client and provider is created,
displayed, and modified. In even further implementations of the
invention, a multi-process calendar is created and displayed. In
this manner, the various process calendars may be utilized in
decision making processes, such as, for example, negotiations
between client and provider, staffing decisions, resource
allocation, constraint management, and buffer handling.
[0020] FIG. 1 shows an illustrative environment 10 for managing the
processes in accordance with the invention. To this extent, the
environment 10 includes a computer infrastructure 12 that can
perform the processes described herein. In particular, the computer
infrastructure 12 includes a computing device 14 that comprises a
management system 30, which makes the computing device 14 operable
to perform the processes described herein, for example, managing
business process calendars. The computing device 14 includes a
processor 20, a memory 22A, an input/output (I/O) interface 24, and
a bus 26. The memory 22A can include local memory employed during
actual execution of program code, bulk storage, and cache memories
which provide temporary storage of at least some program code in
order to reduce the number of times code must be retrieved from
bulk storage during execution. Further, the computing device 14 is
in communication with an external I/O device/resource 28 and a
storage system 22B. The I/O device/resource 28 can comprise any
device that enables an individual to interact with the computing
device 14 or any device that enables the computing device 14 to
communicate with one or more other computing devices using any type
of communications link. For example, the external I/O
device/resource 28 may be keyboards, displays, pointing devices,
etc.
[0021] The processor 20 executes computer program code (e.g.,
program control 40), which is stored in memory 22A and/or storage
system 22B. While executing computer program code, the processor 20
can read and/or write data to/from memory 22A, storage system 22B,
and/or I/O interface 24. The bus 26 provides a communications link
between each of the components in the computing device 14.
[0022] The computing device 14 can comprise any general purpose
computing article of manufacture capable of executing computer
program code installed thereon (e.g., a personal computer, server,
wireless notebook, smart phone, personal digital assistant, etc.).
However, it is understood that the computing device 14 is only
representative of various possible equivalent computing devices
that may perform the processes described herein. To this extent, in
embodiments, the functionality provided by the computing device 14
can be implemented by a computing article of manufacture that
includes any combination of general and/or specific purpose
hardware and/or computer program code. In each embodiment, the
program code and hardware can be created using standard programming
and engineering techniques, respectively.
[0023] Similarly, the computer infrastructure 12 is only
illustrative of various types of computer infrastructures for
implementing the invention. For example, in embodiments, the
computer infrastructure 12 comprises two or more computing devices
(e.g., a server cluster) that communicate over any type of
communications link, such as a network, a shared memory, or the
like, to perform the processes described herein. Further, while
performing the processes described herein, one or more computing
devices in the computer infrastructure 12 can communicate with one
or more other computing devices external to computer infrastructure
12 using any type of communications link. The communications link
can comprise any combination of wired and/or wireless links; any
combination of one or more types of networks (e.g., the Internet, a
wide area network, a local area network, a virtual private network,
etc.); and/or utilize any combination of transmission techniques
and protocols.
[0024] In embodiments, the invention provides a business method
that performs the steps of the invention on a subscription,
advertising, and/or fee basis. That is, a service provider, such as
a Solution Integrator or Providing Entity, could offer to perform
the processes described herein. In this case, the service provider
can create, maintain, deploy, support, etc., the computer
infrastructure that performs the process steps of the invention for
one or more customers. In return, the service provider can receive
payment from the customer(s) under a subscription and/or fee
agreement and/or the service provider can receive payment from the
sale of advertising content to one or more third parties.
Process Calendar Comparison
[0025] FIG. 2 shows a comparison 200 of a client process calendar
and a provider process calendar according to aspects of the
invention. Such a comparison is useful for identifying and
reconciling deviations between the client process and the provider
process. Although FIG. 2 is described with respect to a specific
example, the invention is not limited to this example; rather,
implementations of the invention may be used with process calendars
associated with any type of process, having any number and types of
tasks, having any desired precedence, duration, etc.
[0026] In the exemplary comparison 200 depicted in FIG. 2, a
client's process calendar 205 for handling a process (e.g.,
payroll) is shown beside a provider's process calendar 210 for
handling the same process. The process calendars 205 and 210
include fourteen tasks 215 numbered one through fourteen. Each task
215 is also associated with a task ID 220 (e.g., F1, F2, D1, etc.)
and a task name 225 (e.g., Feed 1, Feed 2, Data 1, etc.). For
instance, the first task has an ID of "F1" and is named "Feed 1",
and may comprise, for example, generating data regarding hours
worked by each employee.
[0027] The process calendars depicted in FIG. 2 are shown with a
weekly cycle, where each week of the cycle comprises forty hourly
periods and payday occurs at week zero. However, the invention is
not limited to these parameters, and any other suitable parameters
may be used. For example, other cycles, such as monthly, biweekly,
semimonthly, or any other suitable cycle, may be used. Moreover,
the cycle may be divided into any suitable types and numbers of
units, such as a fifty hour work week.
[0028] The client's first task F1, indicated by first row 227, is
back-scheduled to meet the due date of payday at week 0, meaning
that task F1 is to be performed before week 0. In the example
shown, task F1 begins at the first hour of the first day of week
-3, as indicated by values at the intersection of first row 227 and
start columns 230. This translates to a start period of 41, as
indicated by start period column 232, because, in this example,
week -4 comprises periods 1-40, week -3 comprises periods 41-80,
week -2 comprises periods 81-120, etc. As is further shown in FIG.
2, client task F1 has a duration of 40 hours, as indicated by
duration column 234, meaning the task has an end period of 80, as
shown in end period column 236. Client tasks F2, D1, and D3 are
shown in a similar fashion in the client process calendar 205.
[0029] In this example, the client's task A1, shown in fifth row
237, may be associated with payroll administration, and may
comprise, for example, changing the pay rate or benefits of an
employee. Client task A1 is shown as having a predecessor task D1,
indicated by a value at the intersection of fifth row 237 and
predecessor ID column 238. This means that task A1 is related to
task D1 such that task A1 cannot start until task D1 is complete.
Since task D1 has an end period of 100, as indicated by the
intersection of third row 239 and end period column 236, task A1 is
scheduled to have a start period of 101 (seen at the intersection
of fifth row 237 and start period column 232). Client tasks A2, A3,
P1, P2, O1, O2, M1, M2, and M3 are shown in a similar fashion in
the client process calendar. In this manner, the client process
calendar 205 shows various tasks comprised in a process (e.g.,
payroll), including the start period, duration, and end period of
each task.
[0030] FIG. 2 also shows a provider's process calendar 210 for the
same process (e.g., payroll). A provider may perform a process
differently from a client for any number of reasons, such as, for
example, different technology, different skills, historical best
practice, etc. For example, in the implementation shown, the
provider performs task F1 at the first hour of the second day of
week -4, as indicated by the intersection of first row 227 and
provider start columns 250. This translates to the provider
beginning task F1 at period 9, as shown in provider start period
column 255.
[0031] Furthermore, the provider only requires a duration of 32
hours to perform task F1, as indicated by provider duration column
260, meaning that the provider ends task F1 at period 40, shown in
provider end period column 262. Provider tasks F2, D1, and D2 are
depicted in similar fashion. As can be seen, for each respective
task (e.g., F1, F2, D1, etc.) the client and provider may have
different duration, start period, and end period.
[0032] Still referring to FIG. 2, the provider process calendar 210
shows provider task A1 having a predecessor task D1, as indicated
at the intersection of fifth row 237 and provider predecessor ID
column 265. However, the provider tasks do not necessarily have the
same predecessor tasks as the corresponding client task. For
example, as shown in thirteenth row 267, provider task M2 does not
have a predecessor task, while client task M2 must be preceded by
client task M1. Similarly, it is possible that the client and
provider do not even perform all of the same tasks. For example, as
depicted by seventh row 269, the provider does not have a task that
corresponds to client task A3. Similarly, and the client does not
have a task that corresponds to provider task M3, as indicated by
fourteenth row 271.
[0033] Thus, by creating and displaying the client process calendar
205 and the provider process calendar 210 side-by-side, one can
identify deviations between the client process and the provider
process. Moreover, in embodiments, these deviations may be
displayed in an area alongside the compared process calendars. For
example, the deviation display area 275 shows that client task F1
begins later (reference number 280) and has a longer duration
(reference number 282) than corresponding provider task F1.
Similarly, the deviation display area 275 shows that client task A3
is extra (e.g., performed by the client but not by the provider, as
indicated by reference number 284), and that client task M3 is
missing (e.g., performed by the provider but not by the client, as
indicated by reference number 286).
[0034] The comparison 200 is useful for many purposes. For
instance, such a comparison may be useful in fulfilling a due
diligence requirement before engaging a service provider for
outsourcing of a process. Furthermore, once deviations are
identified, such deviations can be reconciled. For example the
client and provider may determine whether the deviations are due to
different assumptions about volume or service levels, or some other
reason(s). In such situations, they may determine whether the
client is satisfied with the provider's standard process or if that
process will be modified for this client. This has the possibility
of affecting the service agreement between the client and provider
both in terms of cost and level of quality to be provided.
[0035] Embodiments of the invention provide for displaying a
comparison of the client process calendar and the provider process
calendar in different forms. For example, FIG. 3 shows the process
calendar data of FIG. 2 in a week-by-week view. That is, in FIG. 3,
the same fourteen tasks from FIG. 2 (e.g., F1, F2, D1, D2, A1, A2,
A3, P1, P2, O1, O2, M1, M2, M3) are depicted as rows, while the
weeks (e.g., -4, -3, -2, -1, 0, 1, and 2) are displayed as columns.
For example, column 301 corresponding to Week -4 comprises periods
1-40, column 302 corresponding to Week -3 comprises periods 41-80,
etc.
[0036] In FIG. 3, a box with the letter "C" at the intersection of
a certain task (depicted by a horizontal row) and a specific week
(depicted by a vertical column) indicates that the client process
calendar calls for the client to perform that task during at least
a portion of that week. For example, as described earlier with
respect to FIG. 2, the client performs task F1 during week -3.
Therefore, there is a box with the letter "C" at the intersection
of F1 and week -3, as indicated by reference number 305.
[0037] A box with the letter "I" at the intersection of a certain
task and a specific week indicates that the provider process
calendar calls for the provider to perform that task during at
least a portion of that week. For example, as described earlier
with respect to FIG. 2, the provider performs task F1 during week
-4. Therefore, there is a box with the letter "I" at the
intersection of F1 and week -4, as indicated by reference number
310.
[0038] A box with the identifier "CI" indicates that the client and
the provider both perform a task during at least a portion of that
week. For example, both the client and the provider perform task F2
during week -2, as indicated by reference number 315.
[0039] As further depicted in FIG. 3, some tasks span more than one
week. For example, the client performs task M2 during week 0 and
week 1, shown by reference numbers 320 and 325, while the provider
performs task M2 during week 1 and week 2, shown by reference
numbers 325 and 330.
[0040] FIG. 4 shows data from the same process calendar comparison
as FIGS. 2 and 3, but at an even finer resolution. That is, FIG. 4
shows tasks that occur during eight hour time blocks, with each
vertical column representing a single working day. For example,
column 410 corresponding to Wednesday of week -1 includes periods
137-144, column 415 corresponding to Thursday of week -1 includes
periods 145-152, column 420 corresponding to Friday of week -1
includes periods 153-160, and column 425 corresponding to Monday of
week 0 includes periods 161-168, etc.
[0041] In this example (as shown in the data in FIG. 2), the client
performs task P1 beginning at period 141 and ending at period 156.
This is depicted in FIG. 4 by boxes 430, 432, and 434 (each
containing at least the letter "C") at the intersection of P1 and
the appropriate vertical columns that include these time periods.
Similarly, the provider performs task P1 beginning at period 141
and ending at period 164. This is depicted in FIG. 4 by boxes 430,
432, 434, and 436 (each containing at least the letter "I") located
at the intersection of P1 and the appropriate time periods.
[0042] While resolutions of forty hours (FIG. 3) and eight hours
(FIG. 4) have been described, it is noted that the invention is not
limited to these exemplary values. Instead, any suitable resolution
may be used. For example, implementations of the invention may take
a software form that presents the aforementioned comparisons as
part of a graphical user interface (GUI), where a user may view the
comparison at any suitable resolution by designating the resolution
through the a block selection portion 460 of the GUI such as, for
example, a drop down menu or text field. Additionally or
alternatively, the GUI may include a view selection portion 465
through which a user may select to view only the client process
calendar, only the provider process calendar, or both the client
and provider process calendar. Even further, the GUI may include a
cycle selection portion 470 that allows a user to choose to display
the process calendar data according to any suitable cycle, such as,
for example, weekly, biweekly, monthly, semimonthly, etc.
[0043] Thus, implementations of the invention provide for creating
and displaying a comparison of the client process calendar and the
provider process calendar at differing resolutions. This may be
used to further identify deviations between the client process
calendar and the provider process calendar, which deviations can
then be reconciled in any suitable fashion.
Process Calendar Accommodating Time Zones
[0044] It is sometimes the case that a client and a provider
cooperate to perform a process while the client and provider are
located in different time zones. One way to reconcile time zone
differences is for the provider resources (e.g., employees,
computing devices, etc.) to work an overnight shift that coincides
with normal working hours at the client site. This eliminates the
time-zone difference between the client and the provider, and may
be performed in front-office business processes where the service
provider must interact in real time with the client's employees or
customers. However, it is not always feasible, or even beneficial,
to perform concurrent client and provider shifts.
[0045] For example, in processes where work products flow from task
to task without interaction, it can be beneficial to have client
staff and provider staff offset by time zones, such that the client
may be working on its task while the provider is not working, and
vice versa. In this manner, the effective daily productive hours
can grow from 8 to 16 or even 24 at times.
[0046] FIG. 5A shows a process calendar 500 according to
implementations of the invention that accounts for time zone
differences between a client and a provider. In the example shown,
the client and provider are located in time zones twelve hours
apart. Such situations might arise, for example, when the provider
performs its part of a business process in a shared service center
elsewhere in the world because that center has the skill or cost
profile necessary to meet the client requirements.
[0047] In the process calendar 500, the client and provider
cooperate to perform a business process. That is, both the client
and provider have tasks to do in order to complete the process. A
client schedule 510 is shown, which includes a client day 512,
client time 514, and client status 516. A provider schedule 520 is
also shown, which includes a provider day 522, provider time 524,
and provider status 526. As can be seen, the client and the
provider are situated in time zones that are twelve hours apart,
such that 10:00 AM Monday client time corresponds to 10:00 PM
provider time. A time period column 530 is provided for ease of
comparison of the offset time zones.
[0048] In the exemplary process calendar, the tasks are constrained
to be performed in sequential order. That is, task #1 must be
completed before task #2 is begun, and task #2 must be completed
before task #3 is begun. Arrows 550 between tasks indicate gaps
where no work is accomplished until working hours resume at the
other site. The process may be, for example, a payroll process,
although other processes may be used with the invention. Moreover,
the durations and constraints (e.g., precedents) described are
merely exemplary, and any suitable process with any desirable tasks
may be used with the invention.
[0049] In the exemplary process calendar 500, the difference in
time zones is wide enough that none of the normal working hours
overlap across sites. (Non-working hours at both sites are
suppressed from the illustration for clarity.) As depicted in FIG.
5A, task #1 has a duration of five working hours, and is performed
by the client as depicted by the letter "C" at various time slots
in column 535. Task #2 has a duration of nine working hours and is
performed by the provider as indicated by the letter "P" at time
slots in column 540. Task #3 has a duration of six working hours
and is performed by the client as indicated by the letter "C" at
time slots in column 545.
[0050] The process calendar 500 is useful for optimizing efficiency
in the process. For example, when a particular task has a duration
of more than one working day (e.g., eight hours), that task may
cause considerable delay in the process. More specifically, it can
be seen from FIG. 5A that task #2 has a nine hour duration. If the
provider works on task #2 for only eight hours in a day (e.g., from
time period 13 through time period 20), then the last hour of task
#2 will not be completed until time period 37 (e.g., the provider's
next working day), indicated by reference number 555. Therefore,
the client cannot begin task #3 until time period 49 (8:00 AM
Wednesday, client time), indicated by reference number 560.
[0051] By creating and depicting the process calendar 500 in
accordance with aspects of the invention, a user (e.g., manager,
automated computer program, etc.) may recognize the inefficiency
shown in FIG. 5A, and take action to address the inefficiency. For
example, the user may modify the process calendar, as shown in FIG.
5B, to schedule an extra resource (e.g., employee, work station,
etc.) devoted to task #2 during time period 13, as indicated by
reference number 565. This allows the provider to complete task #2
by time period 20, which allows the client to begin task #3 at time
period 25 (8:00 AM Tuesday, client time, indicated by reference
number 570), a full day earlier than the scenario depicted in FIG.
5A. Thus, by using implementations of the invention to create and
display a process calendar, the efficiency of a process can be
enhanced. For example, process calendars according to aspects of
the invention may be utilized to make a business decision, such as,
for example: re-defining a start period of a particular task;
re-defining an end period of a particular task; allocating extra
resources to a particular task; re-assigning a particular task, or
a portion thereof, from the client to the service provider, or vice
versa; re-assigning a particular task to a third entity (e.g., a
subcontractor); eliminating or creating a particular task; changing
an automation portion of a particular task (e.g., substituting
technology for labor); and scheduling overtime or time-off
associated with a particular task to coincide with peaks and
valleys in the schedule.
[0052] Implementations of the invention can also be useful in
depicting how a first time zone offset may affect a business
process differently from a second time zone offset. For example, a
process calendar 585 is shown in FIG. 5C in which the client
work-day and the provider work-day are offset by four hours instead
of twelve hours (as in FIG. 5B). By mapping out the same process
described in FIG. 5B, it is shown that the four hour offset in
process calendar 585 causes task #3 to be completed by 9:00 AM
Wednesday (client time) as compared to 1:00 PM Tuesday (client
time) for the process calendar shown in FIG. 5B. Thus, by comparing
FIGS. 5B and 5C, the process calendar can be used to determine how
a first time zone offset may affect a process differently from a
second time zone offset. This information can be used, for example,
to adjust resources to optimize the efficiency of the process.
[0053] As can be seen from FIGS. 5A-5C, implementations of the
invention provide information for creating and displaying process
calendars, and for making management decisions about processes
based upon the information gleaned from the process calendars. For
example, the creation and depiction of a process calendar can be
used to identify where and how constraints create inefficiency.
Similarly, implementations of the invention may be used to simulate
the addition of buffers into the schedule (e.g., scheduling more
time than normally required for a task), to see how that will
affect the rest of the process.
Multi-Process Calendar
[0054] FIG. 6 shows a process calendar 600, according to aspects of
the invention, which includes data relating to multiple processes.
The exemplary process calendar 600 is for a service provider that
performs, for example, payroll for clients X and Y. As indicated by
service center column 605 and client column 610, the service
provider pays some client X employees from service center AP
(Asia-Pacific), other client X employees from service center EU
(Europe), and other client X employees from service center LA
(Latin America). Additionally, the service provider pays client Y
employees from service center LA. Moreover, as indicated by cycle
column 620, the service provider pays the various employees on
either a monthly, weekly, or biweekly cycle.
[0055] In the exemplary embodiment shown, each numbered column 625
represents one week in the calendar. Moreover, each row represents
a separate process. An entry at the intersection of a row and
column indicates a task that is performed for that process during
that week. For example, the first row 635 represents client X's
monthly payroll from service center AP for the month of January. In
this process, tasks are performed in weeks 1 through 6, as
indicated by reference number 640. Similarly, the sixth row 645
represents client X's weekly payroll from service center AP for
week 7. In this process, tasks are performed in weeks 3 through 9,
as indicated by reference number 650.
[0056] By creating and displaying a multi-process calendar
according to aspects of the invention, it is possible to track,
amongst other things, the number of tasks performed per week. For
example, when considering all of the processes together, there are
four tasks performed in week one, as indicated by reference number
655. Likewise, there are six tasks performed in week two, as
indicated by reference number 660. In this manner, peak work weeks
(such as those indicated by reference number 665) can be identified
for adequate resource management. Although number of instances of
tasks per week are shown in FIG. 6, the invention is not limited to
this example; rather, any suitable information may be tallied and
displayed, such as, for example, the number of hours to be worked,
the number of people assigned, etc.
Methods of the Invention
[0057] The steps of the flow diagrams described herein may be
implemented in the environment of FIG. 1. The flow diagrams may
equally represent a high-level block diagram of the invention. The
steps of the flow diagrams may be implemented and executed from a
server, in a client-server relationship, or they may run on a user
workstation with operative information conveyed to the user
workstation. Additionally, the invention can take the form of an
entirely hardware embodiment, an entirely software embodiment or an
embodiment containing both hardware and software elements. In an
embodiment, the software elements include firmware, resident
software, microcode, etc.
[0058] Furthermore, the invention can take the form of a computer
program product accessible from a computer-usable or
computer-readable medium providing program code for use by or in
connection with a computer or any instruction execution system. The
software and/or computer program product can be implemented in the
environment of FIG. 1. For the purposes of this description, a
computer-usable or computer readable medium can be any apparatus
that can contain, store, communicate, propagate, or transport the
program for use by or in connection with the instruction execution
system, apparatus, or device. The medium can be an electronic,
magnetic, optical, electromagnetic, infrared, or semiconductor
system (or apparatus or device) or a propagation medium. Examples
of a computer-readable medium include a semiconductor or solid
state memory, magnetic tape, a removable computer diskette, a
random access memory (RAM), a read-only memory (ROM), a rigid
magnetic disk and an optical disk. Current examples of optical
disks include compact disk-read only memory (CD-ROM), compact
disk-read/write (CD-R/W) and DVD.
[0059] FIG. 7 shows a flow diagram depicting steps of a first
method for comparing processes according to aspects of the
invention. At step 710, a first process is defined. This may be
accomplished using the program control described above with respect
to FIG. 1. In embodiments, this comprises defining a client
process, such as, for example, a client process like that shown in
FIG. 2. The step of defining may comprise, for example, obtaining
data regarding each task in the client process, as well as the
duration, start period, end period, and precedence of each task.
The data defining the first process may be stored in (or stored by
using) a computing device, such as, for example, that described
with respect to FIG. 1.
[0060] At step 720, a second process is defined. This may be
accomplished using the program control described above with respect
to FIG. 1. In embodiments, this comprises defining a provider
process, such as, for example, a provider process like that shown
in FIG. 2. The step of defining may comprise, for example,
obtaining data regarding each task in the provider process, as well
as the duration, start period, end period, and precedence of each
task. The data defining the second process may be stored in (or
stored by using) a computing device, such as, for example, that
described with respect to FIG. 1.
[0061] At step 730, a comparison of the first process and the
second process is created. This may be accomplished using the
program control described above with respect to FIG. 1. In
embodiments, this comprises formatting the data associated with the
first and second processes such that common tasks are associated,
and so that any deviations between such common tasks are
identified. The data formatting may be performed, for example,
using any suitable combination of hardware and/or software that
formats the first process data and the second process data into a
viewable form, such as, for example, the form shown in FIGS.
2-4.
[0062] At step 740, the comparison is displayed. In embodiments,
the comparison is displayed on a computing device, such as that
shown in FIG. 1. Similarly, the comparison may be printed,
projected, and/or displayed in any other suitable fashion.
[0063] The step of displaying may comprise utilizing a graphical
user interface (GUI) such that a user of a computing device may
modify the view of the display. For example, the comparison may be
displayed using a software program that allows a user to change the
display, such as, for example, as described with respect to FIGS.
2-4.
[0064] Optionally, at step 750, the comparison is utilized by the
client and/or the service provider. In embodiments, this comprises
using information gleaned from the comparison to make a decision,
such as, for example, a business decision. For example, a client
may utilize the comparison as part of a due-diligence effort for
researching a provider for outsourcing the process. Alternatively,
the client and/or the provider may utilize the comparison as a tool
during negations for outsourcing of the process. However, the
invention is not limited to these uses; rather, the information
gleaned from the comparison may be used in any fashion to make any
desired decision.
[0065] FIG. 8 shows a flow diagram depicting steps of a method for
creating a process calendar according to aspects of the invention.
The method can be used, for example, to create a process calendars
as shown in FIGS. 5A-5C. At step 810, tasks of the process are
defined. This may be accomplished using the program control
described above with respect to FIG. 1. In embodiments, this
comprises defining the tasks that make up the process, as well as
the duration, start period, end period, and precedence of each
task. The data defining the tasks may be stored in (or stored by
using) a computing device, such as, for example, that described
with respect to FIG. 1.
[0066] At step 820, each task is assigned to an actor. This may be
accomplished using the program control described above with respect
to FIG. 1. In embodiments, this comprises assigning a first subset
of the tasks to a first entity (e.g., a client), and assigning a
second subset of the tasks to a second entity (e.g., a provider).
The assigning of tasks may be performed as a result of negotiation
between the first and second entities as to who is responsible for
performing each task of the process; however, the invention is not
limited to such a method of assigning, and any method for assigning
the tasks may be used. Moreover, the invention is not limited to
two entities. That is, the tasks of the process may be divided and
assigned amongst any suitable number of entities, such as
additional subcontractors and third parties.
[0067] At step 830, a process calendar is created. This may be
accomplished using the program control described above with respect
to FIG. 1. In embodiments, this comprises arranging the tasks
included in the process according to at least one of: start time,
end time, duration, and precedence. For example, this may be
accomplished by formatting the data associated with the tasks such
that the tasks are arranged in a specific order. The data
formatting may be performed, for example, using any suitable
combination of hardware and/or software that formats the first
process data and the second process data into a viewable form, such
as, for example, the form shown in FIGS. 5A-5C.
[0068] At step 840, the process calendar is displayed. This may be
accomplished using the program control described above with respect
to FIG. 1. In embodiments, the process calendar is displayed on an
I/O device, such as that described with respect to FIG. 1.
Similarly, the process calendar may be printed, projected, and/or
displayed in any other suitable fashion. The step of displaying may
comprise utilizing a graphical user interface (GUI) such that a
user of a computing device may modify the view of the display. For
example, the process calendar may be displayed using a software
program that allows a user to change the display, such as, for
example, as described with respect to FIGS. 5A and 5B.
[0069] Optionally, at step 850, the process calendar is utilized by
the client and/or the service provider. In embodiments, this
comprises using information gleaned from the process calendar to
make a decision, such as, for example, a business decision. For
example, a manager may utilize the process calendar to identify and
resolve conflicting tasks in a process. Similarly, a user may
utilize the process calendar in combination with historical trends
to add time for tasks (e.g., include buffers) where higher than
normal learning or higher than normal volume is expected. However,
the invention is not limited to these uses; rather, the information
gleaned from the process calendar may be used in any fashion to
make any desired decision.
[0070] FIG. 9 shows a flow diagram depicting steps of a method for
creating a multi-process calendar according to aspects of the
invention. The method can be used, for example, to create a
multi-process calendar as shown in FIG. 6. At step 910, each
process is defined. In embodiments, this comprises defining
parameters of each task, such as, for example, a service center
where a task is performed, a client the task is performed for, a
description of the process, a cycle that the process runs on, etc.
However, the invention is not limited to processes having these
parameters, and any types of processes may be defined. Data
defining the processes may be stored in (or stored by using) a
computing device, such as, for example, that described with respect
to FIG. 1.
[0071] At step 920, tasks of the multiple processes are defined. In
embodiments, this comprises defining the tasks that make up each
process, as well as the duration, start period, end period, and
precedence of each task. The data defining the tasks may be stored
in (or stored by using) a computing device, such as, for example,
that described with respect to FIG. 1.
[0072] At step 930, a multi-process calendar is created. This may
be accomplished using the program control described above with
respect to FIG. 1. In embodiments, this comprises arranging the
tasks included in the processes according to the parameters of each
process and the tasks associated with each process. For example,
this may be accomplished by formatting the data associated with the
processes such that the processes are arranged in a specific order.
The data formatting may be performed, for example, using any
suitable combination of hardware and/or software that formats the
process parameters and tasks into a viewable form, such as, for
example, the form shown in FIG. 6.
[0073] At step 940, the multi-process calendar is displayed. This
may be accomplished using the program control described above with
respect to FIG. 1. In embodiments, the multi-process calendar is
displayed on an I/O device, such as that described above with
respect to FIG. 1. Similarly, the multi-process calendar may be
printed, projected, and/or displayed in any other suitable fashion.
The step of displaying may comprise utilizing a graphical user
interface (GUI) such that a user of a computing device may modify
the view of the display. Additionally, the multi-process calendar
may display a sum of tasks to be performed in any specified time
period, such as, for example, the numbers of instances depicted in
FIG. 6.
[0074] Optionally, at step 950, the multi-process calendar is
utilized by the client and/or the service provider. In embodiments,
this comprises using information gleaned from the multi-process
calendar to make a decision, such as, for example, a business
decision. For example, a manager may utilize the process calendar
to identify peaks and valleys in task loads during given time
periods. Consequently, the user may determine to adjust resources
(staffing, computing resources, etc.) accordingly. However, the
invention is not limited to these uses; rather, the information
gleaned from the multi-process calendar may be used in any fashion
to make any desired decision.
[0075] While the invention has been described in terms of
embodiments, those skilled in the art will recognize that the
invention can be practiced with modifications and in the spirit and
scope of the appended claims.
* * * * *