software management...for people who just want to get stuff done

40
Software Management …for people who just want to get stuff done.

Upload: ciff-mccollum

Post on 01-Jul-2015

427 views

Category:

Software


0 download

DESCRIPTION

Everything you need to know about Software Management, without becoming a project manager.

TRANSCRIPT

Page 1: Software management...for people who just want to get stuff done

Software Management

…for people who just want to get stuff done.

Page 2: Software management...for people who just want to get stuff done

But I Never Want to Be a Manager!

Page 3: Software management...for people who just want to get stuff done

Software Management Dimensions

Planning Estimation Execution Retrospect

ive

Project

Milestones

Sprints

Stories

Page 4: Software management...for people who just want to get stuff done

Definitions

Planning

Estimation

Execution

Retrospective

Project

Milestone

Sprint

Story

Page 5: Software management...for people who just want to get stuff done

Waterfall

Planning Estimation Execution Retrospect

ive

Project

Milestones

Sprints

Stories

Page 6: Software management...for people who just want to get stuff done

Agile

Planning Estimation Execution Retrospect

ive

Project

Milestones

Sprints

Stories

Page 7: Software management...for people who just want to get stuff done

Planning

Page 8: Software management...for people who just want to get stuff done

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

Page 9: Software management...for people who just want to get stuff done

Planning Techniques

Dependency Planning

Critical Path Analysis

Alternative Delivery

Page 10: Software management...for people who just want to get stuff done

Estimation

Page 11: Software management...for people who just want to get stuff done

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?

Page 12: Software management...for people who just want to get stuff done

Estimation Techniques

Rely on the expert

Planning Poker

The 50th Percentile Rule

Monte Carlo Simulations

Fudge Factors

Page 13: Software management...for people who just want to get stuff done

Execution

Page 14: Software management...for people who just want to get stuff done

All Execution is Hard

Worst challenge is what you don’t know

All development is learning

Don’t lie to yourself orothers

Page 15: Software management...for people who just want to get stuff done

Execution Techniques

Design Reviews / Code Reviews

Pair-Coding

Daily Standups / Reporting

TDD / MDD / Continuous Integration

Issue Tracking / Shared Documentation

Knowledge Discovery

Page 16: Software management...for people who just want to get stuff done

Projects

Page 17: Software management...for people who just want to get stuff done

Project Planning

Consider separate items of business value.

Deliver them one at a time. Don’t interleave all your

business value.

Page 18: Software management...for people who just want to get stuff done

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

Page 19: Software management...for people who just want to get stuff done

Project Estimation

Always plan to produce something useful in less

than six months.

Even better, do it in one quarter.

Page 20: Software management...for people who just want to get stuff done

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.

Page 21: Software management...for people who just want to get stuff done

Project Retrospective

• Too high-level to be of much value – unless you plan to write a book

Page 22: Software management...for people who just want to get stuff done

Milestones

Page 23: Software management...for people who just want to get stuff done

Milestone Planning

Milestones Can exist at multiple levels.

Group stories in Business-Value sets, with natural tech chunks below that.

Page 24: Software management...for people who just want to get stuff done

Milestone Estimation

Easiest performed as a roll-up of the Stories underneath each.

Add fudge-factors at this level.

Page 25: Software management...for people who just want to get stuff done

Milestone Execution

Track each story regularly. Ideally daily.

Burndown charts should be used here.

Page 26: Software management...for people who just want to get stuff done

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.

Page 27: Software management...for people who just want to get stuff done

Milestone Retrospective

Why was it missed?New knowledge?Difficult problems?Changed business situation?Team problems?

Page 28: Software management...for people who just want to get stuff done

Milestone Retrospective

What is the impact?Slip the schedule?Cut scope?Add resources?

Page 29: Software management...for people who just want to get stuff done

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?

Page 30: Software management...for people who just want to get stuff done

Sprints

Page 31: Software management...for people who just want to get stuff done

Sprint Planning

Keep your backlogs aligned to your Milestones

Don’t change a planned sprint

Page 32: Software management...for people who just want to get stuff done

Sprint Estimation

What is your team velocity?

How do you know?

Stretch a little.

Leave space for theunexpected.

Page 33: Software management...for people who just want to get stuff done

Sprint Execution

Use Burndowns and Daily reviews.

If you are above the line, find out why immediately.

Address blockers beforeanything else.

Page 34: Software management...for people who just want to get stuff done

Sprint Retrospective

Lots written about this.

Don’t skip them.

Page 35: Software management...for people who just want to get stuff done

Stories

Page 36: Software management...for people who just want to get stuff done

Story Planning

No story should be larger than one person can complete in one sprint.

Page 37: Software management...for people who just want to get stuff done

Story Estimation

If you code it, you estimate it.

Break stories down into tasks and estimate those.

Follow the 50th percentile rule.

Page 38: Software management...for people who just want to get stuff done

Story Execution

Don’t lie to yourself: update your estimate every day.

Page 39: Software management...for people who just want to get stuff done

Story Retrospective

Probably not useful.

Page 40: Software management...for people who just want to get stuff done

Q&A