Monday, February 5, 2018

No-waste agile estimating session notes

No-waste agile estimating, with Ron Lichty
------------------------------------------

Everyone gets asked for estimates, but we mostly do it poorly.

"The point is not to do Agile. The point is to be effective. Agile provides us insights." - Al Shalloway.

"Simplicity -- the art of maximizing the amount of work not done -- is essential." - The Agile Manifesto

Why estimate?
  Product owner input to backlog ordering (ie the I in ROI)
  Some kind of predictability, for sales, marketing, the board, the CFO, etc.

The problems with estimating
  Software requires creative work, learning new skills, and undivided attention for long periods of time. Innovation is unpredictable.

Classic approach: break the work down to small chunks, estimate them all, take the sum. Those estimates don't work.

Exercise: I want to eat some fruit
  How much overhead is required? Overhead == time to prepare a serving, time to clean up after eating it.
  Do the estimates in a group by doing the classic approach. Try to do it in 8 minutes. Good luck with that.

"There's no sense in being precise when you don't even know what you're talking about." John von Neumann, physicist.

Scrum sizing
  Take the entire team into a room and size the entire backlog. Why?
  Multiple points of view, wisdom of the crowd, drive alignment, gain understanding of teammates, engage the whole team, etc.
  Story sizing is done relative to other stories, so it's helpful to look at all stories in relation to each other.
  Use abstract measures (story points, typically in a Fibonacci sequence), but the points do NOT equate to calendar time.
  With a measure of team velocity you can make a projection.

Many teams use planning poker. But it has issues:
  How do you start? If stories are sized relative to each other, the first story is impossible to size.
  It frequently devolves to guessing, stepping out of relative sizing.

Two-pass release sizing (aka the Steve Bockman method)
  Faster than planning poker. Guarantees stories are sized relative to each other, and provides a second-pass double-check.
  E.g.: sizing the two tallest buildings in the city from the top of Mt. Rainier. Can't say the exact sizes, but you know which one is taller. And you can estimate by how much, eg it's 5% taller.
  How to?
    Only doers participate: the people who do the work do the sizing. No product owners/managers allowed.
    1st pass: order the stories from smallest to largest.
    2nd pass: size by modified Fibonacci numbers: i.e., figure out where the break is between successive point sizes. Cards will move around some more.
    Can do it with physical cards and a big table.
    Start with 1st person putting the 1st card on the table. Pass the deck. Next person takes the 2nd card, and you place it relative to the first card. Pass the deck. Rinse & repeat: each person takes a card and places it in size order, getting consent from the group. You build a big snake of cards.
  Can do ~150 stories in about 3 hours.

  As you go, you'll learn about who has expertise in the stories, what the dependencies are, etc. Write those things on the cards.

  Sometimes there are series of stories that are related (eg add cc support for visa, add cc support for mastercard). The first one will be bigger than the others. You can mark these stories by e.g. using colored post-its to color-code the related stories; you treat one arbitrary one as the first one to-be-done and the rest as the follow-ons. Consult with the product manager/owner about which one comes first.

  What if you need research to size the story? Score it as really big, then do the spike, then resize it. But be careful -- you usually know it's rough relative size, so you can probably put it in the ranking without the spike.

Repeat the fruit overhead exercise, but with a bunch of different fruits. 5 minutes to order them, and 3 minutes to size. Be honest about doing 1 card at a time.

A neat trick to establish a team's velocity: take past stories and slide them into the sized backlog as a third pass, which gives you point values, so you can then determine velocity, give or take ~20%.

For distributed teams: this process works well, using realtimeboard or stormboard. Instead of snaking the cards though, use rows. It makes manipulation of the cards much easier.



--

==============================

Brent Miller

Principal Software Engineer & Architect

New Relic, Inc.

@foliosus


blog.newrelic.com | @NewRelic

==============================

10am session from yellow space

Creating a culture of learning
Session 2 - Blue #3

Where is “The Business”?

Self organization vs self management, is there a line?



I have never hosted a session and I need help!



Preventing QA spill overs per sprint

End of sprint QA leakage 

  • Tickets finished by devs -> kick in the gear and finish a story 

QA team

  • Specialists 
  • Regression pass 

 

Problems:

Automation + validation often get missed after the story completion.

 

What folks at NIKE are doing?

Teams don't divide into dev and QA 

QA / QE became devs and devs became QA / QE - complete ownership

Each ticket is reviewed by 2 other team members - code review?

Not all stories go through regression testing

 

Issues with combining roles:

  • Price of labor for SDETs is low
  • Maintaining Specialty

 

Preventing QA spillover?

  • Mini - deadlines within the sprint 
  • Represents bad estimations 
  • Consumer software works differently can combine goals 
  • Bug fixes:
    • Is the bug blocking acceptance testing? No? - User story
    • Is the bug blocking a production release? No? - User story
    • Is it an actual bug? - fix during the sprint
  • Making sure any acceptance criteria is testable - Product Owner 
  • Every test scenario is identified. 
  • Put the QA in front, help the product owner write better test criteria 
  • Cohesive story 
  • Lumpers and splitters - strike a balance to create a story size. 
  • Thin slice that has value delivered during the sprint.

 

 

Thanks,

Sushant Khurana

Technical Product Manager

Expedia Inc.