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 a plethora of 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 which 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 optimisation 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.
Approaches to project management software
Desktop
Project management software can be implemented as a program which 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 no two people want to
access it at once.
Desktop applications can be written to run in a
heterogeneous environment of multiple
operating systems, although it's unusual. Many such programs only run on
a particular system, typically
Microsoft Windows or KDE.
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 installation/version to maintain
-
Typically slower to respond than desktop applications
-
More limited graphic capability than desktop applications
-
Project information not available when the user (or server) is offline
Personal
A personal project management application is one used at home, typically
to manage a 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.
Integrated
An integrated system combines project management or project planning,
with many other aspects of company life. For example, PHProjekt
projects 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.
Non-specialised tools
While specialised software may be common, and heavily promoted by each
vendor, there are a vast range of other software (and non-software) tools
used to plan and schedule projects.
-
Calendaring software can often handle scheduling as easily as
dedicated software
-
Spreadsheets are very versatile, and can be used to calculate things
not anticipated by the designers