PROJECT PLANNING/MANAGEMENT TECHNOLOGY REVIEW: Enact Enterprise System Date: 15 August 2000 Copyright (c) 2000 Jim Salmons All Rights Reserved Associated project: "Specification Writing for Web-based Project Planning Software" (sXc ID: 24) Project URL: http://sohodojo.com/techsig/project-planning-project.html sXc Project detail: http://sourcexchange.com/ProjectDetail?projectID=24 Project coordination: SourceXchange Sponsors: Opendesk.com and Collab.Net Core Team: Jim Salmons and Frank Castellucci When complete mail to: project24@lists.sourcexchange.com 1 Overview The intent of this document is to provide feedback from analysis of products that are comparable to the general goals of the project. The focus is on key technological areas with an overriding concern in regards to role collaboration capability. 2 Product/Service Profile 2.1 Name of offering Enact Enterprise System 4.2 2.2 Publisher/Author/Service-provider CriticalPath 320 First Street San Francisco, CA 94105 U.S.A. Netmosphere, the original developer of the Enact, was recently acquired by CriticalPath. 2.3 URL for more information http://www.netmosphere.com/products/enterprise.htm 2.4 Type - one or more of local client, client/server, web service, etc. The Enact Enterprise System includes a highly-scalable application server and three core client components: ActionView, ActionPlan and ActionTask. The client's browser must be Java-capable. Alternatively, users can run a Java-based desktop application to access the Collaboration Server. 2.5 Pricing/Availability Prior to its acquisition by CriticalPath, Netmosphere had an 'attractive enterprise pricing' plan that had 5-user licenses in the $2500 USD range with required $600-800 maintenance/support plans. This was for the version before the current 'Enact' branded release. Current pricing is available by request based on a quote profile which form at http://www.netmosphere.com/products/purchasing.htm. 2.6 Assessment based on hands-on experience or info-only? The reviewer has used the original ActionPlan and ProjectHomePage offerings (predecessors subsumed into the Enact system). This prior experience was supplemented by installing and exercising the current Enact 4.0 version. 2.7 Reviewer comments 3 System Constraints 3.1 Physical Limitations Not applicable. 3.2 Software Limitations (operating systems, plug-ins, drivers) Enact System Requirements Server Minimum/Recommended Hardware: 124 MB RAM, 256 recommended 60 MB disk space, 1 GB recommended Windows: Pentium II 300 MHz or higher Sun: Ultrasparc 2 or higher Supported Platforms: Windows NT 4.0, with Service Pack 4, 5, or 6A Sun Solaris 2.6 and 2.7, with the latest patches Supported Web Servers: Microsoft IIS 4.0 (NT) Netscape iPlanet 3.0 or 4.0 Apache 1.X (Solaris) Supported Databases: Oracle 8.0.5 and 8.1.6 Microsoft SQL Server 7.0 Integrated Storage (flat file) Supported LDAP Servers: Netscape Directory Server 4.0 or 4.0.1 Eudora WorldMail Directory Server (included for NT) University of Michigan LDAP Server (included for Solaris) Required Software: Perl, version 5.003, build 3.06 SMTP-based email system or an SMTP-compliant gateway to the email system (to enable email functions) Browser Access Client Minimum/Recommended Hardware : 64 MB RAM ISDN or faster connection to the Enact Collaboration Server Supported Platforms: Windows 98 Windows NT 4.0, with Service Pack 4, 5, or 6A Sun Solaris 2.6 and 2.7, with the latest patches Supported Browsers: Microsoft Internet Explorer 4.0 or 5.0 Netscape Navigator 4.5 or 4.7 Required Software: Adobe Acrobat 3.0 or 4.0 (for printing) Enact Desktop Client Minimum/Recommended Hardware : 64 MB RAM 30 MB disk space (40 during install) Supported Platforms: Windows 98 Windows NT 4.0, with Service Pack 4, 5, or 6A Sun Solaris 2.6 and 2.7, with the latest patches Macintosh PowerMAC on MacOS 8.0 and , MRJ 2.1 Supported Browsers: Microsoft Internet Explorer 4.0 or 5.0 Netscape Navigator 4.5 or 4.7 Palm Task Integration Palm OS 3.0 or higher device JSync to use HotSync Manager on Windows (included) 3.3 Implementation Limitations (number of projects, tasks per projects, users, roles) There were no stated limits. 3.4 Does the software assume a specific project management methodology, if so which one(s)? The offering itself does not assume a particular methodology. A number of sample files are provided for instructional purposes and to be used as templates to generate 'starting point' new projects. These sample projects represent a variety of approaches to project management and organization consistent with the Enact platform. 3.5 Reviewer Comments 4 Collaboration 4.1 What is the interaction model? (Real-time dynamic views, publish/subscribe, email, user queries, etc.) The Enact interactive environment provides a number of brower-based and desktop applications that support real-time, interactive collaboration between all Project Team Members, Contributors and other Stakeholders. The user types and the tasks they routinely perform are performed using one or more of the Enact components. Enact Customized Workspaces User Type Tasks Component Executive • Viewing key project status ActionView • Viewing project details Contributors • Viewing assigned project tasks ActionTask • Viewing project status • Updating task progress • Communicating task progress Planners • Creating and editing projects ActionPlan • Managing resources ActionAdmin • Assigning tasks to resources • Tracking project status • Reporting project status to management 4.2 When used in project planning mode, is team communication support? Each Task has a Notes field which maintains a log-like text area which can be used for informal Team Member discussion. Users given access to Draft ActionPlans (an Enact Project) can participate in collaborative project plan development. While Enact is web-based, it has a bit of an 'enterprise' bias (as its name appropriately reflects). There is a strong assumption that users will interactively log onto the Enact Collaboration Server, through a variety of scaled interfaces, using a Java-based browser, Java desktop application or through 'Viewpoints' which are HTML project-status websites served by your HTTP web server. Email is relatively peripheral to Enact. A general User can't, for example, easily toggle an email notification or teaser for status changes or progress updates. There are lots of times when you know a little 'email double-up' communication greases the wheel of distributed collaboration. New to this release, a Project Manager can be designated for a Project. This user is automatically notified by an email message when the end dates for tasks are manually recalculated. These emails help Project Managers track changes to project costs and dates. The Project Manager and project manager email address is listed on the Project Manager panel of the Plan Properties dialog box. 4.3 When used in project monitoring mode (more modest a target than project management), how is team member interaction handled? ('project-manager -centric' or peer interaction; is there an ad hoc issue management facility, etc.) As stated above, Enact presents a 'total immersion' teaming environment which is best used when all Team Members and Stakeholders have convenient and fast connections to the Enact Collaboration Server. When everyone involved and interested in a project has a good connection to the Collaboration Server and appropriate client software, Enact provides a dynamic multi-project action-oriented working environment. 4.4 What are the 'key indicators' used to keep project team members and stakeholders informed of the state of the project? ActionPlan is the Java-based, Gant-timeline style visual editor component of Enact. Projects plans can be quickly built with this tool. The default view provides graphical timeline visual queues of the state of a project. The tabular section of the ActionPlan view shows slack, effort, duration, key dates, percent completion. New to this release is a Critical Path highlight feature. ActionTask is Java-based client browser/app viewer which serves as a User-specific, customizable Task Assignment viewer to coordinate the User's participation in whatever projects the User is participating in. Color highlights, text attribute changes and list sorting are used to reflect priorities and deadlines. As integrated as the Enact system is, it is surprising that there is no convenient way to 'pop-to' an assigned task within an ActionPlan view from the ActionTask list. One of Enact's strengths is in its easy-to-use tool for project managers to build project-specific status-reporting websites which dynamically maintain and present updated views on the project for Team Member, Management and Partner (Stakeholder) users. A dynamic HTML-based project website is called an Enact Viewpoint. The Viewpoint editor makes is easy to build web-based status reports on a Project. ActionView is a Java-based client browser/app viewer which manages access to a Viewpoints that the User has been given access to. A two-panel display gives a quick global overview of all the Projects a User is monitoring. The top view lists the Viewpoint link, a link for sending the Project Manager an email note, last updated date, and a 'red-yellow-green' top-level status. When one the top-panel list items is selected, the bottom panel presents a convenient summary view which gives a project summary, narrative status report and a table of Project Milestones listing milestone date and the milestone's current status. 4.5 Does the product or service's concurrency features facilitate or hinder team member collaboration? The Collaboration Server Workspace facilitates real-time collaboration among project team members. The ability to build large projects from import-linked sub-projects and the ability to grant access to all tools for any user makes for a highly participatory project planning and management environment. 4.6 Security features A basic user log-in-by-password procedure protects access to the Enact Collaboration Server through its client views. A separate Collaboration Server Admin Console is provided to allow convenient Server admin control. The Server admin view has full access to the User account management system as well as to a data Backup facility and Server start-stop functions. When used in large-scale, distributed configurations, Enact seamlessly uses a built-in or external LDAP directory service to manage User and other resource access. 4.7 Reviewer Comments The recent addition of the optional email notifications to the designated Project Manager is a good addition to the Enact system. Enact would benefit from a generalization of this feature into a per-User personalization feature. 5 Role Support 5.1 What is the 'person/role' model? Enact has a relatively rich Person/Role and Organization/Group model. Persons in Enact are what would generally be called Users other systems. A Person is a relatively 'thin' model element. In addition to the username and password, a Person's properties include an Organization affiliation, a description, email address, cost per hour, work calendar and settings for whether the Person can manage Enact user accounts and/or assign tasks to users. The ActionAdmin tool manages both Users (Persons) and Roles. The Users tab presents a view that manages Person, Group, Organization and Alias model elements. The Roles tab presents a view which maintains the Roles defined globally in the Collaboration Server Workspace. Role model elements are relatively light-weight with a Name, Description, Comments and Cost Per Hour attributes. Enact has a relatively simple and effective mechanism for handling Person assignments to Roles within ActionPlan. The Project Planner is encouraged to create plans with assignments abstracted to Role assignments. When a Task's People field is edited in ActionPlan, a multi-select drop-down combobox presents items clustered by Persons, Roles and Other Users (which is a button to pop up the LDAP interface for accessing Users. The drop-down list includes a 'percent involvement' text input for each Person or Role assigned to the Task. When a Project goes 'live' and then throughout the life of the Project, the Project Manager uses a simple dialog view to associate Persons to Roles. One or more Persons can be associated with each Role. For each Person assigned, a 'percent involvement' attribute is maintained. This underlying model allows multiple Persons to fill multiple Roles with varying degrees of involvement in each. Role/Person associations are made at the global Project level. You cannot assign many different Persons to specific Task/Role assignments. 5.2 How are 'person/role' elements related to 'organization/group' elements? Organization model elements are composite elements that allow you to create 'Organization/Sub-organization' hierarchies. Persons are associated one-to-one with Organizations. Alias model elements create an Association between a Person and Organization. Aliases allow Users to more flexibly reflect the matrix and otherwise dynamic relationships which relate Persons with Organizations. Groups are 'non-organizational' collections of Person/Users. 5.3 Can one person fill many roles? Can one role be filled by many persons? (resource/skill pools, etc.) The Project Manager uses a simple dialog view to associate Persons to Roles. One or more Persons can be associated with each Role. For each Person assigned, a 'percent involvement' attribute is maintained. This underlying model allows multiple Persons to fill multiple Roles with varying degrees of involvement in each Role. 5.4 Reviewer Comments While Role objects are rather lightweight model elements, they provide a very powerful abstraction within Enact. Some system use Roles as placeholder assignments until a Person is allocated to the Task. Once this substitution is made, the Role/Task association is lost. Enact, on the other hand, preserves the Role assignment and provides a rich 'many-to-one' and 'percent involvement per actor' dimensions to these model elements relationships. Starting point Project plans with Role-based Task assignments provide a very nice template system to increase project planning productivity. 6 Concurrency Concurrency is defined by the implementations locking and transaction model. As such, the granularity of the locking will determine the liveliness of the system. The finer the granularity of locking, the more lively the interactions may be. Another aspect of concurrency is in regards to work-flow and the transaction model, does the system support "conversational or long-term transactions" for example. 6.1 Single or multi-user Web-based, multi-user. (There is a slick Palm device interface.) 6.2 What is the implementation technology supporting concurrency? Java-enabled client browser and/or optional Java-based desktop application. A built-in or external LDAP server handles directory services. 6.3 Revision Management The System Administrator has a global Backup service to capture the data state of the Workspace of the Enact Collaboration Server. The Task Notes attribute supports a simple 'Insert link' function that can be either a URL, a file attachment, or link to another Enact Project. These links are not versioned. 6.4 Reviewer Comments 7 Accessibility 7.1 Web-based Enact is a web-based client/server platform. 7.2 Interchanges support (MS Project, XML, RDF, etc.) ActionPlan imports and exports MS Project MPX format files. 7.3 Import/Export (MS Project, text, etc.) ActionPlan imports and exports MS Project MPX format files. 7.4 Mobile Users A convenient Palm OS device interface supports loosely-connected, mobile users. Project plans can be 'checked out' from the Collaboration Server so a single user can go mobile and disconnected and continue working on a plan. Unlike ManagePro's mobile computing support, Enact provides a relatively awkward 'check out and unavailable/unchangeable until returned' mobile computing support. There is no conflict detection and resolution to support disconnected use of a Project Plan by mobile users. 7.5 Reviewer Comments 8 Project Proposal Management 8.1 Vision/Goals specification Does not address this function. 8.2 Business Processing Rules Does not address this function. 8.3 Implementation Specific Rules Does not address this function. 8.4 Reviewer Comments 9 Requirements Management 9.1 Documentation Controls Does not address this function. 9.2 Relationship to Task Management Does not address this function. 9.3 Implementation Specific Rules Does not address this function. 9.4 Business Processing Rules Does not address this function. 9.5 Reviewer Comments 10 Task Management 10.1 What is the 'activity/task' model? An Enact Project is a hierarchy of Tasks. A Task maintains an ID, a collection of predecessors, slack, note thread, effort, duration, Person/Role assignments, start and end dates, constraint, constraint date, priority, status, percent complete, remaining duration, completion date along with fixed, planned, completed remaining and projected costs. 10.2 How are roles related to activity/tasks? Roles are available along with Person model elements in the assignment interface of the People attribute of a Task. A Role maintains its own Cost Per Hour attribute which allows one Person to work at multiple Role-related rates. 10.3 Is the product/service 'project-manager-centric' or can team members extend and/refine the plan within the realm of their own activity? A Project Manager can be designated for a Project. This gives a 'single point of contact' reference authority for the global user community of a particular Collaboration Server. However, Project planning can be distributed among Team Members by granting Project read/write access along with Task creation and assignment privileges to selected Person/Users. The new Task Report Options feature, which manage email notifications for the designated Project Manager, has a bit of a 'project manager'-centric feel to it. 10.4 Views: Predefined, user-configurable or both Both. The ActionView component is a major subsystem which provides a quick and easy way to create Viewpoints, project-specific websites which project dynamic Team Member, Management and Partner (Stakeholder) views. 10.5 Status reporting mechanisms (percent complete reports, 'flag-raising' or issue management features) The Project Manager can optionally schedule daily, weekly or monthly email Task reports that include Tasks due for the report period, overdue by a specified time period, assigned since last report and changed since last report. The ActionTask views use color, text attributes and sorting to reflect priorities and deadlines in Person/Users To-Do lists. 10.6 How are consumable/required task-specific resources handled? Fixed cost items can be associated with Tasks. This gives an effective way to schedule resource acquisitions and to more accurately reflect project expenses in the financial roll-ups defined in ActionView Viewpoints status reports. 10.7 Reviewer Comments 11 Task Constraints 11.1 Task Dependency Internal (intra-project) Tasks can be constrained by Fixed, As Soon As Possible, As Late As Possible, No Earlier Than and No Later Than settings. A collection of Predecessors further describes Task dependencies. 11.2 Task Dependency External (inter-project) Enact supports an Export function which large projects to be partitioned into multiple, smaller Plans. Task interdependencies are maintained across these exported partitions. There is no way to link any arbitrary Task within on Plan to another arbitrary Task in another Project. 11.3 Resource constraints (expressed as percentage) No. 11.4 User defined constraints No. 11.5 Reviewer Comments 12 Reporting 12.1 Pre-defined, user-defined or both Both. The ActionView component is a major subsystem which provides a quick and easy way to create Viewpoints, project-specific websites which project dynamic Team Member, Management and Partner (Stakeholder) views. 12.2 Publisher-push by project manager or team member dynamic views? The ActionView Viewpoints are dynamic website views onto the state of a Project. 12.3 Stakeholder-specific views? Absolutely. The Viewpoint editor helps the Project Manager to create project-specific websites which project dynamic Team Member, Management and Partner (Stakeholder) views. 12.4 Multi-project analysis Nothing formal. You can open and interact with multiple, concurrent Projects. However there are no tools currently for analyzing multiple Enact Projects. 12.5 What-if analysis The ActionPlan Gant-timeline view provides an intuitive interface for performing informal What-if analysis. But this is a somewhat limited facility. There are no tools to facilitate defining differential scenarios and programmatically modifying the Project Plan in line with scenarios assumptions. 12.6 Security features The Person/User management system maintains the basic username and password access authorization system. 12.7 Comments 13 Multi-project Management 13.1 Role Template library? Yes. While the Roles themselves are rather lightweight model elements, the readily accessible, global Role definition pool helps with enterprise/community-wide development of shared terminologies and workflow patterns. 13.2 Repetitive Task library? Not formally. But you can import a branch of Tasks into a Project. By collecting a Role-based selection of 'frequently used' interaction patterns, Enact users can obtain high degrees of productivity in Project Planning. 13.3 Reviewer Comments 14 Post Mortem 14.1 Analysis and Reporting Not in the solution boundary. 14.2 Is there an interface to a 'reputation-building' rating system for team members? If so, is there a 'disputed assessment' system to resolve conflicting opinions. Not in the solution boundary. You can informally use the Task Note attribute as an issue management system. But this should not be considered at full-featured subsystem. 14.3 Reviewer Comments 15 Subjective Impressions 15.1 User Interface: Strengths/Weaknesses The 4.0 release of the Netmosphere products are now known as Enact Enterprise System. This latest release is a leap ahead in terms of component integration and easy of use. However, Java-based user interfaces still suffer the 'more of the look and less of the feel' syndrome. Full keyboard interaction is not possible which affects Enact's accessibility rating. The 'multi-widget' listbox line items are handled well. They pack a lot of user interface functionality in a small space without getting 'too tight'. 15.2 Project Modeling: Strengths/Weaknesses 15.3 Technology Platform: Strengths/Weaknesses 15.4 Overall 'Wow' factor: 1 (low) to 5 (high) 4 15.5 Reviewer Comments Enact is at version 4 level of maturity now. When it was first released, the Netmosphere offering was extremely innovative and relatively unique in the web-based project management marketplace. But the last year has seen a lot of competitor developments that place the Enact system in a more crowded marketspace. Generalizing and extending its email features into a User personalization feature would be helpful. Also, the association between a Task and 'Domain Object' resources needed to do that Task are a bit weak. You cannot directly attach linked resources (URLs, files, pointers to other Projects) to Tasks. This is done by inserting a link into the text of the 'log-thread' Task Notes attribute. This relationship between Task-to-be-done and Stuff-needed-to-do-it should be more explicit and provide (modest) versioning features to increase the collaborative power of this offering. Despite these 'Wish List' items, Enact is an important entry in our comparables analysis. Enact has one of the richest Person/Role/Task-assignment underlying models of any of the offering we have looked at. The flexible Person/Role/Task mappings, supported by one-to-many and percent-involvement relationship attributes, allow a Project Planner to level of 'role-based abstraction' which is unique in this space. 16.0 Reviewer Profile Properly attributed (your name and email address) experience reports and technology evaluation are encouraged from the Open Source community and other interested parties. Attributed contributions will be added to the project working documents archive on the project's public web site. Anonymous contributions are acceptable and will be used as points of information by the project's core team, but will not be maintained in the project's working documents. IF YOU WANT TO CONTRIBUTE OPINIONS AND/OR EVALUATIONS 'OFF THE RECORD', DO NOT submit your contribution to the project's public mailing list. Anonymous contributions may be made to the following email address: mailto:evaluations@sourcexchange.opendesk.com 16.1 Reviewer name: Jim Salmons 16.2 Reviewer email: salmons@sohodojo.com 16.3 Reviewer URL: http://sohododojo.com 16.3 Evaluation performed: 13-15 August 2000 16.4 I DO NOT work for, or have an undisclosed relationship with, the author or publisher of the evaluated product or service: [TRUE or FALSE. If FALSE, please explain.] TRUE 16.5 Reviewer Comments: [Optionally tell us about your experience, interests or opinions about project planning and management.] WHEN COMPLETE: Mail public contributions to: project24@lists.sourcexchange.com Mail anonymous contributions to: evaluations@sourcexchange.opendesk.com DOCUMENT HISTORY Version 1.0 - First and probably final draft ### end of sxc24-enact-comparables.txt (Version 1.0) ###