Software management...for people who just want to get stuff done
-
Upload
ciff-mccollum -
Category
Software
-
view
427 -
download
0
description
Transcript of Software management...for people who just want to get stuff done
Software Management
…for people who just want to get stuff done.
But I Never Want to Be a Manager!
Software Management Dimensions
Planning Estimation Execution Retrospect
ive
Project
Milestones
Sprints
Stories
Definitions
Planning
Estimation
Execution
Retrospective
Project
Milestone
Sprint
Story
Waterfall
Planning Estimation Execution Retrospect
ive
Project
Milestones
Sprints
Stories
Agile
Planning Estimation Execution Retrospect
ive
Project
Milestones
Sprints
Stories
Planning
All Plans are Wrong
“No software plan extends with certainty beyond the first
component interaction, or the first unknown technology.”
- Cliff McCollum
“No plan of operations extends with certainty beyond the first encounter
with the enemy's main strength.”- Helmuth von Moltke the Elder
Planning Techniques
Dependency Planning
Critical Path Analysis
Alternative Delivery
Estimation
All Estimates are Flawed
The goal is to eliminate your biases in a systematic way.
Can you make half of your estimates too low and half of them too high?
In effect, can you average your errors to zero?
Estimation Techniques
Rely on the expert
Planning Poker
The 50th Percentile Rule
Monte Carlo Simulations
Fudge Factors
Execution
All Execution is Hard
Worst challenge is what you don’t know
All development is learning
Don’t lie to yourself orothers
Execution Techniques
Design Reviews / Code Reviews
Pair-Coding
Daily Standups / Reporting
TDD / MDD / Continuous Integration
Issue Tracking / Shared Documentation
Knowledge Discovery
Projects
Project Planning
Consider separate items of business value.
Deliver them one at a time. Don’t interleave all your
business value.
Project Estimation
The further away a deadline is, the less precise it becomes.
You should not estimate > 1 year out.
Expected Duration Date Accuracy
One Week +/- one day
One Month +/- one week
One Quarter +/- one month
Six Months +/- two months
One Year +/- six months
> One Year +/- Unknown
Project Estimation
Always plan to produce something useful in less
than six months.
Even better, do it in one quarter.
Project Execution
• I don’t suggest thinking much about Dev at this level.
• This is where you consider marketing, communications, etc.
• Biggest value is watching Tech Milestones.
Project Retrospective
• Too high-level to be of much value – unless you plan to write a book
Milestones
Milestone Planning
Milestones Can exist at multiple levels.
Group stories in Business-Value sets, with natural tech chunks below that.
Milestone Estimation
Easiest performed as a roll-up of the Stories underneath each.
Add fudge-factors at this level.
Milestone Execution
Track each story regularly. Ideally daily.
Burndown charts should be used here.
Milestone Retrospective
Why was it missed?
What is the impact?
What are you going tochange?
Don’t tell lies.
When a date is missed, it is time to be brutally honest.
Milestone Retrospective
Why was it missed?New knowledge?Difficult problems?Changed business situation?Team problems?
Milestone Retrospective
What is the impact?Slip the schedule?Cut scope?Add resources?
Milestone Retrospective
What are you going to change?Don’t tell yourself lies.If your estimates were wrong here – they are probably wrong everywhere else.Working harder is a poor solution.Hope is not a strategy.
You must accept one of the previous impacts.
What do you change about future milestones?
Sprints
Sprint Planning
Keep your backlogs aligned to your Milestones
Don’t change a planned sprint
Sprint Estimation
What is your team velocity?
How do you know?
Stretch a little.
Leave space for theunexpected.
Sprint Execution
Use Burndowns and Daily reviews.
If you are above the line, find out why immediately.
Address blockers beforeanything else.
Sprint Retrospective
Lots written about this.
Don’t skip them.
Stories
Story Planning
No story should be larger than one person can complete in one sprint.
Story Estimation
If you code it, you estimate it.
Break stories down into tasks and estimate those.
Follow the 50th percentile rule.
Story Execution
Don’t lie to yourself: update your estimate every day.
Story Retrospective
Probably not useful.
Q&A