Requirements (must haves):
Projects
- It must be easy to move project deadlines. Task deadlines should follow suit. For example, the user should be able to move all the deadlines in a project back a week. (DONE)
- It should be easy to see the critical path in a project. (DONE)
- Subprojects should be able to overlap temporally. (with each other? DONE)
- Projects need not have a deadline, and they can be ongoing (thus we define projects to include operations). (DONE)
- Projects must be able to contain other subprojects, to arbitrary depth levels. (DONE)
- The project page should show information on the project in the order of importance to the viewer. The most pertinent and valuable information should be shown first, such as developments to the project. (possibly DONE)
- It must be easy to manipulate and move around the project hierarchy (NOT DONE)
Tasks
- It should be easy for a user to add in new tasks, make tasks dependent on other tasks, and reschedule tasks en masse or individually. (DONE)
- When a user looks at a task, they should be able to see what depends on it being done, and how much slack time they have to complete it. (DONE)
- Users should also be able to reschedule their own tasks (sending out alerts to creater of task, manager, and anyone else who's signed up for notification). (NOT DONE)
- the PM/system can suggest/propose optimal periods for specific tasks done (by group/individiual), but the final schedule should be made/confirmed individually by each participant (and changeable by them or their "supervisor") (NOT DONE)
- the system needs to cater to the end-users using it over any conveniences extended to the PM(s) (ie. respect the user--allow them the same degree of freedom as is available outside the system). This means that the system should offer users over-riding automony, even if it is at their own expense (and to the detriment of the project). The PM could be notified of such changes (or interest in changes), and address them accordingly. (NOT SURE IF THIS IS DONE)
- Must support these two workflows: break down all tasks, then assign people and deadlines. Break down all tasks, while assigning people and deadlines and dependencies. (NOT DONE)
- Tasks should allow you to enter either (your choice): estimated completion time OR optimistic, estimated, pessimistic completion time. (only gives you estimated completion time or min and max. Could easily be extended to follow this)
- Tasks do not need to have a deadline, or they can be computed for the user, or they can be set explicitly. (DONE)
General
- Ability to have client involvement. (NOT DONE. permissions are all or nothing. Clients can view and participate in the process if you give them permission, but it would require an extention to work like this. It's definitely extensible in this way. Look at logger for how this should probably be done)
Desired features:
- Resource lists, and be able to associate WBS reference "tags" to various OpenACS objects (so some kind of coherent reports can be generated from them). Resources that get tied to calendar/scheduling attributes should include variations: initial, current/moving, and final value, such as date of each item, ie expected start date (initial), expected start date(moving), date started, other options could be cost etc.. This information could be used for predicting specific resource performance on future projects (thereby increasing predictability/reducing risk). NOT DONE
- some kind of way to tag some of the projects/subprojects to generate statical reports, because of the cyclic and repetitive nature of some of them. For example, some projects might be described more as ongoing operations as part of an extended morphology of systems engineering. NOT DONE, but does include categorization, which could be used for this.
- copy project frameworks to new instances for generating initial new projects (templating projects) NOT DONE
- a risk/issue register (not sure what this is) NOT DONE
- ability to export task deadlines to Outlook, perhaps in iCal format NOT DONE
- ability to export project deadlines to Outlook, perhaps in iCal format NOT DONE
- links between timekeeping, holiday planner & project plan / task deadlines NOT DONE, but the framework for it is there. And it does take into account weekends, but assumes Saturday and Sunday are not workdays, and that people work 8 hour days. Can be extended.)
- sensible resource management, linked to timekeeping and wbs/schedule. NOT DONE
- some collaborating tools (e.g. shared filestorage, wiki, forum, ...) not sure this should be a part of project-manager. However, you can easily link in things like forums or Wikis by using the customized project functionality in project-manager.
- levelling NOT DONE
- percent complete DONE
- rescheduling DONE
- levelling based on resource expense per task... i.e. I may only work 10% of the time on project A -- regardless of its priority NOT DONE
- dealing with milestones NOT DONE
- external events (i.e. must wait for release of x or delivery of Y before continuing project) NOT DONE
- a method to allow clients to add tasks currently, they must have create access on the instance
- the ability to download a csv of the content can download a csv of the project list, other lists are easy to do as well.