Volume IIII Issue1 01/05

Table of Contents

   Editor's Note
   Upcoming Events
   Quick Hits
   News and Announcements
   Guru's Corner: The Dark Side of Collaboration
   Guest Editorial: Collaboratiive Transactions

Sponsors


ActiveStream's desktop publishing, deployment and tracking software enables users to create video-based rich media presentations from the desktop.

 

 

 

“Collaborative Transactions”

by John Tibbetts and Barbara Bernstein

This last guest editorial of 2004 stretches the limits of collaboration by suggesting that rather than collaboration being tied to the interactions of two or more people, that people interacting with a transactional system can also be collaborative. It is an interesting idea, and the authors have implemented several of these systems over the last decade and have now made some of the components of this system available as open source software… David Coleman

Nobody who has used a good piece of collaboration technology needs further convincing: This is a great way to take advantage of the skills and knowledge spread throughout an organization, and to institutionalize successful review procedures. Computers and networks have clearly been a great enabler of collaboration. Collaboration as defined by Collaborative Strategies (CS) is between two or more people. But what happens when our systems get smart enough to act as a collaborative agent? This article looks at a critical area of enterprise processes that are not usually considered for collaboration…transaction-oriented processes.

A transaction is a piece of official business with real-world results: Placing an order, issuing a check, scheduling a shipment, recalculating a grade-point average, adjusting the metrics on the manufacturing floor. Hashing out the details of such pieces of business is often a multi-person job, but computers tend to handle transactions in a way that makes them profoundly collaboration-resistant. Anyone who turns from brainstorming over a blueprint to submitting a departmental requisition notices the difference immediately.

Enterprises would dearly love to increase the collaboration potential of their business applications, and there have been isolated pockets of success. We ourselves have built several collaborative transactional systems over the past 10 years, and have come to some conclusions about what such systems need to do and how they should be organized. These insights have now been captured in a set of open-source software components called the WorkThru Collaboration Framework, which may finally bring “collaborative transactions” within everyone's reach.

Understanding Transactions

In the IT world, a piece of work transacts when the information about it gets officially recorded in the enterprise database. Usually a single transaction involves multiple database updates: accept order, schedule delivery, debit inventory, email confirmation, bill customer, credit commission to salesman, etc. These updates involve valuable enterprise assets, so they have to be done accurately, synchronously, and completely.

It is not surprising, then, that the procedures for updating enterprise data are carefully controlled and highly formalized. Every business application religiously observes the “transactional disciplines,” a set of procedures developed during the mainframe era to protect data against corruption. These disciplines require a user who wants to propose a transaction to engage in a real-time conversation with the database. This usually involves filling out an electronic form and submitting it to the transaction-processing software for consideration. If anything about the data is incomplete or unexpected, the transaction fails and the user, most likely, has to start over. If the user takes too long, the session times out. Clearly these systems are computer-centric rather than people or process-centric.

"Out-of-channel collaboration"

The transactional disciplines make little concession to the human side of the process. They want work that is complete, error-free, and ready right now. But, obviously, many transactions only get completed through people-to-people collaboration. Just like a documents, these complex transactions often need input from multiple departments, or may require some research, discussion and negotiation. Estimates may get firmed up and rough proposals refined. And then there is the review and sign-off process.

This entire collaboration phase, alas, has to take place “out of channel.” It is completely disconnected from the application that will evaluate and process the transaction, and is often accomplished without any system help at all. To a degree that would shock followers of Collaborative Strategies, people working on business transactions still rely on phone calls, emails, and conversations around the water cooler). If they get the benefit of any system intelligence, it comes from personal productivity software that is not usually directly integrated with the core application. Only when the decisions are made and the work is complete does someone open the actual application and record the results. It's like collaborating on a document that can't be typed into a word processing program until it has been perfected on paper.

This is not only inefficient, it is risky! Potentially high-stakes business deals are under discussion, and the discussion is literally off the record. Important conversations vanish as soon as you close your IM session. The thoughts of colleagues disappear into the recesses of your email folders. The result is that decisions are often anonymous, and do not have a specific audit trail. The process cannot be reconstructed. Identifying where a piece of data came from, or who changed it and at what point, is impossible.

Work in Progress

Bridging the collaboration/transaction divide is not impossible—many custom-built applications have managed it, though with considerable effort. For example, certain on-line marketplaces let participants open up an IM-style chat for negotiation. The challenge is to make collaborative transactions widely available without extra effort to any business application that wants them. What we propose here is a generic approach that suits any kind of business process where database information assets get updated. It does not loosen up the transaction disciplines—information assets are, if anything, more highly valued than ever.

