You are on page 1of 21

60-499: Project Management: Techniques & Tools

Planning & Scheduling

An Introduction
60-499
Project Management
What is a plan?
 A project plan is a network of dependent and
independent tasks

A plan may also contain descriptions of persona
 A persona is a fictitious representation of a real person

The plan may also include assignments of tasks to various
persona
 An important part of the project plan is the network
diagram, which shows task flow and task dependencies
60-499
Project Management
What is a schedule?
 A schedule is a description of start and end times for all
the WBS’ tasks

The schedule accommodates the plan

The schedule specifies all dates in terms of offsets from the start
date

Ideally, the start date is a parameter which can be changed if the
project start is delayed
 This way, real dates can be seen
 However, dates are not hardcoded so they can be easily changed
 An important part of the schedule is the Gantt chart
60-499: Project Management: Techniques & Tools

Planning & Scheduling

Planning
60-499
Project Management
Network Diagram
 A network diagram shows task/activity flow
 Flow from one task to another may indicate:

Dependencies between the tasks

Chronological ordering between the tasks
 Parallel task flows indicate task independence

It is not necessarily the case that tasks may be done in parallel,
but it is possible
60-499
Project Management
Task/Activity Dependencies
 Finish to start: One task/activity must finish before the other
task/activity can start

e.g. ‘Order PCs’ must finish before ‘Install IDE’ begins

 Start to start: One task/activity must have started before the other
task/activity can start

e.g. ‘Design AI module’ must start before ‘Implement AI module’ begins

 Start to finish: One task/activity must start before another


task/activity can finish

e.g. ‘Ensure successful handoff to Team B’ cannot finish until ‘Team B
begins work’

 Finish to finish: One task/activity must finish before another


task/activity can finish

e.g. ‘User documentation screenshots’ must finish after ‘User interface
implementation’
60-499
Project Management
Network Diagram
 Many notations exist, but a UML behaviour diagram is common
 Here is an example network diagram showing start to finish
dependencies

Make deal with Submit budget approval Register for seminars …


Susan Carlson form to accounts payable on the finalized dates

Collaborate with project


Finalize trip time Have employees …
managers to find available
with employees sign waivers
times for employees
60-499
Project Management
Personas
 A persona is a fictitious representation of a real person

e.g. Java Developer A

This could match either George Smith or Arin Kumal

The plan will not mention people by name, however
 A persona has certain skills

e.g. Familiar with OOP, Java, modular programming, coding
standards, documentation, etc.
 A persona can be assigned responsibilities, such as
tasks from the WBS
60-499
Project Management
Why not use real names?
 People might not be available when the project begins

A project may go over schedule

Our project start may be delayed
 Replacement people will resent not being the first choice
if they see the other names

 The fact is, many project managers create a plan with


real people in mind

They may write out somewhere else who Java Developer I is,
and who Network Admin is, etc.
60-499
Project Management
Task Assignment
 Another part of the project plan is the task assignment

This includes a description of all team members
 These are normally personas
 The persona description will include a reasonable set of expected
skills that the real person should have

For each task, a team member is assigned
 This is done after the network diagram, so that work can
be distributed evenly
60-499
Project Management
Task Assignment
 User interface expert:

Is an experienced Java developer

Is familiar with user interaction patterns

Has experience in developing user interfaces in large projects
 Java developer I:

Has had at least 1 year in Java programming experience

Possibly, is Java Certified

Understands the object-oriented paradigm, such as inheritance

Understands the company’s coding and documentation standards
 Java developer II:

etc.
 Database developer:

etc.
 Database admin:

etc.
 Server admin:

etc.
60-499
Project Management
Task Assignment
 User interface expert
 Java developer I
 Java developer II
 Database developer
 Database admin
 Server admin

Task Team Member


Create visual prototypes of the UI User interface expert
Write code to persist registration data Database developer
Write code to generate MD5 of password Java developer I
…etc…
60-499: Project Management: Techniques & Tools

Planning & Scheduling

Schedules
60-499
Project Management
Schedules
 A schedule is an implementation of the project plan

However, in industry lingo, a project plan document normally
includes the schedule
 A common schedule representation is a Gantt chart

A Gantt chart is a graphical depiction of the task flow, with dates

Dates are shown as the x-axis, so questions about start/end
times can be answered
 e.g. Relative start times of parallel tasks
 e.g. Completion of all of an activity’s tasks
 e.g. Chronological dependencies between tasks
 However, other formats are possible:

A calendar, showing tasks started, active, and completing

A list of task descriptions, including start and expected end dates
60-499
Project Management
Gantt Charts
 Visual representation can help when a project manager
needs an overview:
September October November December
User Interface
Prototype

Registration
Dialog

…etc…

Registration
Persistence

Code to Gen.
Password MD5

…etc…
60-499: Project Management: Techniques & Tools

Planning & Scheduling

A Practical Guide
60-499
Project Management
Creating a Schedule
 In practice, a PM will use a project management tool to
do much of their work:

Microsoft Project

Gantt Project

Open Workbench

OmniPlan
 All of these applications let you easily create:

Gantt charts

Task descriptions

Calendar views
60-499
Project Management
Using Microsoft Project
 Using Microsoft Project to create a schedule is easy:
 Step 1: Enter the tasks:

Enter the task name

Enter the start time

Enter either the duration or expected end time

Enter dependencies, if any
60-499
Project Management
Using Microsoft Project
 MS Project generates the Gantt chart for you automatically, on the
right:
60-499
Project Management
Using Microsoft Project
 MS Project allows you to change dates whenever you want
 Thus, you can push back the start date if the project is delayed
 The entire schedule is shifted over in response
 You can add/change dependencies as you wish as well
 Next to tasks is a space for resources

Here is one place where you could put in persona names
 e.g. Java developer I
60-499
Project Management
Common Schedule Problems
 Problems with estimates or deadlines:

Customer or upper management set deadline without team consultation

Schedule is based on ‘best case’ estimates

Target date moved up without re-adjustment to scope, resources, or schedule
 Problems with requirements:

Schedule omits necessary tasks

Project size is impossible within allotted time

Project is larger than estimated

Effort is greater than estimated
 Problems with schedule management:

Schedule was based on specific team members that will not be available

Schedule slips are ignored when schedule is re-evaluated (velocity)

Delays in tasks result in delays in dependent tasks

Unfamiliar territory causes unexpected delays
 Problems with productivity:

Demotivated personnel (e.g. schedule pressure)

Weak personnel

Friction between team members

You might also like