back to basics: resource planning
DESCRIPTION
I wrote this set of slides for coaching sessions I am doing with startups in Senegal. In this set of slides, I review the difference between project planning and resource planning, how to get started with resource planning and how to improve resource planning. Those slides will be of interest to the management teams of small services companies that intend to grow quickly. I have more set of slides coming on the same subject. Follow me on twitter (@sarfata) or check out my website (www.sarfata.org) to get more content. Suggestions for topics are also most welcomed.TRANSCRIPT
Back to Basics SeriesResource planningThomas Sarlandie2013 02 28
TopicsDifference between project planning and resource planningGetting started with resource planningImproving resource planning
Intended audienceManagement teams of small to medium consulting firm doing on-contract work
What for?
What for?
Stop working nights
Deliver on-time
What for?
Make sure project start on-time
Maximize team staffing
Avoid peaks/downs in team occupation
Stop working nightsHire before the rush
Deliver on-time
Why is it so hard?
Software development planning is not easy to begin with
It is even more challenging when
developers need to regularly switch from one project to the other
project specifications change regularly
priorities change
Why is it so hard?
Software development planning is not easy to begin with
It is even more challenging when
developers need to regularly switch from one project to the other
project specifications change regularly
priorities change
Planning in the context of a small consulting company is very hard.
Why is it important?
To keep your customers
To keep your employees
So that your company can grow
Why is it important?
To keep your customers
To keep your employees
So that your company can grow
Resource planning is crucial to the future of your company.
Different types of planning
Project planningUseful to:
Organize one project
Forecast “end” time
Follow progress
Not useful to:
Define what a developer needs to do this week
Make sure you have enough developers for all the projects
time
tasks
Spec
time
Dev
Test
Resource planningA different perspective - focused on the resources across all the projects
Useful to:
Allocate resources to projects
Anticipate resources problems:
Over staffing
Under staffing
time
resou
rces
Project A
timeProject B Project CJoe
Sue
Tim
Project A
Project CHolidays
B A
Different types of planningtas
ks
Spec
Dev
Test
time
resou
rces
Project A
timeProject B Project CJoe
Sue
Tim
Project A
Project CHolidays
B A
Both planning serve different purposes. They are both very important.
Getting started with resource planning
0. Define what is a resourceIt is easy to get over excited when modeling your business
Different type of resources: project managers, developers, testers, etc
With different types of seniority: junior, senior, architect, etc
Start simple - In most teams, the bottleneck is the developer
Make a resource planning for the developers only - Do not count project management, artists, etc. - Only one “type” of developer.
1. Choose some units
Standard scenario
A team of 2 to 50+ people
Projects from 1 week to several months
Should work for 90% of small teams
Your number one measurement unit is a man/day
Time step in the planning is week
Hours of work may be a better unit
Use months instead of weeks
Exceptions
Teams who have to work on very small assignments
Ex: Design team works a few hours every week on a very large number of different projects
Very long projects
2. Identify your resources
List all your team members
Write their availability in man/day for each week
5 if available for the entire week
4 if there is a day-off
0 when on holidays/training/etc
Wk 925-Feb
Wk 104-Mar
Wk 1111-Mar
Wk 1218-Mar
Joe 5 5 4 5
Sue 5 5 4 5
Tim 0 0 4 5
http://webapps.stackexchange.com/questions/4588/how-to-show-the-week-number-on-google-calendar
3. Identify your projectsList all of your projects
Based on the project planning
Write down how many man-days you will need for this project per week
One full time developer = 5
Two full time developer = 10
Plan time for bug fixing, deployment,...
Wk 925-Feb
Wk 104-Mar
Wk 1111-Mar
Wk 1218-Mar
Web4.0 10 10 10 5
iGame 5 5
VivApp 5 5 2 0.5
http://webapps.stackexchange.com/questions/4588/how-to-show-the-week-number-on-google-calendar
4. Start planning
Adjust planning and projects to bring the delta to 0
You can postpone a project
You can add resources
Wk 925-Feb
Wk 104-Mar
Wk 1111-Mar
Wk 1218-Mar
Available 10 10 12 15
Needed 15 15 17 10.5
Delta -5 -5 -5 4.5
5. Make it a habit
Each team leader is responsible of the planning of his/her team
No one else has write access to the planning
Everyone can read it
Planning needs to be updated every week so that the developers know what to do the following monday
Fill the planning at least two or three weeks in advance
Delta must-be 0 on monday morning
If you think your developers can work faster: reduce the work in the project
If you do not have enough resource: make a choice
One day of work is always 1 - Does not matter how many hours
Benefits of “simple planning”
Forces you and other stakeholders in the company to look at the situation objectively with numbers instead of feelings
Gives you a tool to evaluate different scenarios
Provides detailed and valuable information on team staffing
Can easily be shared with all the project managers, the developers, etc
Getting started with resource planningWk 9
25-FebWk 104-Mar
Wk 1111-Mar
Wk 1218-Mar
Joe 5 5 4 5
Sue 5 5 4 5
Tim 0 0 4 5
Wk 925-Feb
Wk 104-Mar
Wk 1111-Mar
Wk 1218-Mar
Web4.0 10 10 10 5
iGame 5 5
VivApp 5 5 2 0.5
Wk 925-Feb
Wk 104-Mar
Wk 1111-Mar
Wk 1218-Mar
Available 10 10 12 15
Needed 15 15 17 10.5
Delta -5 -5 -5 4.5
Getting started with resource planning is extremely easy!No excuse!
Improving your resource planning
Assign projects to specific developers
Assign projects to specific developersDev Wk 9
25-FebWk 10
4-MarWk 1111-Mar
Wk 1218-MarWeb4.0 10/10 10/10 8/10 10/5
Joe 5 5 4 5Sue 5 5 4 5
iGame 4/5 5/5Tim 4 5
VivApp 0/5 0/5 0/2 0/0.5
Assign projects to specific developersDev Wk 9
25-FebWk 10
4-MarWk 1111-Mar
Wk 1218-MarWeb4.0 10/10 10/10 8/10 10/5
Joe 5 5 4 5Sue 5 5 4 5
iGame 4/5 5/5Tim 4 5
VivApp 0/5 0/5 0/2 0/0.5
Joe 5 5 4 5
Sue 5 5 4 5Tim 4 5
Assign projects to specific developers
A little more complicated to set up
Allows team leader to account for each team member specificities (seniority level, familiarity with project, technologies, etc)
Actually tells the developer what to do this week
Visualize your planning
Use your data to communicate visually on your planning
Learn to recognize trends
Manageable peaks
Non-manageable peaks ...0
4.25
8.5
12.75
17
W9 W10 W11 W12
Available Needed
“Non-billable” timeEvaluate and measure “non-billed” time
Internal projects
Support of sales team
Meetings (especially for team leaders)
This will help you think about the cost of non-billable
Developer(x 5) Team Leader
Team meeting 0.5 x 5 = 2.5 0.5
Management meeting
0.3
Sales support 0.5 1
Total 3 1.8
Total non-billable time: 4.8 / 30 = 13% or 1 person
Improve your time-estimationsStart with the number of days sold to the customer
Ask the developer to re-evaluate time before the beginning of development
If needed, adjust the functional specifications to fit in budget
Or adjust budget in planning
Look at the number of actual days spent
Use timesheets if possible to estimate next project
Improving your resource planningAssign projects to specific developers
Visualize your planning data
Measure non-billable time
Improve your time-estimations
Key take-aways
Keep your planning very simple to get started
Only plan for your bottleneck resources
Use simple tools (Excel, Google spreadsheet, etc)
Make planning a habit: Update your planning every week
Share your planning with the company
Use your planning to learn and improve
Thank you!
www.sarfata.org@[email protected]
Recommended reading
http://en.wikipedia.org/wiki/The_Mythical_Man-Month
"adding manpower to a late software project makes it later"