Table of Contents
The aim of this document is to identify features and functionalities that may be useful in developing a new "Project Tracker". The motivation for creating a Project Tracker lies in the general lack of project-management practices at ArsDigita (see Capability Maturity Model). The ACS 4 team's search of a project management tool exemplify the need and the lack of an adequate solution. During the development of ACS 4.0, the ACS 4 team started off using Dev-Tracker. However, it was quickly abandoned for Ticket Tracker, then to MS Project. MS Project was also eventually abandoned due to it's lack of support for collaboration. Project management and coordination was one of the major issues that the team attempted to address (see acs40.arsdigita.com). The goal here is to identify the factors that causes ArsDigita project managers to not use Dev-Tracker, and what solutions are available.
The suggested features come from the reviews of existing software: Web Project, WISE, MS Project, and from ArsDigita, Dev-Tracker, Ticket Tracker, Module-Tracker, and Process-Module.
Repay the user for the effort Updating a Dev-Tracker project is pretty tedious, and all you get for your effort is the numbers on the bottom of the page changing. Enabling pie-chart, time-curve, and bar-graphs a la WISE could provide additional incentive. These reports however would be more useful to the project manager's boss who needs to get a quick and general overview of progress. Some examples from WISE:
Time curve of open, fixed, and closed problems
A quick view of progress via a pie chart of current state of the project (open/closed/fixed).
A graphical display of priority distribution in a bar graph
Make the updates meaningful The dev/ticket Tracker instance for Site 59 makes good use of user updates by having a "last activity" field. This field is updated based on comments.
Automatic risk management that provide answers to interesting questions and issue warnings. One example of an "interesting question" is estimation of what would happen if a feature is behind. If Dev-Tracker could "notice" when a project is lagging and sent warnings along the lines of "feature A is behind, and because features B, C, and D depend on it, your entire project will be behind by X days".
Watches and email alerts Having people watch progress is an incentive and good for communication. Also from Site 59, multiple users receives notices on a particular ticket. A group of default assignees are defined in the /admin directory. This default group can be modified in a simple interface on a per ticket basis. Ticket Tracker sends an email alert based on user input. Users can also set a watch on a ticket and get email notices on ticket activities.
My Project Ticket Tracker allows the user to define persistent setting (how the task list is sorted, which columns to show, etc).
Cross-Project overview that takes advantage of the centralized data storage. It would be useful to have reports on module usage and acs versions across different projects, especially when there is a major bug found in a particular ACS release. Progress report on the company as a whole (which projects are at what stage, which ones are almost done, which ones are behind).
Process/WorkflowBeing able to define the different phases that a task must go through before it can be marked complete would be useful in quality assurance. There can be different types of tasks, such as repeating tasks, tasks that need final approval and review, etc.
Integration with MS Project Since MS Project is very popular, it would be great if we can integrate Project Tracker with MS Project.
MS Project is our main point of reference, and a very lengthy document has been written to review it.
Linas.org has some project management software. gscheduler and Xplan are both open source applications, however they are both based on X11/Xview and have very limited functionalities (nothing more then a to do list actually). Xplan has an option to generate a LaTex source for Gantt charts. AMS RealTime Project and Web Project are both closed source web based applications. Of the the two, Web Project probably has more to offer, and it is more interesting to us because we can actually see it in action on their demo site. MS Project is also "reputed" to run on linux, however, I have not been able to verify this. The only open-source equivalent that I've found is the Web Integrated Software Environment Tool (WISE) from NASA. PyGantt is a Python script that takes an XML input and generates an HTML Gantt chart.
- | The industry standard, and our point of reference. MS Project has an entire document Review of MS Project to it. |
System | Web Project is Java based enterprise solution, and it claims
that their clients are Sun, Oracle, NASA, etc. The most interesting
application from our perspective is Web Project because it's
functionalities are viewable through their demo page. Web Project
meets most of our requirements for the Project Tracker, in addition
to the following:
Of the set of tools that Web Project provides, "Quick Project" would be the project planning equivalent to Project Tracker. Web project is a multi-user, multi-project software, it also provides some cross project reports and executive summaries. |
Comments | One solution to our
problem would be to purchase a license for Web
Project. This has the benefit of providing an immediate
solution to our project-management problems. However,
web-project is not open-sourced, and therefore cannot be
integrated with the ACS. Furthermore most of it's
"Project Portal" functionalities already exist in the
ACS. Finally, Web Project would require a dedicated
server and a significant investment from the users to
learn the Web Project interface.
We also should consider Web Project's Project Portal functionalities from the perspective of Lars' "project places" idea. Through web project, you can create bboards, web-pages, etc for a particular project. The other tools such as "documenter". |
Links | Web Project Homepage |
System | WISE is a research project from the Software Research
Laboratory which in turn is a cooperation between NASA Office of
Safety and Mission Assurance and West Virginia University. It is
part of a three piece tool set (project planning, requirements
engineering, and testing).
WISE uses it's own language (WISE Programming Language) and is backed by mSQL. They are currently in their alpha release, and the projected release date is "soon". Although WISE's UI is very ugly, it does have some nice reporting features. |
Comments |
WISE is supposed to run on "any unix environment" with mSQL and an http server. We should also take a look at the requirements engineering analysis tools and testing tools from SRL. |
Links |
System | Dev Tracker organizes "features" into "feature areas" and "releases". The ETA calculation is inaccurate as it does not take dependencies into consideration. It also cannot generate Gantt Charts. |
Comments | One recurring theme with Dev-Tracker users is that once the
plan is created, it is not updated nor followed ( most of the
"actual time" field in Dev-Tracker is left 0, example
ACS Java). I propose two solutions to this problem.
|
Links |
System | Ticket Tracker allow user to submit tickets for a task item in a given area. |
Comments | Does not allow users to define "areas" arbitrary, and does not
calculate ETA for a group of tasks.
However, Ticket Tracker is customizable (user can define which columns then want to see and in what order), and sends email alerts. Tickets are updated regularly with good response time. Possible reason for this is that tickets are units of work that are at the right level of granularity. |
Links | Ticket Tracker Documentation |
System | Maps a module to a project. Also provides aggregate reports across multiple projects. |
Comments | Module Tracker's functionality would be useful in providing risk management when major bugs are found in a given module or an ACS release. |
Links | Located at: http://dev.arsdigita.com/module-tracker |
System | The process module maintains recurring processes for an organization. For example, Arsdigita.com must conduct database import from the production site to th e development site once a month. The process module defines administrators and owners to ensure that these processes are conducted on a regular basis. It's main functionality is to keep track of processes, and supports transient notes, specification of check interval, and status setting for each check. |
Comments | ACS-Work Flow is a generalized (and more powerful) implementation of this idea. It should be fairly easy to implement this as a thin layer over ACS Work-Flow, however, it is outside of the current scope of the Project Tracker. On the other hand idea of a recurring tasks may be useful to some projects once they have passed development and moved into the "maintenance" phase, and some tasks do need to be repeated. |
Links |