Collaborative computing refers to the use by two or more end users of a computing application in order to achieve a common goal. Initially envisioned as a document sharing technology among members of a small workgroup in the corporate environment, collaborative computing has grown today to include a wide variety of technologies arranged strategically to facilitate collaboration among members of a workgroup. No longer merely restricted to document sharing, the modern collaborative environment can include document libraries, chat rooms, video conferencing, application sharing, and discussion forums to name only a few.
A collaborative computing application enjoys substantial advantages over a more conventional, individualized computing application. Specifically, at present it is rare that a goal of any importance is entrusted and reliant upon a single person. In fact, most goals and objectives can be achieved only through the participation of a multiplicity of individuals, each serving a specified role or roles in the process. Consequently, to provide computing tools designed for use only by one of the individuals in the process can be short sighted and can ignore important potential contributions lying among the other individuals involved in the process.
Personal information managers, project management systems and workflow management systems represent three such computing applications which attempt to manage a process leading to an objective, leveraging of the participation of many individuals in the process. Considering first the personal information manager (PIM), in a PIM, a single end user can establish a calendar of events and a to-do list of tasks which are to be performed by the end user. To the extent that a task is to be performed by another individual, the end user only can establish a task reminding the end user to monitor the completion of the task by the other individual. PIMs do permit the calendaring of events among different individuals, but the calendaring operation only can “invite” others to calendar the event within the personal information manager of other users.
Project management systems provide means for an individual or a group to define and track project stages with strictly-specified interdependencies. In a traditional project management system, the phases of a project can be defined from start to finish and a timeline can be generated for the project. Utilizing the timeline, it can be determined when particular phases of the project have been completed and when a subsequently scheduled phase of the project can begin. To the extent that the timing of one phase of the project changes, the remaining project phases can be adjusted to accommodate the changed timing. Similarly, if the project requires the use of limited resources, and the allocation of one such resource changes, the remaining project phases that depend on that resource can be adjusted to accommodate the reduction of that resource. A major strength of project management systems is their maintenance of these kinds of strict interdependencies. In addition, in many project management systems, particular people can be assigned to particular phases of the project.
In these ways, the execution of a project can be better managed by a project manager using the project management system's control over timing, resources, and people. Notably, in most project management systems, the interdependencies are specified by the project manager, and the other users are relegated to the subordinate tasks of confirming that components have been completed, or indicating changes in resources. Changes in interdependencies are typically executed only by the project manager.
Workflow management systems differ substantially from PIMs and project management systems. In a workflow management system, different computing processes can be linked together by an electronic specification. Moreover, in a workflow management system, it is not important whether all of the computing processes are managed by a single entity and different ones of the computing processes can be distributed about a network of diverse computing resources. In the latter circumstance, the specifying electronic document merely need reference the pertinent computing processes in a way in which the processes can be located in the value chain. Most importantly, a workflow specifies a structure of distributed processes, executed by a combination of electronic and human agents, with rigid contingencies that are enforced among these agents.
Learning management systems can be viewed as collaborative forms of the project manager. In a typical learning management system, a project species—namely a syllabus—can be defined to include one or more assignments. A class can be created from the syllabus, one or more instructors can be assigned to the class and one or more students can be enrolled in the class. Advantageously, additional collaborative tools can be provided to facilitate the execution of the course, including a chat room, document library and discussion forum, to name a few.
Notwithstanding the foregoing, individualized PIMs, project management systems, and workflow management systems, as well as collaborative learning management systems, do not account for the actual nature of a coordinated set of collaborative tasks conducted by people, such as an activity. An activity, unlike a typical project or workflow, refers to objects, actions, and persons in the real world, and provides a computerized representation of selected aspects of those objects, actions, and persons.
As is well known, human work is notoriously situational and changeable. Humans discover new aspects of problems, develop new understandings of constraints, adapt to changed conditions, and inform their colleagues about these new circumstances. Regarding this changeable, re-interpretable, shared human work, conventional task management systems have failed to provide a flexible, collaborative computerized representation of a coordinated set of collaborative tasks. Rather, PIMs provide merely flexible, but private representations of collaborative tasks.
By comparison, project management systems provide shared representations of project components in which one user typically specifies a fixed set of components and their interdependencies for use by other users. Furthermore, in project management systems, other users are relegated to the task of updating not the interdependencies, but merely the status of the specified components within those strict interdependencies. Accordingly, workflow systems and learning management systems provide a strictly enforced sequence of actions and keep records of deviations therefrom.
In view of the foregoing, what is needed to support actual human collaborative work is a flexible online representation such as an activity of that human work, and of the changing interpretations and interdependencies of that work. Unlike typical project management or workflow systems, such an activity system should provide guidance, coordination, and access to resources for people to carry out collaborative activities in a natural situationally-adaptive manner, and for people to change the representation of both the activity itself and its relationship to other activities.
By allowing all users to modify and refine these representations, and unlike project management systems, workflows, and learning management systems, the activity system should become an activity management system. Further, by providing access to resources that are internal and external to the activity environment, the activity management system should provide unified activity management of those representations and their resources. Activities, unlike projects or workflows, permit free variation in the completion of tasks. Thus, activities, unlike projects and workflows, are not so rigid as to require a sequential completion of each phase of a project.
The present invention addresses the deficiencies of the art in respect to activity management and provides a novel and non-obvious method, system and apparatus for creating and managing an activity in a collaborative environment. In a preferred aspect of the present invention, a unified activity manager for use in a collaborative environment can include an activity list view including a hierarchical listing of activities. Selected ones of the activities can include a hierarchy of sub-activities. The unified activity manager further can include an activity view including a rendering of properties associated with a selected activity in the activity list view. Finally, the unified activity manager yet further can include a persons and roles view including at least a listing of collaborators available for association with the selected activity in the activity list view.
In one embodiment of the invention, the activity view further can include a listing of collaborators associated with the selected activity in the activity list view. In another embodiment of the invention, the activity view further can include a listing of roles associated with the selected activity in the activity list view. In yet another embodiment of the invention, the activity view further can include a listing of resources associated with the selected activity in the activity list view. In this regard, the resources can include at least one electronic mail message associated with the activity, at least one document associated with the activity, at least one file associated with the activity, at least one link to a workflow associated with the activity, at least one calendar entry associated with the activity, or at least one collaborative application associated with the activity.
A method for creating an activity in a collaborative environment can include establishing an activity, inserting additional activities arranged in a sub-activity linkage hierarchy into the activity, associating a collaborator with the established activity, rendering the established activity in an activity list view in the collaborative environment, and permitting access for the collaborator to the activity in the collaborative environment. The method further can include establishing additional activities in the activity list view. These additionally established activities can be independent of the initially established activity. Alternatively, these additional activities can be inserted as dependencies or components of the initially established activity.
The method yet further can accommodate changing circumstances, permitting the editing of either the description of an activity, or the interrelationships among activities. The method yet further can include inserting additional tasks in the activity, and arranging the additional tasks in a hierarchy. In this regard, at least one role can be assigned to at least one of the additional tasks in the hierarchy. Finally, it is important to note that the activity can be completed without requiring each task in the activity to be completed.
Additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein:
The present invention is a method, system and apparatus for creating and managing an activity in a collaborative environment. In accordance with the present invention, an activity can be established and one or more tasks can be specified for the activity. The task defines work to be done, and the activity provides data, metadata, functionality, and links to manage the completion of that task. An original activity may be decomposed into one or more additional, dependent activities, each of which is linked to the original activity through a subactivity-relationship, and each of which may have one or more tasks specified for the respective activity.
At least one collaborator can be assigned to at least one of the activities. Optionally, in lieu of assigning a collaborator to a activity, a role can be assigned to the activity which role can be filled by a collaborator characterized by the role. Importantly, one or more resources also can be assigned to one or more of the activities, where each assigned resource can be utilized in the course of completing an assigned activity. To that end, the resources can include documents, collaborative tools and workflow links, to name only a few.
In further illustration,
The activity view 120 can include a description of a task that is contained within the activity. The task description can include one or more tasks associated with the activity. Additionally, tasks can be decomposed into zero or more dependent tasks, which together comprise a richer procedural specification of the original task. Each of these dependent tasks is itself a task, but appears in a subtask-relationship to the original task. This process of specifying tasks in subtask-relationship may be extended to any desired level of dependent specification.
The activity view 120 further can include a detailed listing of the properties of a selected activity in the activity list view 110. Specifically, the detailed listing can include a listing of collaborators (people) specified for the activity. Also, the detailed listing can include a listing of collaborator roles (roles) specified for the activity. Further, the detailed listing can include a listing of events specified for the activity. Finally, the detailed listing can include a listing of links to internal workflows, external workflows or both.
Finally, the peoples and roles view 130 can include a listing of collaborators in the collaborative environment available for assignment to a specified activity in the activity list view 110. The peoples and roles view 130 also can include a listing of collaborative roles in the collaborative environment available for assignment to a specified activity in the activity list view 110. In this regard, a role can be compared to a person in that a person references a specific identity and a role references only a class of persons.
Finally, an activity map 140 can be provided. The activity map 140 can include an arranged set of electronic mail messages, calendar entries, documents, files and file folders, and applications, such as an application share, discussion thread or chat session, to name a few.
Turning now to
In accordance with the present invention, each of the activities 270 optionally can include links to both internal resources 280 and external resources 290. The internal resources 280 can include internally disposed documents 280A and internally specified workflows 280B to name only two. Similarly, the external resources 290 can include externally disposed documents 290A and externally specified workflows 290B. Other resources not shown can include references to internally available collaborative tools including application shares, chat sessions, document libraries, and e-mail messages, to name a few.
Utilizing the architecture of
In further illustration,
In block 330, it can be determined whether any resources are to be associated with the activity. The resources can include, but are not limited to documents, messages, collaborative applications, or workflow links. If so, in block 335 the resources can be associated with the activity. Similarly, in decision block 340 it can be determined whether any resource placeholders, referred to as “envelopes”, are to be associated with the activity. If so, in block 345 the envelopes can be associated with the activity. Also, in decision block 350 it can be determined whether any events are to be associated with the activity. If so, in block 355 the events can be associated with the activity. Finally, in decision block 360 it can be determined whether any event placeholders, referred to as “occurrences”, are to be associated with the activity. If so, in block 365 the occurrences can be associated with the activity. Finally, in block 370 the activity can be stored.
Turning now to
The present invention can be realized in hardware, software, or a combination of hardware and software. An implementation of the method and system of the present invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system, or other apparatus adapted for carrying out the methods described herein, is suited to perform the functions described herein.
A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which, when loaded in a computer system is able to carry out these methods.
Computer program or application in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form. Significantly, this invention can be embodied in other specific forms without departing from the spirit or essential attributes thereof, and accordingly, reference should be had to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.