Project Management Technology Review: WebProject Date: [submission date] Copyright (c) 2000 Frank V. Castellucci All Rights Reserved 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 WebProject 2.2 Publisher/Author/Service-provider Novient 2.3 URL for more information http://www.wproj.com 2.4 Type - one or more of local client, client/server, web service, etc. WebProject is a Three-Tiered (server, application server, client), multiuser, multi-project application written completely in Java. There are no plug-in requirements or other local configurations other than a Java VM and Java enabled browsers. 2.5 Pricing/Availability A price/license schedule has been requested, but as yet I have not heard back from Novient. 2.6 Assessment based on hands-on experience or info-only? Hands on in User, Team Member, Leader, and Administrator role. Did not participate in the setup and configuration of a WebProject server as for the test trial a system is pre-configure and hosted by the provider. 2.7 Reviewer comments As a closed source system, WebProject can't be considered as a starting code base for open source initiatives. 3 System Constraints 3.1 Physical Limitations Not applicable 3.2 Software Limitations (operating systems, plug-ins, drivers) All of WebProject interactive modules are implemented as web pages or Java Server Pages (JSP), a Java Virtual Machine (JVM) is required. 3.3 Implementation Limitations (number of projects, tasks per projects, users, roles) Resource restricted. 3.4 Does the software assume a specific project management methodology, if so which one(s)? The documentation suggests a methodology (although not which) should be considered to enhance the quality of the project. The only area that enforces a methodology is in the Project Proposal feature, which potentially requires an acceptance sign off before a project can be created. 3.5 Reviewer Comments As a closed source system, WebProject can't be considered as a starting code base for open source initiatives. 4 Collaboration 4.1 What is the interaction model? (Real-time dynamic views, publish/subscribe, email, user queries, etc.) WebProject provides a plethora of collaboration facilities, including: 1. E-mail 2. Project Discussion boards 3. Task level annotation and threaded discussions. 4. Real time Chat 5. Event notification via e-mail 6. Reporting 7. Voting In addition, each project has a Web Page space for general presentation and limited support for content (documentation) management. Access to the various collaboration facilities can be controlled on an individual basis by Administrators and Leaders. 4.2 When used in project planning mode, is team communication support? WebProject offers multiple ways to collaborate from the Project Planning task perspectives, of these there are two (2) options specifically designed for issues support: Project Pinboards and Task Discussions, and Chatter. Project Pinboards and Task Discussion The two components are presented in a single dialog box with discussion topics presented in the top half, and the relevant messages around a discussion shown in a threaded view in the bottom half. Because the Gannt chart and Project Pinboard can be open at the same time, WebProject utilizes a model view controller (MVC) metaphor and will change the Project Pinboard context as you select different tasks in the Gantt chart. Chatter Chatter provides a virtual meeting room for real-time exchanges. Chatter sessions can be either Chaired or not, where chairing a meeting allows the Chairperson to determine which topics are to be discussed, and which chat members have the floor. Topics can be taken from the Project Pinboard, or defined at the time of chat. Discussions can be marked persistent which allows for later retrieval for continued discussions, or viewing by other users. There is no limit to the number of simultaneous Chatter sessions. 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.) In addition to the e-mail and chatter facility WebProject provides two facilities that address higher level of collaboration focus: Project Message Boards and Web Boards. Project Message Board The Project Message board can be used to discuss higher level issues such as project issues and risks. Like the Task Discussions, message topics are threaded and presented in a tree view. Web Board Accessed through the documentation management facility, the Web Board is an enterprise wide discussion, information, issues, and news facility. The Web Board is implemented as part of the enterprise Web Page and Documentation structure. 4.4 What are the 'key indicators' used to keep project team members and stakeholders informed of the state of the project? 1. Planned versus Actual hours reporting 2. Availability versus Allocation reporting 3. Budget versus Actual Cost reporting 4. Full featured Gannt Chart (see 10.5 for details) 4.5 Does the product or services concurrency features facilitate or hinder team member collaboration? WebProject appears to have addressed facilitating collaboration as a fundamental requirement of the system, to the point that collaboration is the focal point of most of the tools and facilities. 4.6 Security features All users are required to login to the system for access, at which point the user profile accessibility controls are used to allow/deny access to various aspects of the project as defined by the Administrator. In addition, the tool implements a two phase commit model by which changes in the user space must be committed to the server to become part of the project. 4.7 Reviewer Comments The developers of WebProject have provided a thought out collaboration model in relationship to project management and participation. This is a must have minimum example for anyone considering a serious Project Management development effort. 5 Role Support A Role characterizes the system participants of in terms of responsibility. A role can be people or other systems. For example, a developer is a role that has different responsibility than a SQA tester. In this section, we will provide what provisions the system under review provides for describing the person/role, and what processing rules that it may imply. 5.1 What is the 'person/role' model? WebProject predefines four (4) roles in the system: 1. Administrators - All privileges of other user types Granted full access to both project data and project configuration, as well as creating new users. 2. Leaders - Project managers or team leader access. Leaders are limited to manage users that meet Group and RBS codes that it has been granted authority over. 3. Team Members - Can manipulate tasks that it is assigned, participate in discussions and chat, as well as configure it's own calendar. 4. Users - Can be assigned to projects but cannot access the tools or projects themselves. 5.2 How are 'person/role' elements related to 'organization/group' elements? When preparing the WebProject server for use, there are various configuration codes that are used to define organizational elements into the system, the three (3) primary codes are: 1. Group Codes - Organizationally specific codes used to describe a particular department/group/team that is populated by a given resource. 2. Resource Breakdown Structure (RBS) codes - A unique identifier given to each resource to define people (labor), materials, goods, CPU, etc. 3. Types - defines a organizational type that can be used for filtering and reporting. 5.3 Can one person fill many roles? Can one role be filled by many persons? (resource/skill pools, etc.) Yes, there are a number of ways this is supported: 1. When creating the user profile, they can be marked as User, Team Member, Leader, or Administrator, which can be combined. 2. Leaders can authorize a Team Member to be the leader of a summary task. A summary task is a composite of multiple tasks within its group. 5.4 Reviewer Comments While I would have liked to see Role modeling, where the access levels of one 'role' can be extended and specialized, they have provided at least the flexibility of copying existing definitions, which reduces setup time. 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 WebProject puts a tremendous emphasis on multi-user, highly collaborative project management. 6.2 What is the implementation technology supporting concurrency? Web server, Java Server Pages, and two-phase commit. 6.3 Revision Management This is a manual effort facilitated by project archiving and download. 6.4 Reviewer Comments 7 Accessibility In this section, we want to capture how accessible the system is from both a human interaction capability as well as support for the interchange of information from other systems. 7.1 Web-based WebProject is enabled through HTML pages and Java Server Pages. Its general design assumes installation within an organizations intra-net. 7.2 Interchanges support (MS Project, XML, RDF, etc.) Interchange occurs through the import and export facility. 7.3 Import/Export (MS Project, text, etc.) WebProject can import and export from and to Microsoft Project Exchange (MPX) files, which are supported in a number of PC based project planning tools. In addition, WebProject supports archiving the project to a second database as well as saving the project as a template to be re-used to quickly setup new projects. 7.4 Mobile Users Support not explicitly mention through hands-on or documentation. 7.5 Reviewer Comments Working as designed. 8 Project Proposal Management Is there a business processing rule that supports the tenet that before a project there is a proposal? If so, what are the processing rules that govern it's description and acceptance? 8.1 Vision/Goals specification WebProject supports creating a project proposal which must be met with approval before the project plan for it can be opened. 8.2 Business Processing Rules When preparing the WebProject server for use, the administrator configures the Project Approval list, which contains the e-mail address of all those who's approval is required to accept a proposal as a project. When a project proposal is made, the members of the list are notified by e-mail and they can then approve or reject a project proposal. 8.3 Implementation Specific Rules There is no enforcement to configure an approval list. In this case, the user that makes the proposal can accept it automatically and create a project plan. 8.4 Reviewer Comments This is really the only major nod to software development life cycle (SDLC) methodology that is included in WebProject. 9 Requirements Management The tasks of creating a software system are usually (but not always) bound to initial requirements elucidated by analysis of the problem space. To what extent, if any, does the system under review support the requirement phase of the Software Development Life Cycle (SDLC)? 9.1 Documentation Controls While WebProject provides documentation management for the web presentation of the company or project, it is not specific to managing Requirement Engineering documentation as there is no explicit function or methodology in the software. 9.2 Relationship to Task Management Functionality does not exist. 9.3 Implementation Specific Rules Functionality does not exist. 9.4 Business Processing Rules Functionality does not exist. 9.5 Reviewer Comments Nothing to comment on. 10 Task Management 10.1 What is the 'activity/task' model? WebProject fully embraces the task model, including: * Summary Tasks and decompositional elements * Milestone designations * Multiple resource assignment * Critical / Non-Critical path * Task dependency constraints * Resource constraints 10.2 How are roles related to activity/tasks? Leaders, or better, access is required to create tasks and assign resources. Team members maintain information on tasks assigned to them. 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? The full functionality of the Task Management facility is provided for Leaders and administrators. Team members can only modify those tasks assigned to the individual, and follow the methodology for extension through issue resolution. 10.4 Views: Predefined, user-configurable or both All views, reports, and charts are pre-defined by WebProject. All users have configuration of preferences for content and layout, although the inclusion/exclusion of components is configuration controlled. Preference Settings include: * Enable/Disable critical task paths in Gannt chart displays. * Enable/Disable tasks links in Gannt chart displays. * Enable/Disable resource assignment names in Gannt chart displays. * Auto-recalc and save every four (4) minutes in project plan maintenance. * Enable/Disable the display of project color code letters. * Locale/Language choices. * Date/Time format choices. Administrator control specific to user access: * Limit projects that can be viewed using explicit project identifier, or project identifier masks. * Limit projects that can be edited using explicit project identifier, or project identifier masks. * Limit the outline nesting level that can be viewed. * Limit project plan view to just milestone indicators (tasks with zero duration). * Enable/Disable Project Pinboard and Project Discussion access. Administrator control specific to view/report access: * Enable/Disable Project Reports * Enable/Disable Task Reports * Enable/Disable Assignment Reports * Enable/Disable Resource Pool Reports * Enable/Disable Cost in Reports * Enable/Disable Effort in Reports 10.5 Status reporting mechanisms (percent complete reports, 'flag-raising' or issue management features) Status is reported for the individual as well as project managers through various views and reports. WebProject uses various icons to symbolize various type information (milestone, nested, detail, open, closed) as well as color codes for status. Team Member Status Reporting Upon signing on the system, team members can immediately access their tasks from a list of projects that they are an assigned resource to. Following are the views and controls where a member can immediately assess project status: My Assignment This display is presented in a mixed spreadsheet/tree view and is intended to give the user a started/completed birds-eye summary. Here you can see the list of tasks sorted by project, with start/finish dates per sizing analysis, as well as controls to indicate the activity has been started or completed. Changes made here are saved to the project database. Assignment details The details sheet is where the team member tracks the work effort associated with their assignments. Here you can specify actual hours worked, adjust the total units the task will take, indicate percent complete and remaining work units to complete the task. Changes made here are saved to the project database. Gannt View The Gannt view is a combination spreadsheet and Gannt chart of the project. Team members can modify aspects of the task (%complete, constraints, etc.) in the spreadsheet view and have it immediately reflected in the Gannt chart. This also allows multiple "what if" scenarios to be evaluated. Changes to the tasks are not saved to the database unless an explicit save operation is initiated. This view may also show where there are issue discussions pending on a per task basis. See the Collaboration section (4) for more details. Project Leader Status Reporting Project Leaders have the same views as the team members, but it is obviously extended to include all of the resources of the project. 10.6 How are consumable/required task-specific resources handled? Critical path and over-allocation reports, resource leveling, are all available to analyze and report problems before they happen. 10.7 Reviewer Comments There is no doubt that the developers of WebProject placed as much emphasis on Project Planning/Task Management as they did on collaboration. At a minimum, any effort should consider this as an ideal model for Task Management. 11 Task Constraints 11.1 Task Dependency Internal (intra-project) Tasks in WebProject support task and calendar constraints within the current project plan. The task constraints are called predecessors and can be indicated as types Finish-Start (FS), Finish to Finish (FF), and Start-Start (SS). The types can be further refined using the standard lag (+) or lead (-) with a number of unit indicator. For example 1FS+2d describes a task that is constrained by the finish of task #1, and will lag start for 2 days once task #1 is completed. Start No Earlier Than is a constraint that forces a tasks to start on or after the date indicated in the task description field. 11.2 Task Dependency External (inter-project) Tasks can not reference other project plan tasks. 11.3 Resource constraints (expressed as percentage) Resource constraints are supported in relationship to project calendars, task sizing and resource availability, all of which are fully configurable. Resource constraints include: Calendars - Weekends, holidays, vacations, etc. can be marked as non-workable. These are considered in the Gannt View and overall project projections. Availability - The amount of time percentage (0.0 - 1.0) per day a resource is available in a group or for assignment to a task. This constraint is considered in the reporting options for Leaders and Administrators to detect over allocation. 11.4 User defined constraints Functionality not supported. 11.5 Reviewer Comments For assessing critical paths, account/budget over-run tracking, resource leveling, and over-all capability, WebProject has done it right. The full feature/functionality set rivals that of the more familiar MS Project. Because of it's expressive richness in task details, it has the ability to interchange MS project content with it's own facility with no appreciable loss of important details. 12 Reporting 12.1 Pre-defined, user-defined or both The following report categories and types are pre-defined by WebProject: Project: * Project Overview * Project Detail * Project Pinboard * Project Discussion * Archived projects Task: * Task Lists * Task Details * Task Discussions * Open Tasks Resources: * Assignment reports * Assignment Details * Resource Assignments (Leaders/Admin only) * Resource Pool Reports (Leaders/Admin only) 12.2 Publisher-push by project manager or team member dynamic views? Both are supported by WebProject. 12.3 Stakeholder-specific views? Stakeholders as defined by the Role designation of the system. There is a catch-all Guest role, which allows more restrictive views (omissions of organizational sensitive information). 12.4 Multi-project analysis The Executive Information System supports a high level view of all projects that the user has access too. From the main multi-project status display, individual projects can be drilled down to the task level. Access to details is limited to the profile that you are assigned as, with greater detail available to Leaders and Administrators. 12.5 What-if analysis WebProject supports resource leveling and recalculation. Because of the two-phase commit model, multiple what-if analysis can be done without effecting the server side data. 12.6 Security features Reports are limited by user profile settings and configuration by Administrators and Leaders. 12.7 Reviewer Comments In addition to displaying real-time information from multiple aspects of the project, WebProject supports printing reports and saving to local CSV files. The lack of a query by form facility would have been nice as the WebProject development team may not have the domain expertise to provide enough reports to suit all potential users needs. 13 Multi-project Management WebProject allows almost all elements of an existing project to templatized. This enable a high degree of re-use and time savings especially with multi-responsible teams and repetitive tasks structure. 13.1 Role Template library? Users can be added to a resource pool. If there is a requirement that they have different access than their default profile, the administrator can assign which projects, by identifier, that they have additional capabilities on. 13.2 Repetitive Task library? Project tasks can be saved to a Project template which allows re-use of the project structure (task elements, etc.). 13.3 Reviewer Comments The ability to support multiple projects, templates, and task libraries is a must have for every serious open community, open source project management effort. 14 Post Mortem It is often desirable to look back upon a completed project and enumerate what problems arose, the quality of how they were handled, and a gauge to the positive or negative effect on the baseline plan. This is primarily used as an quality accounting about the software development process. 14.1 Analysis and Reporting WebProject supports the idea of post mortem analysis through continued collaboration and use of the annotation features (Project Pinboard, Project Discussion). 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. Functionality not supported. 14.3 Reviewer Comments Nothing to comment on. 15 Subjective Impressions 15.1 User Interface: Strengths/Weaknesses While I had some trouble getting the correct JVM mix on my machine, once that was done the product worked like a charm. I am convinced that if anyone is really serious about providing enterprise strength, distributed, culturally sensitive tools, than they must rely on and take advantage of client side processing with a minimal disruption to the user. 15.2 Project Modeling: Strengths/Weaknesses From a full SDLC aspect, there was much to be desired in the lack of Role Modeling, Requirements Engineering, Implementation and Maintenance configuration management, and documentation/content management. Clearly the muscle in this product is its painstaking detail to Collaboration and Project Planning. 15.3 Technology Platform: Strengths/Weaknesses The use of Java shows a great strength in the project team at WebProject. It significantly reduces the installation and configuration nightmare when addressing a global, culturally diverse world. 15.4 Overall 'Wow' factor: 1 (low) to 5 (high) SDLC = 1, Project Planning = 5, Project Management = 2, Product Development = 0, Product Maintenance = 0 15.5 Reviewer Comments