Project Planning - Pittsburgh FIRST

Project Planning
2014 SCRA Workshop
Craig Yankes
[email protected]
Topics for this talk
What is project planning and why use it?
Topics for this talk
What is project planning and why use it?
What are the basics?
Topics for this talk
What is project planning and why use it?
What are the (boring compared to building a robot –
yawn, right?) basics?
Topics for this talk
What is project planning and why use it?
What are the (boring compared to building a robot –
yawn, right?) basics?
Common pitfalls to avoid
Demonstration of a suggested tool
◦ Free, easy to use, multiplatform
Topics for this talk
What is project planning and why use it?
What are the (boring compared to building a robot –
yawn, right?) basics?
Common pitfalls to avoid
Demonstration of a suggested tool
◦ Free, easy to use, multiplatform
Oh wait, this boring stuff helps us build the
robot!
What is project planning?
Imagine driving from Pittsburgh to Seattle.
Simple: Plug “Seattle, WA” into your GPS,
hit “go”
◦ drive, turn, eat, fuel, sleep, repeat as necessary.
◦ 37 hours 50 minutes of driving and 2510.37
miles later you arrive.
But…
What is project planning?
Imagine driving from Pittsburgh to Seattle.
What is project planning?
Imagine driving from Pittsburgh to Seattle.
We’ll even pretend there are no maps.
(And that the people involved don’t know geography.)
Now, how do you drive to Seattle?
Ask for directions at each fuel stop?
◦ What percentage of the directions will be wrong?
What if you have to be there in seven days?
◦ Five days @500 miles/day gets you there easily
with two days to spare.
◦ However, even a few bad directions can mean:
Longer drives per day
Driving through the night
Missing the deadline
Direct path is 5 easy day drives
Travelers can add two day-long stops
Oops, stayed too long in MN so head to Seattle
So what is project planning?
It is GPS or Mapquest for your robotics
build.
You’ll know if you are ahead or behind
schedule and, if behind, where the team
needs to focus effort.
So why use this planning? Might as well ask
“Why use a GPS driving from here to
Seattle?”
GPS versus project planning: Room painting
example.
Project planning basics
“Tasks”
◦ Distinct piece of work
◦ For an 6 week project, try not to have tasks
more than one week long
“Predecessors”
◦ Just means “This task can’t start until…”
◦ Examples:
Design discussions can’t start until after kickoff
Testing function X requires a certain level of hardware
and software completion
◦ Can your project planning start now?
Gantt chart
A Gantt chart is a common way of
showing the task dependencies and the
current schedule.
Easily lets you see the “critical path” – the
work chain that determines the schedule
5 days
5 days
.5 days
10 days
2 days
1 days
7 days
6 days
4 days
Common
paper-based
project
scribbles
If start is on Nov 18th and work is only on weekdays, when does it complete?
Gantt chart
A Gantt chart is a common way of
showing the task dependencies and the
current schedule
Easily lets you see the “critical path” – the
work chain that determines the schedule
Critical
path
shows in
red
Projected
end date
Important Note About the Rest
These slides and a Tutorial that goes into
more detail about the recommended tool
(Project Libre) and how to use it are now on
the Pittsburgh FIRST website under Team
Resources.
Suggestions:
◦ Install the software to get used to it in the time
between now and kickoff, and,
◦ Start creating a generic task list and schedule that
will be modified after kickoff.
If you have questions, my contact info is in
the doc.
Task relationship (predecessor)
types
FS finish / start relationship (most
common)
◦ Task must wait for predecessor task to finish
◦ 2’s predecessor = 1 (tool’s default is FS)
Task relationship (predecessor)
types
SS start / start relationship
◦ Task can start when predecessor task starts
◦ 2’s predecessor = 1SS
Task relationship (predecessor)
types
SS+/-n start / start-offset relationship
◦ Task starts “n” days after/before predecessor starts
◦ 2’s predecessor = 1SS+2
Task relationship (predecessor)
types
FS+/-n start / start-offset relationship
◦ Task starts “n” days after/before predecessor ends
(most often used for testing tasks)
◦ 2’s predecessor = 1FS-2
Task relationship (predecessor)
types
If you specify multiple predecessors, the
start date is the latest date of the
components
Predecessor = 1FS-2;2SS+5
◦ Whichever is the later date, 1FS-2 or 2SS+5, is
the start date for this task.
In case you’re wondering…
We’ve discussed SS, SS+/-n, FS, FS+/-n
The “formula” pattern is:
◦ <predecessor’s state><this_task’s
state><delta>
And so yes, you can do things like 3SF+4
◦ “This task finishes no earlier than 4 days after
task 3 starts”
Don’t. Keep it simple and think in terms
of what allows a task to start.
Common upup-front pitfalls to avoid
Being too optimistic when making the schedule.
◦ The goal is not to make a nice looking schedule but to
reflect where reality will likely occur.
◦ Remember, reality is going to win anyway.
Missing tasks when making the schedule.
◦ Ask “if all we did were these tasks and nothing else, would
we have a working robot ready for competition?”
◦ Don’t forget testing and rework time.
Having tasks that are too large.
◦ Trying to keep tasks to a single week is good for a short
project.
Now is the best time to find and fix problems!
Common inin-progress pitfalls to
avoid
Not reviewing the progress versus schedule.
◦ For short projects, reviewing progress versus
schedule for a few minutes each day is good.
Not getting updates on tasks-in-progress.
◦ No news is NOT good news! No news means that a
schedule slip might be happening that the team isn’t
aware of.
◦ Knowing bad news means the team can help.
Encourage members to be open about this.
Being inflexible.
◦ If the schedule needs to be changed, change it.
◦ Again, reality will win and an unrealistic / out-of-date
schedule can’t change that.
Common themes
Reality will win, so the role of project
planning / scheduling is to help understand
that reality as early as possible.
◦ This lets the team adapt to it and redirect the
current reality’s path to something better when
needed.
Similar to the GPS while driving to Seattle,
the project schedule lets you know where
you are at right now and how to reach the
destination with as few headaches as
possible.
Recommended tool
ProjectLibre
◦
◦
◦
◦
Free project planning software
Large user community with discussion forums
Available on PC, Mac and Linux
www.projectlibre.org/home
Microsoft Project also works, but isn’t
free
◦ Utilizes the same concepts we’ve been
discussing