This involves inserting a new phase—perhaps a new space is a better way to think about it—that breaks the direct connection between user and database, holds work during its formation phase, and lets users collaborate with each other and with the system to get the work assembled, perfected, and cleared for commit (“commit” means cleared to be recorded in the database).

From a user's point of view, it looks as if those on-line forms that structure proposed transactions have been disconnected from the database, enriched with behind-the-scenes intelligence (promoting secure and effective collaboration, among other things), made easy to change and easy to route.

Turning to Objects

From a developer's point of view, each enriched form is in fact a software object—one of those data-function bundles that much contemporary software is constructed from. The object approach is to turn a process into a thing . Objects are particularly useful as they can be composed of both program actions and data. In addition their attributes can be applied to a whole class of objects or can be inherited by objects made up of other objects .Thus, the transient activity of proposing a transaction turns into a concrete transactional proposal—an evolving piece of work that can be saved, circulated, revised, and reconnected to the database when it is ready.

This object is the reusable core of the WorkThru framework. We call it a WIP, because it represents a piece of Work-in-Progress. With partially-completed, ongoing work embodied in software, transaction-facing collaboration starts to look plausible.

The WIP object opens up a collaborative preparation phase within the context of a transactional application. Since the WIP is disconnected from the back end, its life can last for a few seconds or for many weeks. It can be saved in a partially-completed state as many times as necessary. The WIP as a transaction-collaboration object can move among collaborators, collecting not only additions and modifications but also comments and suggestions. It can temporarily tolerate errors until it finds somebody to correct them. Eventually, when the work that it contains is ready, the WIP docks up against the database and unloads its contents.

In one sense, a WIP is the equivalent of the “document” in classical collaboration—something that the group can look at together, work on collectively, and improve incrementally. But documents tend to be content-heavy and function-light. They are most often manipulated from the outside, and much of their groupware capabilities come from the environment in which they circulate. By contrast, a WIP allows less leeway with its content, but surrounds this content with richer functionality. Most of its collaborative behavior comes built right into its infrastructure.

Built In Collaboration Technology

Collaborating within a transactional context looks a lot like collaborating on anything else, with a few significant differences that we will point out as we go along. The capabilities required (and the ones that are built into the WIP object) include these:

  • Versioning : Like a document, a transactional proposal may go through many drafts. It is very helpful to have all these drafts handy, both as a record of how the work evolved and as a chance to return to an earlier version if something goes off track. A new version of a WIP gets created every time a change is made, and all of these versions travel around with the WIP so any user can look through them. There is unlimited undo/redo.
  • Change log : In a collaborative environment, where many people touch a single piece of work, it is critical to know who did what. Every version of a WIP is digitally signed and time-stamped, creating a non-repudiable record of where each piece of data came from and who is responsible for every change made to it. If a question arises about how a certain transaction was arrived at, including the specifics of who did what when, there is a complete change log that provides the answer.
  • Access Control : Collaboration raises confidentiality and authorization concerns. Not every collaborator may be entitled to see and/or interact with the entire form—it's true of documents and equally true of evolving business deals. Fine-grained access control is a must. Each WIP—or any of its sections, pages, or individual fields—can be “trained” about who to display itself to and who to accept changes from. This can be flexible and dynamic. For example, an application may be arranged so that someone holding the role of “Supervisor” can see the proposed bonuses for all employees in her department but can adjust the bonuses only of her direct reports.
  • Annotations: Collaboration means communication, and communication leading to business deals should be in context and on the record. What's needed is an annotation mechanism that encourages users to “scribble” freely and preserves all these scribbles for future reference. In a WIP, every field (and every page, and the form as a whole) accepts electronic “stick-on notes” where users can pose questions, provide explanations, give instructions, or otherwise elaborate on the data. These notes travel with the WIP. They are clearly marked, and can be opened, read, and added to by other collaborators. Often this leads to threaded discussions where many people weigh in. Every contribution is signed and dated, and the entire conversation is saved.
  • Workflow : Classical workflow usually involves a separate piece of software that moves documents around in a pre-determined way. WIPs, more self-aware and function-rich than documents, can take a more active role in their own travels. This kind of grounds-up workflow (also called “agent-based workflow”) can be very powerful and flexible. Here is how the WorkThru version works: When it is created, a WIP is provided with a list of “needs” that will have to be satisfied before it will be ready to commit—pieces of data to be collected, attachments, approvals, etc.—along with a list of people (by role) who can address each of these needs. When the circumstances arise that cause a need to become active (a trip has been initiated: “book a flight”), the WIP seeks out the appropriate user; once that need is satisfied, a new need arises (“reserve a rental car”) and the WIP moves on to the next person. A WIP can even analyze its own contents and adjust the workflow accordingly—for example, if the value in the “Airfare” field is above $1200, a “get manager approval” need may become active and the WIP will take a detour. By consulting a fairly simple set of internal rules, a WIP can do the right thing in a wide range of circumstances, some unforeseeable.
  • Error handling : Errors stop most transactional applications cold. Often work cannot continue as long as there is an error or a un-filled-in field. Transactional sessions abort regularly for just this reason; it is the only way to protect the data in the database. A database-independent WIP object, however, can be more forgiving, handling data errors the way documents handle spell-check errors. The problem is brought to the user's attention, and the user can choose to make the correction immediately or can defer it and keep working. A WIP with errors in it has no problem being saved or sent on (perhaps to someone who knows the right answer). All errors have to be fixed, and all required fields filled in, before the WIP can be submitted to the database, but until then they form a kind of to-do list: marked, indexed, and scannable.

