Bruce Silver Associates

Transcription

Bruce Silver Associates
Bruce Silver Associates
The BPMS Report
Independent Expertise in BPM
LOMBARDI TEAMWORKS 7 ENTERPRISE
1. Vendor and Product Overview
Lombardi Software is a private company focused exclusively on Business Process Management.
Based in Austin, Texas, the company was founded in 1998, and has approximately 220
employees. Lombardi helps companies improve human productivity with business process
management. In order to maximize these productivity gains, many Lombardi customers are
moving to cross-company BPM programs, involving several key elements from Lombardi:
•
Lombardi Blueprint for documenting and discovering business processes by allowing
people across the organization to participate in BPM in a scalable, coordinated fashion.
•
Lombardi Teamworks for building and managing process applications in a single
executable platform.
•
Lombardi’s agile/iterative approach to developing and deploying BPM across the
organization;
•
Lombardi University for developing the right skills across a variety of roles to identify
productivity opportunities and to convert them using BPM.
Lombardi’s BPMS, called Teamworks, is best known for human-centric processes that change
dynamically based on business factors, such as dispute resolution, product returns, tax
reconciliation, loan origination, or supply chain management. Lombardi describes Teamworks as
focused on “operational processes,” meaning complex flows spanning organizational and system
boundaries, characterized by four distinct attributes:
•
Processes with impact on overall business performance, such as inventory, DSO, cycletime, customer retention – strategic business processes affecting the bottom line
•
Processes subject to continual change
•
Processes requiring monitoring and management of exceptional events
•
Processes requiring real-time visibility and optimization of system and user performance
Lombardi’s agile/iterative approach is based on business-IT collaboration via the Teamworks
shared process model, meaning a single process model used for both description/analysis and
runtime execution. To reinforce the shared model approach, Lombardi was an early adopter of
the BPMN standard and has played an important role in driving its development.
A sampling of Lombardi customers and applications includes:
•
Ford Motor Company, a Lombardi customer for the past three years. Lombardi is the
industry standard across Ford for building BPM solutions. Ford has an internal Center of
Excellence BPM team and leverages Teamworks in a variety of processes, including
Engineering Change Management, Advanced Product Sourcing and Process Driven Build
of Materials (BOM).
•
SIRVA, Inc., a leader in providing relocation solutions to a diverse customer base around
the world. Lombardi is used to simplify the relocation experience for individual
consumers and about half the Fortune 500. The implementation automates and adds
visibility across SIRVA’s service offerings (home finding, home buying, title, mortgage,
© Bruce Silver Associates 2009 www.brsilver.com/wordpress
500 Bear Valley Road
Aptos CA 95003 USA
Contact: Bruce Silver, Principal bruce@brsilver.com +1 831 685-8803
BPMS Report
Lombardi Teamworks
etc). The solution provides a standard way to execute business processes globally across
the organization.
•
Wells Fargo, a Lombardi customer for over 5 years applying BPM across the business
through dozens of process applications; from Fraud Tracking to Leasing to New Dealer
Setup. Wells Fargo Mortgage has built an entire Loan Origination process application on
Teamworks managing everything from application to fund.
•
Aviva (LSE: AV), the world’s fifth largest insurance group and the largest insurance
services provider in the UK. Lombardi Teamworks is managing Aviva's Human
Resources employee Joiners, Movers and Leavers (JML) process within Aviva group
centre. Aviva is also using Lombardi Blueprint to map and refine its IT Quality
Management System (QMS) in the UK general insurance business. Blueprint helps the
company to collect a wider set of input and comments from a broader set of Subject
Matter Experts, ensuring that the effort is completed with a greater level of control and
speed.
This report will concentrate on the following components of Lombardi’s BPMS offering:
•
Teamworks 7 Enterprise is a complete BPM suite supporting modeling and simulation
analysis, human workflow, integration, business rules, and performance management.
•
Blueprint is a hosted web-based environment that provides an extremely businessfriendly front end to BPMN modeling and supports team collaboration. Blueprint models
can be exported to Teamworks for implementation.
•
Teamworks for Office 2007 is a Teamworks add-on that provides access to tasks,
performance metrics, and other BPM artifacts through Microsoft Outlook, Word, and
Excel rather than from a web portal. Teamworks for Office also supports InfoPath forms,
.Net web service APIs, System Management Server, Active Directory Group Policy
Objects, and other Microsoft platform components and services, simplifying enterprise
deployment in Microsoft shops.
•
Teamworks for SharePoint 2007 is a Teamworks add-on that provides team
collaboration features through Microsoft SharePoint and access to Teamworks Inbox,
task execution, and reporting capabilities through SharePoint web parts.
2. Environment and Architecture
2.1
Runtime Architecture
The Teamworks 7 Enterprise runtime consists of the Process Server, Performance Data
Warehouse, and Process Portal.
The Process Server is responsible for managing and executing process model definitions and inflight instances. This server provides workflow facilities, such as task management as routing, as
well as rule evaluation, simulation, and other capabilities. Process components are stored and
shared as XML in the process repository within the RDMBS.
Teamworks provides extensive levels of caching to optimize run-time performance. Process
execution is dynamic, evaluating each step and transition within the process diagram in real time.
In addition to Process Server’s internal execution capabilities, Teamworks also provides several
frameworks that enable integration, event monitoring, and security.
© Bruce Silver Associates 2009
2
BPMS Report
Lombardi Teamworks
Teamworks Connector Framework provides connectivity to external systems, databases, and Web
services. Teamworks connectors can be implemented using remote client API libraries, SOAP
Web service protocol, or message-based connectors that implement the JCA standards.
Application-specific connectors are available in Teamworks and through a partnership with iWay,
a third-party provider of native data, application and integration connectors. Integration
definitions created in Teamworks are stored in the Process Library and can be used by any
process. Additionally, any process or subprocess in Teamworks can be exposed as a Web service
with a click of the mouse, enabling process reuse through a service-oriented architecture.
Embedded in the Process Server is the Event Manager, responsible for time- and event-based
process activities. It includes an HTTP listener, JMS listener, event scheduler, and execution
queues. Events may be generated by the Teamworks process itself or received from external
systems and processes. Events received via the Teamworks Messaging Framework from external
services via JMS, HTTP, or SOAP are automatically correlated to the appropriate business
process instances using configurable matching logic. Internal event examples include Timer
Events, used to define escalation rules within the process, as well as Exception Events, or paths
that provide the mechanisms for “throwing” and “catching” process exceptions (which are most
likely asynchronous). All events, triggers, and deadlines that govern process management can be
modeled directly in the process diagram in Teamworks.
Figure 1. Teamworks runtime architecture. Source: Lombardi
Teamworks externalizes all of its security and authentication in an open architecture based on the
Java Authentication and Authorization Service (JAAS) standards. Security may be managed by
the default Teamworks provider, by the application server, an LDAP server, or a mix of security
providers. Direct support for products like Microsoft Active Directory and other LDAP servers
simplify user management. No maintenance of Teamworks is required when users are added,
© Bruce Silver Associates 2009
3
BPMS Report
Lombardi Teamworks
deleted, and modified in these systems, and support for single sign-on products like Netegrity
allows customers to leverage their enterprise authentication investments.
Teamworks Performance Data Warehouse collects performance data representing key business
events and metrics as processes are being executed. Performance management is completely
model-driven, using the process model to define the business events and metrics, event
correlation, and aggregation of the performance data. During execution, Teamworks Performance
Data Warehouse retrieves tracked data from the Process Server or Process Center Server at
regular intervals, then correlates business events in real time and aggregates performance data
into a single database view for reporting and auditing. Users can create and view reports that
leverage this data in Teamworks Authoring Environment and Process Portal.
Tracked data is stored in the Performance Data Warehouse using a fixed physical schema. Since
the underlying schema never changes, performance tracking can be added or changed at any time
without requiring underlying database changes or adversely affecting existing reports. This
greatly simplifies deployment of new performance tracking.
Figure 2. Clustered deployment topology. Source: Lombardi
Taking advantage of the data-driven architecture, Teamworks services are largely stateless, which
ensures linear scaling, meaning that adding a server will add a specific amount of capacity, which
is an important factor to lowering the total cost of ownership of large applications.
The Process Portal provides a browser-based interface through which users can perform tasks,
view task history, and visualize performance of their processes and teams. Process participants
have access through the Process Portal to process definitions on the Process Center Server and
© Bruce Silver Associates 2009
4
BPMS Report
Lombardi Teamworks
runtime information on a Process Server in any configured runtime environment, test or
production.
Each layer of the Teamworks Enterprise runtime configuration – database, application server,
web server, and client – must be optimized for the number of users and transaction load. The
Teamworks application runs inside a J2EE-compliant application server through a Java Virtual
Machine (JVM). The application server handles basic connections and containers for Teamworks,
as well as the underlying security and permissions. Teamworks runs on Unix, Linux, or
Windows operating systems using embedded JBOSS J2EE application server, but also supports
WebLogic or WebSphere. Teamworks supports any JDBC-compliant database for the repository
of design-time and runtime information, called the Shared Model.
Teamworks servers may be partitioned for autonomy, or load-balanced and clustered for
increased scalability and availability. High scalability and availability are achieved through
clustering and redundancy at each layer of the application. The web servers can be clustered to
support a large user community. Application servers can be clustered for high volume and a large
user community. The DBMS layer can be replicated, mirrored, or clustered for high scalability
and availability. Figure 2 illustrates a single clustered topology; Teamworks also supports
multiple-cluster arrangements and is compatible with common high-availability (HA)
infrastructure.
Figure 3. Teamworks design-time environment. Source: Lombardi
2.2
Design Environment
The Teamworks 7 design-time environment (Figure 3) includes the Process Center repository and
Teamworks Authoring. Process Center enables a centralized development environment for
distributed authoring teams. In the Teamworks Authoring Environment, users create process
models and supporting implementations called process applications, and store those applications
and associated items in the Process Center repository. Process Center also includes the Process
Center Server and Performance Data Warehouse, allowing users working in Teamworks
© Bruce Silver Associates 2009
5
BPMS Report
Lombardi Teamworks
Authoring Environment to run their process applications and store performance data for testing
and playback.
2.2.1
Process Center
All process artifacts created during design and development are stored and maintained in a central
repository, the Teamworks Process Center. A graphical view of the Process Center (Figure 4)
provides authors and architects with access to the organization and management of all process
artifacts, process applications and reusable functionality that are created as part of a BPM
Program. Projects are organized into either individual process applications or groups of reusable
components called toolkits.
A process application contains all artifacts needed to define an executable process solution,
including process definitions, services, variables, task user interfaces, rules, etc. Workspaces are
optional subdivisions of a process application based on team tasks or process application
versions, enabling parallel development. Snapshots record the state of all items in a process
application or workspace at a specific point in time, used for interactive unit testing called
playbacks or comparison with previous versions.
Figure 4. Teamworks Process Center. Source: Lombardi
Process Center is architected for massive reuse of design artifacts, both within and across process
applications, through reusable containers called toolkits. Items stored in the Process Center
repository support versioning through snapshots (Figure 5). Process designers can create a
snapshot of a process or service with one mouse click, and can revert to a previous version just as
easily.
© Bruce Silver Associates 2009
6
BPMS Report
Lombardi Teamworks
Figure 5. Process Application Snapshots and Deployment. Source: Lombardi
Toolkits allow Authoring users to share library items across process applications. By creating a
dependency on a toolkit, a process application (or another toolkit) has access to the library items
it contains (Figure 6). The System Data toolkit, including standard variable types, standard
charts, and so on, is made available by default with the Teamworks installation.
Figure 6. Toolkit Dependency. Source: Lombardi
Snapshots and toolkits are centerpieces of Lombardi’s effort in Teamworks 7 to enable largescale reuse of design artifacts. Toolkits collect items reused together and can be versioned just
like process applications. The dependency is on a specific version of the toolkit (Figure 7).
When a toolkit version is updated, applications with a dependency on it have the option of
upgrading the dependency to the new version, or not.
© Bruce Silver Associates 2009
7
BPMS Report
Lombardi Teamworks
Figure 7. Artifact reuse through toolkit dependencies. Source: Lombardi
2.2.2
Teamworks Authoring
Teamworks Authoring (Figure 8) is a comprehensive Eclipse-based modeling and design
environment shared by business and IT. It includes several views, selected from below the menu
bar (#1), each a distinct Eclipse perspective.
Figure 8. Teamworks Authoring, Designer view. Source: Lombardi
© Bruce Silver Associates 2009
8
BPMS Report
Lombardi Teamworks
Figure 8 illustrates the Design view. Other views include the Optimizer view and the Inspector
view. The navigation tree in the left pane lists categories of Teamworks Library items that can be
viewed and edited (#3), including, from top to bottom, items from the currently open process
application (#2); models imported from Lombardi Blueprint; reusable item containers called
Toolkits; and Smart Folders such as Changed This Week, customizable named queries for
commonly accessed library items. Items can be designated Favorites or tagged for easy access.
Below that, the Revision History pane (#4) lists named versions (snapshots), and allows reversion
of the design environment to any past point in time. The main editor pane on the right provides
graphical drag and drop modeling of the selected library item (#7), including processes, services,
variables, and key performance indicators.
A key new feature of Teamworks has been brought over from Blueprint: concurrent editing.
Teamworks lets multiple users to simultaneously access and modify library items in the Designer
view. Each user must be connected to the same Process Center and have write access to the
process application or toolkit where the library items reside. When multiple users are working on
the same item, each can see the changes as they take place, in real time (Figure 9). Concurrent
editing enables true team collaboration in building process applications. Team members can
communicate using instant messaging and see the results in the Designer view as they happen.
Figure 9. Concurrent editing support in Teamworks Authoring. Source: Lombardi
3. Process Structure and Data
3.1
Concepts and Terminology
Lombardi’s conceptual model and terminology closely mirror the BPMN 1.2 standard. A process
is contained in a pool, which may be subdivided into lanes containing activities performed by
users and systems, gateways that control flow, and events that synchronize process execution with
signals received from external systems or from the process itself.
An end-to-end process, called a Business Process Definition (BPD) may include multiple BPMN
processes interconnected by nesting and chaining. A nested process is represented by a
subprocess activity in the diagram. A running process is an instance of a BPD. The BPMN
© Bruce Silver Associates 2009
9
BPMS Report
Lombardi Teamworks
process that creates the instance is called a root process, and its instance ID can be used to
correlate instances of nested and chained processes with the BPD instance. The set of all
information about a running instance that is available to the process engine at runtime, such as
values of variable values, is called the execution context.
3.2
Process Structure
In Teamworks, activities specified using BPMN in the process definition editor are abstract in the
sense that they do not contain implementation details. Those details are provided in the
specification of the activity’s implementation, typically modeled by IT. This architecture
provides a clean separation of concerns between business and IT while retaining the essential
character of collaboration and shared notation throughout the BPM lifecycle.
Process designers have the following options for activity implementations, each with its own
editor:
•
Service, either Integration, Human, Ajax, Rule, or General System service.
•
Nested process, a reusable subprocess called by the activity.
•
Javascript, typically simple automated activities.
•
External, such as an Eclipse RCP or Microsoft .Net application.
If a Process Modeler activity is in a user lane, the Teamworks Human service sends one or more
tasks to a user or role. (Multiple tasks will be sent, for example, in a looping activity.) Tasks
have envelope properties such as who they are assigned to, their due date, and which users have
performed the service in the past. If the activity is in a system lane, its implementation, or
method, is performed by the Teamworks engine. A business rule is a special type of service (rule
service). While services are normally invoked by its attached process activity, they can also be
run standalone, invoked independently of a business process.
Human services in Teamworks are frequently implemented as web applications in which multiple
web pages or forms, called Coaches, allow the user to perform database lookups or execute other
automated functions, and display other Coaches. The logic flow of Coaches and system activities
in a service, as well as its event- and exception-handling behavior, is specified graphically in
Service Modeler.
One of the BPMN activity properties supported by Teamworks is looping, meaning the activity is
performed N times, where N may be determined at runtime. Iterations of the loop may be
sequential (called simple looping) or parallel (called multi-instance looping). Each multi-instance
loop represents a separate task. By default, the running process waits for all instances to
complete before it flows to the next step. However, a JavaScript condition may be defined to
require only a specified number or fraction to complete, or a time limit.
Teamworks supports many advanced BPMN constructs not allowed by other tools, including
activity looping and intermediate events. Looping means an activity is performed N times, where
N may be determined at runtime. Iterations of the loop may be sequential (called simple looping)
or parallel (called multi-instance looping). Each multi-instance loop represents a separate task.
By default, the running process waits for all instances to complete before it flows to the next step.
However, a JavaScript condition may be defined to require only a specified number or fraction to
complete, or a time limit.
© Bruce Silver Associates 2009
10
BPMS Report
Lombardi Teamworks
Figure 10. Dynamic Subprocess definition. Source: Lombardi
Unlike some other BPMSs that claim BPMN compliance, Teamworks supports most of the
BPMN event types, including message, timer, exception, and terminate, and supports boundary
events. A boundary event, drawn on the boundary of an activity, signifies that if the event occurs
(message received, timeout, exception, etc.) while the activity is running, the activity terminates
and flow continues on the path linked to the event.
Nested processes provide a way to link processes together in a parent-child relationship. They
provide a way to encapsulate logically related steps within a process while retaining the highlevel view of the parent process. Teamworks allows nested processes to be called dynamically,
i.e. the particular nested process to call is determined at runtime, using a string variable (Figure
10).
3.3
Process Data
Teamworks variables represent data structures or business objects (Figure 11). Most variables
are local variables, available only within the process or service level in which they are defined.
Calls to activity implementations therefore usually involve data mapping to the called interface.
Teamworks distinguishes between input/output variables, which are used in data mappings, and
private variables, which are just used internally to a process or service.
Each data element in a variable has an assigned type (string, integer, date, etc.), and Teamworks
provides methods to return values for each type. Thus the year value from a variable myDate
using the getFullYear method is represented in Teamworks as tw.local.myDate.getFullYear(). In
addition to simple base types, Teamworks supports arrays, various XML types, Records, and
other structured types. Variable definitions can specify initialization rules for each element
(Figure 12), and each activity in the process can manipulate variable values through Pre and Post
assignment rules executed before and after the activity runs.
System variables describe the user, client and server environment. System variables are read-only
and accessible to all run-time process instances.
© Bruce Silver Associates 2009
11
BPMS Report
Lombardi Teamworks
Figure 11. Teamworks variables represent business objects. Source: Lombardi
Figure 12. Specifying Teamworks variables. Source: Lombardi
© Bruce Silver Associates 2009
12
BPMS Report
Lombardi Teamworks
Exposed process values (EPV) are a special type of variable that can be manipulated at runtime
through performance management ScoreBoards. EPV values are typically used as parameters in
conditional process logic such as gateways, and can be adjusted on the fly by authorized users to
maintain optimum overall performance, similar to business rule parameters in a rule maintenance
application.
Data mapping is used to pass the values of variables between a runtime task and a Teamworks
Service. When a service is attached to an activity, the activity’s Data Mapping tab is populated
with the input and output variables of that service.
4. Process Modeling and Design
4.1
Business-IT Interaction
Of all the BPMS vendors, Lombardi has been the most forceful and effective advocate of
business-driven implementation based on rapid iterative development involving business and IT
working in close collaboration. Support for full BPMN, including events, is a key enabler of this
approach, but Lombardi takes it even further, providing an even more business-friendly front end
to BPMN in Blueprint. Moreover, Teamworks, as the more advanced modeling and design
environment, can synchronize automatically with any changes made in Blueprint through a
publish-subscribe mechanism, and vice versa.
Another example of how the product architecture supports the collaborative design philosophy is
the clean separation between process modeling, done by business analysts, and service modeling,
done by developers. A service is the graphical (BPMN-like) composition of the implementation
of a process activity, composed in a separate tool within the same Authoring Environment. Thus
implementation details or changes do not invalidate the business analyst’s ongoing view of the
solution throughout the lifecycle.
Iterative design principles are further reinforced by the ability to play back any component or
fragment of a business process – a service, human task, or subprocess – at any time, instantly
from the design environment. No deployment is required, and you can easily compare the current
version with any previous snapshot. Default services for any process activity, including task user
interfaces, are created automatically, allowing instant playback without specifying any
implementation detail at all. Users can see the effect of design changes immediately, and
iteratively improve the solution. The Playback feature in Teamworks Authoring is a distinct
differentiator and central to Lombardi’s rapid iterative approach to process design.
4.2
4.2.1
Process Modeling
Modeling in Blueprint
In Blueprint, Lombardi has created a radically innovative approach to engaging business users in
process modeling. Blueprint is a hosted modeling environment that not only offers real-time
team collaboration, but significantly lowers the learning barriers to process modeling. Instead of
a structured modeling notation that you need to learn, Blueprint takes as its visual metaphor the
outline view of PowerPoint, familiar to nearly everyone. You just type a few words into an
indented list in the outline (Figure 13, left), and Blueprint automatically creates a simple block
diagram Discovery Map of the process (Figure 13, right), just as PowerPoint automatically
creates the slides and bullets.
© Bruce Silver Associates 2009
13
BPMS Report
Lombardi Teamworks
Figure 13. Blueprint enables modeling based on simple task outlining. Source: Lombardi
For any selected activity or sub-activity, you can enter information about participants, owners,
inputs and outputs, problems, and other documentation (Figure 14), available by drilldown online
or through consolidated documentation generated by Blueprint. Blueprint also provides simple
analysis tools to help process owners prioritize process problems and correlate them with
business goals. In addition to users with editing rights, Blueprint also supports “participants,”
who can view models and add comments, but not edit them directly.
Figure 14. Detail can be added to each modeled activity. Source: Lombardi
Behind the block diagram Blueprint is generating actual BPMN, using a limited palette of shapes
and symbols. These include nested subprocesses and a few event types. The BPMN diagram is
created automatically from the Discovery Map view, and is directly editable in the Diagram view
(Figure 15). Visio diagrams can be imported into Blueprint as well.
© Bruce Silver Associates 2009
14
BPMS Report
Lombardi Teamworks
Figure 15. Blueprint converts outline “discovery map” into a BPMN diagram. Source: Lombardi
Blueprint not only lowers the entry barrier but actively moves users up the learning curve.
Blueprint models can be exported to Teamworks for simulation and eventual implementation. In
addition, Blueprint can export the BPMN to the desktop in OMG’s new BPMN 2.0 serialization
format – the first modeling tool to do so.
Team collaboration is an essential element of Blueprint. Team members share a single online
workspace and edit models concurrently. Entering the workspace, users see a What’s New page
in the style of social networking applications (Figure 16). An instant messaging feature enables
online conversations among team members. Like Teamworks, Blueprint supports versioning
using snapshots. In fact, Blueprint automatically creates snapshots as the model is updated.
Figure 16. Blueprint workspace features “What’s New” from the team. Source: Lombardi
© Bruce Silver Associates 2009
15
BPMS Report
4.2.2
Lombardi Teamworks
Process Modeling in Teamworks
A process is the major unit of logic in Teamworks. It is the container for all components of a
process definition, including services, activities and gateways; timer, message, and exception
events; sequence lines, rules, and variables. When you model a process, you are creating a
reusable Business Process Definition (BPD).
Process modeling in Teamworks Authoring is based on BPMN. Modeling involves creating
activity flows using a palette of standard BPMN shapes – tasks, subprocesses, gateways, and
events – arranging them in swimlanes, and assigning tasks to resources. The model is made
executable by defining an implementation for each process model activity. Even without defining
technical details of the implementation, such as variables, data mappings, and scripted logic, the
model can be used to analyze expected process performance using simulation.
Detailed documentation in HTML can be automatically generated from the process model, and
formatted using XSLT (Figure 17).
Figure 17. HTML documentation generated from Teamworks. Source: Lombardi
Figure 18 illustrates the process design interface in the Authoring Environment. Library items for
the current process application are listed at the left (#1). The main canvas (#2) supports multiple
editors, selected by tabs along the top edge (#3). The Diagram tab supports drag-and-drop
assembly of process models using the palette of BPMN shapes on the right (#6). The Properties
pane (#5) allows configuration of the selected diagram element.
© Bruce Silver Associates 2009
16
BPMS Report
Lombardi Teamworks
Figure 18. Teamworks Authoring interface. Source: Lombardi
4.3
Simulation Analysis
Simulation analysis is available through the Optimizer view. Simulation works in conjunction
with process organization charts created in the Organization Modeler perspective (requires the
Teamworks for Organization Management add-on). Unlike many other simulation tools,
Teamworks supports resource contention between multiple processes. Lombardi’s simulation not
only provides tables and charts, but offers recommendations and “cheat sheets” suggesting
potential improvements. In addition, a powerful feature called Guided Optimization leads the
user through a procedure that identifies specific conditions correlated with performance
bottlenecks, and suggests changes to the model to improve performance.
Optimizer provides several scenario modes (Figure 19, top left):
• a single scenario (the default)
• a single historical scenario (using actual tracked runtime data, providing information
about in-flight and completed instances)
• scenario A vs. B comparison
• scenario A vs. historical comparison
• historical vs. goals
• historical A vs. historical B.
The ability to group different processes in one analysis set allows users to conduct cross-process
analysis and optimization, answering questions such as “Will the customer support desk still meet
the customer response time SLA if two new product lines will be introduced in the next quarter?”
Heatmap settings (Figure 19, bottom left) configure the particular metric governing the colorcoded heat maps (Figure 19, top center) that represent activity-based performance reported by
Optimizer. Available visualization modes include:
• time-based – wait time, execution time, total time, or efficiency
• count-based – count of waiting instances, executing instances, or completed instances
© Bruce Silver Associates 2009
17
BPMS Report
Lombardi Teamworks
Figure 19. Process Optimizer. Source: Lombardi
•
•
path-based – based on designation of sequence flows as either happy path or exception
path, displays results for process instances taking the happy path, exception path, or all
paths.
Metrics – SLA violations, or reworked activities
Optimizer provides hyperlinks from hotspots (Figure 19, top right) identified in heat maps to the
process model definition in Teamworks Authoring. The Live Reports view (Figure 19, bottom
center) displays tables and charts of aggregated data about the process instances included in the
most recently executed Analysis Scenario.
The Optimizer Recommendations and Smart Start panels (Figure 20) suggest additional
visualization modes to gain insight and recommended actions for improvement.
© Bruce Silver Associates 2009
18
BPMS Report
Lombardi Teamworks
Figure 20. Optimizer Recommendations and Smart Start. Source: Lombardi
4.4
Service Modeling
The details of most Teamworks activities are defined through service models describing the
activity implementation. Figure 21 illustrates the service model editor. A common service type
in Teamworks is the Human service, implemented as a screenflow defined by a BPMN-like
diagram linking web forms, called Coaches, to other automated components in the editor’s
palette. Other service types include Integration and Rule.
Figure 21. Service design editor. Source: Lombardi
For all of them, a single Teamworks service is typically composed of multiple steps, designed in a
flowchart similar to a BPD. Teamworks provides a variety of point-click editors to configure
those individual steps, including:
•
Coach Designer – build web forms used in task user interface
© Bruce Silver Associates 2009
19
BPMS Report
Lombardi Teamworks
•
Rule Designer – design and manage business rules
•
Integration Wizard – create integration components by point-click introspection of Java
classes and web services
•
Report Wizard – build complex reports without programming
Services can incorporate other nested services, such as reusable error handling routines. Through
scripting, Teamworks Authoring also supports Ajax services, which provide dynamic population
of Coaches based on user action at runtime.
5. Human Workflow
5.1
Task Assignment and Distribution
5.1.1
Participant Modeling
A Participant Group must be assigned to each Lane so that Teamworks is able to assign runtime
tasks. Participant Groups are created in the Teamworks Library at the global level, so they are
reusable in any Teamworks process. Each Participant Group has defined membership lists or
rules, and simulation properties like cost, capacity, and availability. Participant Group
membership can be dynamic, based on attributes of both users (e.g., skills and capabilities) and
the process instance, linked by rules (Figure 22). Organizational structures and relationships can
be referenced in Participant Group definitions, providing an extremely rich and flexible
framework for task assignment.
Figure 22. Participant group membership is dynamic, based on expressions combining user and
instance attributes. Source: Lombardi
5.1.2
Task Assignment
At runtime, a task is generated for each instance of a process activity and is assigned to a
participant in a variety of ways:
•
To the Participant Group assigned to the lane in which the activity is drawn in the
diagram. This is the default.
•
To the user who completed the immediately preceding activity in the same lane for this
instance, a very useful construct.
•
To participants determined by a Routing Policy, defined as a set of IF-THEN rules
referencing process data (Figure 23). With the Teamworks for Organization Structure
add-in, the policy can reference organizational relationships defined in the Org Chart.
•
To a user or role specified by a Javascript expression.
© Bruce Silver Associates 2009
20
BPMS Report
Lombardi Teamworks
Figure 23. Task assignment using a rule-based Routing Policy. Source: Lombardi
In addition, within the participant group tasks can be distributed either to the first user to claim it
(the default) or in round-robin fashion or to the user with the smallest task backlog. Multiple
users can be assigned the task in parallel by using a multi-instance activity. The priority of a task
can be set at design time based on either a predefined level, deadline, or variable, or it can be set
dynamically at runtime. So task assignment and distribution in Teamworks is extremely flexible.
5.2
Forms and Task UI
If you add an activity to a non-system lane in a BPD, the activity is initially implemented using
the default human service (Figure 24). The key building block of a human service is the pagelevel task user interface, called a Coach. The name Lombardi Software was originally taken from
legendary football coach Vince Lombardi, and using the task user interface to “coach” untrained
users though their tasks remains a distinctive feature of Teamworks. Task user interface design in
Teamworks features these intuitive web forms, or Coaches, embedded in a graphically modeled
screenflow combining automated steps, such as database lookups, and conditional logic.
Figure 24. Coach represents a single screen in a Human service. Source: Lombardi
© Bruce Silver Associates 2009
21
BPMS Report
Lombardi Teamworks
Figure 25. Coach Designer. Source: Lombardi
The Coach Designer (Figure 25) provides an intuitive, drag-and-drop editor to build and test
those user interfaces using a rapid-design, iterative methodology. It lists all the coaches used in
the human service (#1), and displays the selected coach layout in the main canvas (#2) in either
Design or Preview mode. On the right (#4), it provides a palette of layout and form controls that
are easily configured in the Properties pane (#5) with point-click dialogs or minimal scripting
(Figure 26). A report control can be used to embed Teamworks reports and charts inside a coach
without having to write any script.
Figure 26. Button scripting in Coach Designer. Source: Lombardi
© Bruce Silver Associates 2009
22
BPMS Report
Lombardi Teamworks
Once the basic look and feel is determined, the dynamic interface links graphical elements to
process data. At each step, designers can run the Coach by clicking the Playback icon, and test
each element. The Preview tab in Coach Designer provides an instant preview of what the
runtime Coach looks like in a browser.
Figure 27. Ajax services provide dynamic Coach behavior. Source: Lombardi
Teamworks offers dynamic Coach behavior, such as autopopulation of dropdown lists and tables
from backend data sources, using Ajax. The Dynamic Data properties of a Coach control (Figure
27) link the control to an Ajax service. The Ajax service uses a Server Script component that
accesses backend data sources to populate Teamworks variables, and passes the variable values to
the Coach.
As an alternative to task user interfaces created with Coach Designer, Teamworks for Office 2003
users can use Microsoft InfoPath forms. After an InfoPath form, which must be created
externally to Teamworks, is imported into the Teamworks Library, it can be referenced as a task
implementation in the Authoring Environment. At runtime, the assigned participant will receive
a Teamworks for Office task in Microsoft Outlook with the appropriate InfoPath form
automatically associated.
6. User Experience and Task Management
6.1
Portal
Process Portal is the web-based Teamworks runtime environment used for both task participation
and performance management. The basic portal layout, divided into My Tasks, My ScoreBoards,
and My Projects, is essentially fixed and available out of the box (Figure 28). Developers can
create a fully customized Process Portal using the Teamworks APIs along with JSP, XML and
supplied Teamworks Tags. Task participation is described in section 6.2, while ScoreBoards are
described in section 11.2.
© Bruce Silver Associates 2009
23
BPMS Report
Lombardi Teamworks
In addition, Teamworks for Office provides an alternative Outlook-based runtime environment
for task participation, and Teamworks for SharePoint 2007 provides an alternative web
environment for collaborative tasks and performance management (section 11).
Figure 28. Teamworks Process Portal. Source: Lombardi
6.2
6.2.1
Worklist and Task Participation
Process Portal
The Teamworks Process Portal allows users to view their assigned tasks, select and perform a
task, launch any processes or services that are attached to the tasks, and view their performance
and the performance of their processes and teams. Worklists are implemented as queries on
assigned tasks. The default worklist displays only system-defined properties such as subject, due
date, and priority, but users can build custom queries based on business data, across process
definitions, and display or sort on that business data in columns of the worklist (Figure 29) – for
example, retrieve all process instances where ‘customer equals XYZ Corp and order amount
exceeds $15,000. These custom queries can be saved and shared or reused.
Figure 29 also illustrates a task opened from the worklist. The standard interface displays details
about the process instance, notes and comments from other participants, and attached documents.
Users can reassign tasks to others, request help on a task, change due dates, or suspend/resume
the task. Clicking the icon to run the task executes the service defined as the task
implementation. From the worklist, users can also view the process diagram for the task.
Running the task displays the Coach (Figure 30), which can include tables and charts, along with
buttons that drive the screenflow to other automated actions and Coaches.
© Bruce Silver Associates 2009
24
BPMS Report
Lombardi Teamworks
Figure 29. Custom worklists can be defined by savable searches on selected process data. Source:
Lombardi
Teamworks provides an audit trail of business data, allowing portal users to view all changes to
instance data tracked in the performance server. The audit report shows where the change was
made, who made it, as well as the old and new business data values.
Figure 30. Runtime view of a Coach. Source: Lombardi
© Bruce Silver Associates 2009
25
BPMS Report
Lombardi Teamworks
Figure 31. Teamworks for Office lets users perform tasks in Microsoft Outlook. Source: Lombardi
6.2.2
Teamworks for Office
Teamworks for Office provides the essential functions of the web-based Process Portal through
Microsoft Outlook, which serves as the existing standard work portal for many users. The
Teamworks Inbox in Outlook (Figure 31) appears similar to the Process Portal. Using a "storeand-forward" operation, Teamworks for Office users can initiate Teamworks processes while
working offline. An offline user can open a process task in Outlook, fill out the InfoPath form,
and submit the form. Teamworks for Office stores the submission locally, and when the
connection to the Teamworks Process Server is restored, the process is initiated in Teamworks.
7. Integration Framework
7.1
Outbound Integration
Outbound integration requires creation of an integration service. Integration services can include
either a Web Service Integration component or a Java Integration component. The Web Service
Integration component uses a SOAP connection to access objects from a web service over the
Internet. The component hides the complexity of the underlying WSDL and SOAP messages, and
provides mapping between service parameters and Teamworks variables. The Java Integration
component calls methods from a Java class and interfaces with most third party Java APIs,
supporting a wide variety of integration scenarios. SOAP integrations tend to be easy to build
and best when not passing volumes of information. Java integrations provide access to the
features of the Java language, including published Java libraries and APIs.
In addition, the System Toolkit provides SQL Integration services out of the box.
© Bruce Silver Associates 2009
26
BPMS Report
Lombardi Teamworks
Figure 32. Configured services can be reused within other services. Source: Lombardi
If an Integration service is fully configured, it can be simply dragged onto the canvas for use in
other services (Figure 32). New Integration services can be created from integration components
in the palette. For example, after dragging a Web Service Integration component onto the
Integration service editor, it is configured by entering the URI of the web service WSDL and
clicking Discover. This introspects the WSDL lists its available operations. The Generate Types
button automatically creates the datatypes for the parameters of the selected operation, and the
component configuration is complete. Using the component in an Integration service requires
adding input and output variables and mapping them to the component parameters (Figure 33).
Figure 33. Input and output data mapping of a service. Source: Lombardi
Figure 34 illustrates a Java Integration component in an Integration service. The JAR file for the
component must be added to the project’s External Files section, and the method selected from a
dropdown. If the Translate JavaBeans box is checked, the component serializes the method result
into XML. The Variables tab for the Integration service defines process input and output
variables, which can be mapped to component parameters. The configured Integration service
can be nested within another service or selected as an activity implementation.
© Bruce Silver Associates 2009
27
BPMS Report
Lombardi Teamworks
Figure 34. Configuration of a Java Integration component. Source: Lombardi
7.2
Inbound Integration
Teamworks also supports inbound integration – in which the process responds to external events
– through two alternative but similar mechanisms. Undercover Agents (UCA) monitor message
events (via HTTP and JMS listeners) and timer events to trigger Teamworks processes or
services. Teamworks Web Services expose Teamworks processes or services through SOAP and
WSDL.
Figure 35. Message events used for inbound integration. Source: Lombardi
In a BPD, intermediate message events can be used for inbound event integration. Unattached
message events (Figure 35) represent points in the flow where the process waits for a particular
message. Each message event must be associated with a Teamworks Service that is configured to
run as an Undercover Agent. Configuration of the Undercover Agent binds it to a message queue
and variable.
8. Business Rules
Teamworks implements business rules through rule services, a special class of service
implementations. A rule service is defined as a list of if-then statements, in which each if
© Bruce Silver Associates 2009
28
BPMS Report
Lombardi Teamworks
condition tests a variable against a value (string matching or numerical comparison), and the
action associated with the if is a JavaScript expression that typically sets the value of other
process variables. For example, if the value of customer is Target and billOverdue is true, then
set rebill to true. The first condition in the list to evaluate true triggers its associated action, and
the remaining conditions are ignored (Figure 36). Rule services are stored in the Teamworks
Library, enabling users to share and reuse rules across multiple services and processes.
Figure 36. Business Rule editor. Source: Lombardi
Teamworks can also integrate with third-party rules engines such as Fair Isaac Blaze, IBM ILOG
JRules, or Corticon, to leverage industry-, domain-, or product-specific rulesets that are
independent of process context. These engines are integrated to Teamworks via direct API or
Web service calls. Lombardi provides packaged integrations to Corticon and Fair Isaac.
Besides offering the ability to write business rules or integrate with external rules, Teamworks
Optimizer lets business analysts discover patterns in process and data flow that might suggest
new rules that bypass unnecessary steps for selected instances. For example, Teamworks can
identify that for an approval activity, the approved status is set to “true” whenever certain
conditions on order size or customer name are met (Figure 37). The user can elect to have
Teamworks automatically write a rule that will bypass the activity when the above condition has
been met. This simplifies the otherwise complex tasks of identifying new rules that can help
further streamline a process.
© Bruce Silver Associates 2009
29
BPMS Report
Lombardi Teamworks
Figure 37. Optimizer can autogenerate rules that select instances allowed to ‘safely’ bypass human
tasks. Source: Lombardi
9. Content, Collaboration, and Case Management
9.1
Content Management
Teamworks Portal and coaches provide native support for document attachments, and can include
links to external ECM repositories like Documentum, FileNet, and Alfresco. This allows users to
access relevant documents and images (e.g. scanned invoice with customer annotations) during
process execution. This linkage can also be event-based. As events happen in the underlying
ECM systems, Teamworks can monitor and correlate those events to running processes, or
instantiate new processes.
Additional content management functionality is available through Teamworks for SharePoint
2007, discussed in the next section.
© Bruce Silver Associates 2009
30
BPMS Report
Lombardi Teamworks
Figure 38. Collaboration and document attachments in Teamworks Portal. Source: Lombardi
9.2
Collaboration
At runtime, Teamworks provides a bit of team collaboration natively through the Process Portal,
such as user comments on a task in the Inbox (Figure 38). But for processes requiring more
significant team collaboration functionality, Lombardi now offers Teamworks for SharePoint
2007.
Figure 39. Collaborative tasks in SharePoint can be embedded in a structured process. Source:
Lombardi
With Teamworks for SharePoint, unstructured team collaboration activities can be embedded in
structured business processes. For example, in a hiring process the process model determines
© Bruce Silver Associates 2009
31
BPMS Report
Lombardi Teamworks
when, where, and how to start a SharePoint discussion forum for each candidate. Teamworks
makes the hiring manger the owner of the forum and invites the other team members via e-mail
(Figure 39). In Teamworks Authoring, SharePoint Forum is specified as the implementation type.
Teamworks saves all resulting documents and discussions from SharePoint and attaches them to
the Teamworks process.
Figure 40. Web parts give SharePoint users access to Teamworks tasks and performance charts.
Source: Lombardi
In addition, Teamworks for SharePoint provides web parts (portlets) that exposes Teamworks
Process Portal functionality directly in SharePoint, including access to assigned tasks,
collaboration, and performance management (Figure 40).
9.3
Case Management
Case management differs from conventional structured BPM in that a single case may involve
multiple related processes, some of which are initiated either by events or ad-hoc action of
participants. The two key elements of case management support in a BPMS are support for such
ad-hoc behavior and a runtime user interface that keeps all elements related to a case – tasks and
processes, related data and documents, and performance metrics – together in a virtual case folder
accessible concurrently to anyone working on the case.
Teamworks provides some of the needed ad-hoc behavior, allowing ad-hoc “child” tasks or
processes to be initiated within the context of a parent Teamworks process. Teamworks users can
initiate ad-hoc processing on a process instance at any time. An ad-hoc process can be run from
the Process Portal, either from the Portal menu bar or from a context menu in the process diagram
(Figure 41). The ad-hoc process is executed in the context of the regular process instance, so it
has access to all instance data and can manipulate its process flow. Ad-hoc processes enable
functions such as executing special approvals, reporting on status, or canceling an in-flight
process.
© Bruce Silver Associates 2009
32
BPMS Report
Lombardi Teamworks
In Teamworks Authoring, ad-hoc flows are modeled using a special Ad-Hoc Start event (not one
of the BPMN standard start events). The lane in the process diagram containing the Ad-Hoc Start
event determines which users are permitted to initiate the ad-hoc behavior.
Figure 41. Users can select and launch ad-hoc processes at runtime that share instance data, without
programming. Source: Lombardi
10. Events and Exceptions
10.1 Events
The Teamworks Event Manager is responsible for all time-based and event-based process
behavior. Events may be received from both the process and external applications. All events,
triggers, and deadlines that govern process management can be modeled directly in the process
diagram using BPMN.
The following BPMN event types are supported by Teamworks:
•
Message – Starts, interrupts, or resumes a process upon receipt of a signal from external
process or system; must be attached to a service linked to an Undercover Agent.
Teamworks calls an end event that generates a message a Terminate event. Messages can
be received by any running process that contains a Message Event. The actions triggered
are specified by attaching to the Event a Teamworks Service that is configured as an
Undercover Agent. A UCA acts as a “wrapper” around whatever functionality it is
assigned to execute at run time, described by the Teamworks Service. For all types of
events, the output parameter values from the Service are passed by the UCA to the
appropriate business process instance. When used as an intermediate event, the message
is received by the process instance determined by a variable mapping between the UCA
and the Message Event (Figure 42).
•
Timer – Interrupts or resumes a process based on a date/time or duration specified by a
fixed value or variable. Timer Events can be used to build deadline-based escalation
paths in a business process, implement timeout-based exception handling, schedule
events and activities that must occur at a particular time, or to pause execution for a
certain length of time. Intermediate timer events are typically based on a time interval
following the start of the process activity, which can be measured with or without use of
© Bruce Silver Associates 2009
33
BPMS Report
Lombardi Teamworks
a “business calendar” for the activity performer. Timers can also be rescheduled after
they have been started, based on other process events or activities. Figure 43 illustrates
an attached timer event used to implement deadline escalation behavior. If the timer
event fires, the Complete Requirements activity terminates and the Escalate Research
activity is enabled.
•
Exception – Interrupts or resumes a process upon catching an exception thrown by a
Teamworks Service using an Exception End Event.
Figure 42. Undercover Agent configuration maps event data to Teamworks. Source: Lombardi
Figure 43. Boundary events can receive external event and redirect process flow. Source: Lombardi
© Bruce Silver Associates 2009
34
BPMS Report
Lombardi Teamworks
In addition, Teamworks provides a Tracking event, used to track runtime data for performance
management and reporting.
The Pre and Post tab enables variable value assignment before or after an Event executes.
10.2 Exception Handling
An Exception Event listens for runtime exceptions or throws an exception. An XML
representation of the exception that has occurred is made available during the processing of the
post-execution assignments using the tw.system.step.error variable. The XML contains a
numeric exception code and an exception message in String format. If an exception occurs and
there is no Exception Event attached to the Activity where the exception occurs, the exception is
propagated up the BPD call stack until it reaches a nested process containing an Activity with an
Exception Event attached.
10.3 Transaction Management
Teamworks can support transaction rollback and compensation in two ways. The first is by
defining the compensation logic explicitly in Teamworks. Teamworks does not support the
BPMN Compensate event, but within the process, one can define logic and activities that undo
specific process actions, such as sending a follow-up cancellation email or reverting the old value
in an external system. Second, Teamworks can interact with a transaction monitor and commit
and rollback transactions as part of the process directly.
11. Performance Management
A key strength of Teamworks is its approach to performance management. Teamworks
emphasizes active business-oriented metrics that are used to optimize running processes in real
time and respond to changing conditions. Teamworks broadly distinguishes tracking from
reporting. Tracking refers to the logging of selected runtime data values at Tracking Points
specified in Teamworks process models and transferring them to the Performance Server.
Tracking also includes automatic generation of Alert messages sent to performance management
applications called ScoreBoards when triggered by specified runtime conditions. Reporting
refers to the analytical assembly, formatting, and presentation of tracking data to provide process
visibility in ScoreBoards and active optimization through Exposed Process Values.
The Teamworks architecture features a multiplayer abstraction layer for performance data that
allows the physical process model, variables, and components to change and not break reports.
Unlike some other BPM offerings, no database work is required to maintain performance
management metrics, even when process models change.
11.1 Tracking
Related data elements need for tracking in a business process, such as account or order
information, are selected as members of a Tracking Group in the Authoring Environment.
Tracking Groups can be envisioned as virtual tables or views in the performance database,
specifying fields to track. Tracking groups can be maintained by business analysts or process
owners, since no database or process changes are required to add or delete fields.
Tracking Events (also called tracking points) are components inserted in process models defining
where values of particular Tracking Groups are captured and copied to the Performance Data
Warehouse. A Tracking Event is an instance of a Tracking Group dragged onto the service
diagram. The Tracking Event defines both the point where the snapshot of performance data is
© Bruce Silver Associates 2009
35
BPMS Report
Lombardi Teamworks
captured and the mapping from service variable data to named tracking fields. At runtime, the
Tracking Event inserts rows into a Tracking Group table in the Performance Data Warehouse
(Figure 44).
Tracking Event
Tracking Group
Figure 44. Tracking event inserts a row in the tracking group data table. Source: Lombardi
Timing Intervals measure the time elapsed between a pair of Tracking Events, which may be in
separate services (but within a single process). Timing Intervals are used to measure process
velocity, such as the time it takes for a user to perform a task or a system to update an enterprise
information system.
Figure 45. KPIs and SLAs can be defined for processes, activities, and participants. Source:
Lombardi
Users can define Key Performance Indicators (KPIs) tracked at runtime if auto-tracking is
enabled. Teamworks provides several default KPIs and allows users to create custom KPIs in
Teamworks Authoring Environment (Figure 45). Service Level Agreements (SLAs) based on the
KPIs can generate real-time alerts or other triggered action. Each SLA is defined by a complex
condition expressed in a “sentence editor” (Figure 45), and a consequence or action. In
Teamworks 6, SLAs linked to a process or individual activity can trigger a violation report, or
start a BPD or service, based on either actual or simulated runtime data.
Send Alerts post warnings to a ScoreBoard at particular places in a process. An example might be
low inventory for a particular item. Alerts allow ScoreBoard users to take immediate action, and
they maintain a record of the exception condition.
© Bruce Silver Associates 2009
36
BPMS Report
Lombardi Teamworks
11.2 ScoreBoards
ScoreBoards are the highest level of user interface definitions for reporting. They organize
graphical Reports into predefined layouts specific to individual users or roles, providing both
functional customization and access control. When users log into the ScoreBoard area, they see
all the ScoreBoards associated with their roles (Figure 46). Reports are linked to datasources, and
allow users to drill down and filter report data from a ScoreBoard. Reports can also contain
Exposed Process Values (EPVs), values of specially declared variables that can be changed on
the fly by process owners to optimize process performance. Lombardi provides standard
ScoreBoards for Process, Team and Individual Performance out of the box.
Figure 46. MyPerformance tab shows all ScoreBoards for the user’s role. Source: Lombardi
The report datasource is specified by selecting an Integration Definition (typically a SQL query
on Performance Server data) and an associated Data Transformation to process the returned data.
Datasources return raw data as XML, and the transformation controls how the XML is turned into
the values matrix required by the chart (Figure 47). Report filters implement a dynamic Where
clause for the datasource, allowing a ScoreBoard user to customize the data aggregation at
runtime. In addition, report page drilldowns allow ScoreBoard users to navigate from one chart
to another, all set up via point-click dialogs.
© Bruce Silver Associates 2009
37
BPMS Report
Lombardi Teamworks
Figure 47. Report configuration specifies datasource (left) and chart parameters (right). Source:
Lombardi
11.3 Exposed Process Values
Exposed Process Values (EPVs) allow ScoreBoard users to adjust the values of specially declared
variables in order to optimize process performance. For example, a manager may want to be able
to adjust the purchasing approval levels for a group of customer service representatives. The
manager’s ScoreBoard provides access to an EPV called ApprovalAmount that can be adjusted in
a range between high and low boundaries. The running process reads the value of
ApprovalAmount and blocks all purchases without approval below that amount. The manager can
raise the Purchasing Amount Exposed Process Value during a particularly busy purchasing period
to avoid being overwhelmed by approval requests.
In the request-to-hire process (Figure 48), the time for salary approval is taking too long, so HR
changes the threshold needed for special signoff, using an EPV.
EPVs play a role similar to rule maintenance applications in Business Rule Management Systems.
In practice, multiple values often need to be changed simultaneously to reflect details of the
adjusted “business rule.” Beyond just ApprovalAmount, the need for approval might depend on
the date of the purchase request, the customer status, and the items requested. A single EPV
allows the values of multiple variables used in process logic to be changed simultaneously from a
ScoreBoard. EPVs are associated to specific ScoreBoard reports, since the need to adjust them is
caused by intelligence received through a report.
In the process logic, EPVs are typically referenced by gateway decision logic and in Javascript.
Any changes applied through a ScoreBoard take effect immediately without versioning and
redeploying the process.
© Bruce Silver Associates 2009
38
BPMS Report
Lombardi Teamworks
Figure 48. ScoreBoard users adjust Exposed Process Values on the fly to improve process
performance in real time. Source: Lombardi
Figure 49. LiveReports provide detailed performance reporting on actual or simulated runtime data.
Source: Lombardi
11.4 Optimization
The Optimizer perspective of Teamworks provides a wealth of charts and reports on runtime
performance. Actual data can be compared with historical data or what-if simulation output, as
discussed earlier in section 4.3. The Live Report tab in Process Portal (Figure 49) displays
© Bruce Silver Associates 2009
39
BPMS Report
Lombardi Teamworks
metrics for the selected process or activity, including instance analysis, KPI analysis, and activity
analysis.
12. Solutions and Services
Lombardi offers a broad set of services to help customers develop their BPM capability and
enable them for successful delivery. Services are designed to match the needs of a customer’s
BPM team and process improvement program, whether just starting out or expanding to multiple
projects across the enterprise. Services can also match the customer’s preferred resource model,
ranging from “self-sufficient” to “outsourced”.
12.1 Professional Services
12.1.1
Project Deployment Services
Lombardi offers Project Deployment services whereby Lombardi agrees to deliver business
process deployment as quickly as possible, when customers need to minimize time, resources,
and risk. Project Deployment Services are often used for delivery of the first version of a process
project, but can be used throughout the entire process lifecycle if a complete outsourcing model is
desired. Lombardi provides the project delivery resources to work with a customer’s Subject
Matter Experts over the course of delivery (typically 10-14 weeks).
Project deployment services can also be obtained from Lombardi’s Certified Delivery Partner
network.
12.1.2
Expert Services
Lombardi offers a set of Expert Services that a customer can use whenever assistance is needed
for more advanced project tasks. Expert service categories include:
•
Process improvement inventory and roadmap
•
In-depth process analyses
•
Process optimization
•
Platform installation and configuration
•
Benchmarking and tuning
•
BPM program strategy & architecture definition
These services are delivered by Lombardi’s BPM Analysts, Consultants, Technical Architects,
and Program Managers – on site, and in some cases “on demand”.
12.1.3
LODA
As an alternative to traditional fixed-scope, on-site service delivery, Lombardi On-Demand
Assistance (LODA) provides flexible access to Lombardi BPM experts, on-demand – remotely as
well as on-site – on a subscription basis. Lombardi customers view LODA as a cost-effective
way to access Lombardi’s expert BPM resources on a supplemental basis, during all phases of a
BPM project lifecycle.
There are different levels of LODA delivery so customers can select the amount of assistance
they need, ranging from simple delivery of Lombardi expert advice, to outsourcing
© Bruce Silver Associates 2009
40
BPMS Report
Lombardi Teamworks
implementation of specific tasks to Lombardi, to providing dedicated Lombardi resources as a
remote extension of a customer’s project team.
Figure 50. LODA provides user-selected levels of assistance. Source: Lombardi
12.2 Training and Certification
To enable customer teams to become self-sufficient, Lombardi has made a significant investment
in Lombardi University, which provides education, mentoring, and certification of BPM skills.
The core belief of Lombardi University is that traditional “one time” product training courses do
not prepare customers adequately for real-world projects and programs. Instead, Lombardi
University offers:
•
Role-based Education Tracks – Tailors education to all business and technical roles in a
BPM project or program, not just developers. This includes analysts, program managers,
administrators – and executives.
•
Multi-level Education – Provides advanced and expert level courses in each role-based
education track, to advance your team’s skills over time. And “elective” courses
complement core BPM skill development.
•
Certification of Skills – Utilizes exams to benchmark skill levels and guarantee
consistency across all BPM resources (in-house, Lombardi, and Lombardi Certified
Partners). Practical skills are demonstrated by completing actual projects.
•
Mentoring – Provides hands-on guidance by Lombardi experts to solidify practical
education in the context of real projects. Lombardi customers have found mentoring to
be an effective follow-on to course completion.
•
Faculty Network – Expands educational offerings and expertise beyond Lombardi’s
corporate boundaries through partnerships with well-known BPM experts.
Lombardi can help customers assess their current BPM capability and talent gaps in terms of the
skills metrics defined by the Lombardi Certification Program. Based on that assessment,
customers can tailor a talent development plan for in-house resources, enlist Lombardi Certified
Partners for staff augmentation, and tap into Lombardi expert services where they need
immediate assistance.
Bruce Silver, October 2009
© Bruce Silver Associates 2009
41