Project management software is a
term covering many types of software, including scheduling, cost control and
budget management, resource allocation, collaboration software, communication,
quality management and documentation or administration systems, which are used
to deal with the complexity of large projects.
Tasks or activities of project management software
Scheduling
One of the most common tasks is to schedule a series of events, and the
complexity of this task can vary considerably depending on how the tool is used.
Some common challenges include:
Events which depend on one another in different ways or dependencies
Scheduling people to work on, and resources required by, the various tasks commonly termed resource scheduling
Dealing with uncertainties in the estimates of the duration of each task
Arranging tasks to meet various deadlines
Juggling multiple projects
simultaneously to meet a variety of requirements
Calculating critical path
In many complex schedules, there
will be a critical path, or series of events that depend on each other, and
whose durations directly determine the length of the whole project (see also
critical chain). Some software applications (for example, Dependency Structure
Matrix solutions) can highlight these tasks, which are often a good candidate
for any optimization effort.
Providing information
Project planning software needs to provide a lot of information to various
people, to justify the time spent using it. Typical requirements might include:
Tasks lists for people, and allocation schedules for resources
Overview information on how long tasks will take to complete
Early warning of any risks to the project
Information on workload, for planning holidays
Evidence
Historical information on how projects have progressed, and in particular, how actual and planned performance are related
Optimum utilization of available resource
Approaches to project management software
Desktop
Project management software can be implemented as a program that runs on the
desktop of each user. This typically gives the most responsive and
graphically-intense style of interface.
Desktop applications typically store their data in a file, although some have
the ability to collaborate with other users (see below), or to store their data
in a central database. Even a file-based project plan can be shared between
users if it's on a networked drive and only one user accesses it at a time.
Desktop applications can be written to run in a heterogeneous environment of
multiple operating systems, although it's unusual.
Web-based
Project management software can be implemented as a Web application, accessed
through an intranet or extranet using a web browser.
This has all the usual advantages and disadvantages of web applications:
Can be accessed from any type of computer without installing software
Ease of access-control
Naturally multi-user
Only one software version and installation to maintain
Typically slower to respond than desktop applications
Project information not available when the user (or server) is offline.
Some packages do allow the user to "go-offline"
Personal
A personal project management application is one used at home, typically to
manage lifestyle or home projects. There is considerable overlap with single
user systems, although personal project management software typically involves
simpler interfaces. See also non-specialised tools below.
Single user
A single-user system is programmed with the assumption that only one person will
ever need to edit the project plan at once. This may be used in small companies,
or ones where only a few people are involved in top-down project planning.
Desktop applications generally fall into this category.
Collaborative
A collaborative system is designed to support multiple users modifying different
sections of the plan at once, for example, updating the areas they personally
are responsible for such that those estimates get integrated into the overall
plan. Web-based tools, including extranets, generally fall into this category,
but have the limitation that they can only be used when the user has live
Internet access. To address this limitation, client-server-based software tools
exist that provide a Rich Client that runs on users' desktop computer and
replicate project and task information to other project team members through a
central server when users connect periodically to the network and other tasks.
Some tools allow team members to check out their schedules (and others' as read
only) to work on them while not on the network. When reconnecting to the
database, any changes are synchronized with the other schedules.
Integrated
An integrated system combines project management or project planning, with many
other aspects of company life. For example, projects can have bug tracking
issues assigned to each project, the list of project customers becomes a
customer relationship management module, and each person on the project plan has
their own task lists, calendars, and messaging functionality associated with
their projects.
Similarly, specialised tools like SourceForge integrate project management
software with source control (CVS) software and bug-tracking software, so that
each piece of information can be integrated into the same system.