A Real-World Example

 

Here is an example of a threaded discussion kicked off by a “soft” error detected by the system. The screen shot comes from a clinical trials application currently in use by a major medical center. It shows one of many possible UI implementations of the WorkThru error-handling and annotation capabilities.

The entire light-blue area is a “pop-open” that is not usually visible; that is, question 6 normally follows directly after question 5. The note/error area pops open immediately above a question field when a user clicks on the pyramid next to the question number. A gray pyramid (as next to questions 5 and 7) means that the note/error area is empty but ready to be typed into. A blue pyramid means that there is one or more user-written annotation attached to the field. A red pyramid (as next to question 6) means there is one or more system-generated error messages on that field.

The red X in the top right-hand corner closes the pop-open and returns the form to normal. The links at the bottom of the pop-open enable searching the form for additional notes and error messages.

The System as Collaborator

Error-handling is an area where transactions can be even more collaborative than documents. When the topic of discussion consists of structured data rather than free form text, the system already contains a lot of intelligence about what kinds of values are acceptable. When this intelligence is used to signal work to be done, rather than to kill the transaction, it can be a valuable help. The system becomes another collaborator—a kind of superhuman proofreader checking not just for typos and misspellings, but for data that is of the wrong type (no integers in the Name field!), the wrong length (no 2-digit Area Code!), or incompatible with other data (this Zip Code isn't in this State). If the developer chooses to write sophisticated validation rules, a WIP can also make sure that data values fall within ranges that make sense (Heart Rate Per Minute must be higher than 50 and lower than 100) and align with company policy (Percentage Raise cannot be more than 9%).

A WIP's ability to spot errors can be very specific. It can distinguish between values that are impossible and those that are just suspicious. The first case is a “hard” error, a value that is unacceptable and must be changed. The second case is a “soft” error which is a value that may be correct but is so unusual that is has to be explicitly OK'd by someone in authority. For example, a Blood Pressure value of 350/50 is incompatible with human life and is certainly an error; a blood pressure value of 180/90 is possible but should be brought to the attention of the doctor. When a soft error is overridden and the data accepted, the system notes who made the OK, in case a question about the data arises in the future.

Conclusion

Collaboration technology is so powerful a productivity-enhancer that transactional applications cannot afford to forego it any longer. Enterprises need to find a way to take advantage of the knowledge and talents of multiple people within the context of their core business applications. The WorkThru Collaboration Framework, coming soon to an open-source site near you, provides a way to add collaborative functionality to any transactional application. If it succeeds, and business tasks routinely pass through a WIP phase on their way to updating the database, collaboration tools will extend their influence into new areas of the organization, supporting better decisions, increasing accountability, improving productivity and adding to the quality of the work.

John Tibbetts and Barbara Bernstein are partners in the consulting firm Kinexis, specializing in applying object technology to transaction-focused workflow and collaborative systems. John Tibbetts is the creator of the WorkThru Collaboration Framework, which will make its open-source debut early in 2005. Learn more at www.kinexis.com or by contacting us directly at (415) 558-9277.

 
 
 
 
Copyright © Collaborative Strategies.2004. All Rights Reserved.
This site is protected by copyright law and international treaties.[Privacy Statement]
About Us Publications Consulting Services