agile product development workshop

34
Agile Product Development Workshop June 23, 2011 Sean Ammirati Adjunct Professor, Carnegie Mellon University Thursday, June 23, 2011

Upload: sean-ammirati

Post on 10-May-2015

1.855 views

Category:

Technology


0 download

DESCRIPTION

The slides from my CMU / IW - i6 Agile Product Development Workshop.

TRANSCRIPT

Page 1: Agile Product Development Workshop

Agile Product Development Workshop

June 23, 2011

Sean Ammirati Adjunct Professor, Carnegie Mellon University

Thursday, June 23, 2011

Page 2: Agile Product Development Workshop

“Launch early enough to be embarrassed by your product’s first version”

Reid Hoffman, Co-Founder & Chairman LinkedIn

Source: Reid Hoffman - Rules for Entreprenuers SXSW 2012 http://vator.tv/news/2011-03-15-reid-hoffmans-rules-for-entrepreneurs-sxsw

Thursday, June 23, 2011

Page 3: Agile Product Development Workshop

Thursday, June 23, 2011

Page 4: Agile Product Development Workshop

Image Source: http://www.ratchetup.com/eyes/2004/01/index.html

“Demo or Die”

Thursday, June 23, 2011

Page 5: Agile Product Development Workshop

Thursday, June 23, 2011

Page 6: Agile Product Development Workshop

Agenda

• Quick Review from Lean Startup Workshop

• Key Scrum Themes

• Scrum Values

• Panel: Ian Paterson & Steve Fleck

Thursday, June 23, 2011

Page 7: Agile Product Development Workshop

Customer Development

+

Agile Product Development

=

The Lean Startup

Today’s Focus

Thursday, June 23, 2011

Page 8: Agile Product Development Workshop

Thursday, June 23, 2011

Page 9: Agile Product Development Workshop

Scrum is ...Scrum is an iterative, incremental framework for project management often seen in agile software development, a type of software engineering.

Although the Scrum approach was originally suggested for managing product development projects, its use has focused on the management of software development projects, and it can be used to run software maintenance teams or as a general project/program management approach.

http://en.wikipedia.org/wiki/Scrum_(development)

Thursday, June 23, 2011

Page 10: Agile Product Development Workshop

http://www.youtube.com/watch?v=Q5k7a9YEoUI

Thursday, June 23, 2011

Page 11: Agile Product Development Workshop

“If engineering practices are candy bars, then Scrum is a candy bar

wrapper. That is to say that Scrum is superimposed on and

encapsulated on whatever engineering practices already

exist.”

Pg 57 - Agile Software Development with Scrum

Thursday, June 23, 2011

Page 12: Agile Product Development Workshop

Scrum

Engineering Practices

This will be unique for each of you based on your team, type of solution

being developed and personalpreferences.

Could be: XP, Feature Driven Development, Crystal, Kanban or any other process your engineering team

is comfortable with.

(often pull aspects from each)

Thursday, June 23, 2011

Page 13: Agile Product Development Workshop

• Firsthand observed it transform & improve my last software company - mSpoke

• Being used at some of the largest technology companies in the world today (Google, Yahoo!, Adobe, etc ...)

• Provides a great framework for entire team to understand what is going on.

• Disclaimer: Still hard to build technology and not a silver bullet

Why we focus on Scrum?

Thursday, June 23, 2011

Page 14: Agile Product Development Workshop

Key Themes from Scrum

Thursday, June 23, 2011

Page 15: Agile Product Development Workshop

Scrum Process

Source:  http://www.krishnabitla.com/post/2011/02/02/scrum-­‐process-­‐sprint-­‐agile-­‐software-­‐methodology.aspx  

Thursday, June 23, 2011

Page 16: Agile Product Development Workshop

Tips / Tricks on Implementing Scrum

• Important for everyone to buy in and get familiar with vocabulary

• Tools for implementing scrum (not necessary):

• Scrumworks - http://www.open.collab.net/products/scrumworks/

• Version One - http://www.versionone.com/

• Rally Software - http://www.rallydev.com/index.php

• Google Doc Template - https://docs.google.com/previewtemplate?id=0AoBzAQ22ynH5dEpRRkNBVGRCVU1HMmk2enBMYUZZSGc&mode=public

• 10 More Free Scrum Tools - http://knowscrum.com/10-best-free-scrum-tools/

Thursday, June 23, 2011

Page 17: Agile Product Development Workshop

Product Backlog

• Prioritized list or queue of requirements

• Rough Estimates of level of effort to complete (not all estimates need to be equally thorough / higher priority can be more thorough)

• Ultimately Product Owner sets the priority

• Any one (customer, employee, board member, advisor) can add to product backlog

• Should be shared with the full-team

Thursday, June 23, 2011

Page 18: Agile Product Development Workshop

Thursday, June 23, 2011

Page 19: Agile Product Development Workshop

Thursday, June 23, 2011

Page 20: Agile Product Development Workshop

Tools / Tips for Product Backlog

• Everyone on team should easily be able to see the backlog

• I’ve found one “administrator” helpful logistically

• If not using a full scrum tool, you can do this easily in a shared spreadsheet (eg Google Docs)

Thursday, June 23, 2011

Page 21: Agile Product Development Workshop

Time Box / Sprint

• Each sprint:

• Lasts a defined number of days (time box)

• Has a specific set of requirements from backlog allocated to it (defined during “sprint planning meeting”)

• Has specific goals for the team to achieve (set up front) - “sprint goal”

Thursday, June 23, 2011

Page 22: Agile Product Development Workshop

Release Sprints

• In my experience, release sprints have been quite helpful.

• However, continuous deployment is becoming popular in some circles (Eric Ries http://radar.oreilly.com/2009/03/continuous-deployment-5-eas.html)

• If you do continuous deployment, Scrum still integrates fine to manage process (http://knowscrum.com/benefits-of-continuous-integration-in-scrum-best-practices-in-scrum/)

Thursday, June 23, 2011

Page 23: Agile Product Development Workshop

Tasks for a Sprint Backlog

• Based on the sprint goal - a list of tasks are created

• Task estimates should be roughly 4 - 16 hours of work

• Sometimes only a partial sprint backlog can be created (ie: if one task is define an internal architecture) - in this case leave reminders and estimate as soon as possible

Thursday, June 23, 2011

Page 24: Agile Product Development Workshop

Estimates

• All estimates are forward looking

• How much will it take to complete this feature / requirement?

• Increasing an estimate based on learned complexity is accepted by the team

• Sprint backlog estimates should be updated regularly

Thursday, June 23, 2011

Page 25: Agile Product Development Workshop

Velocity / Burn Down

• The average decrease in estimates for the total effort / time remaining is a sprint’s velocity

• Overtime velocity becomes very helpful for planning purposes

• The chart showing daily total of time remaining is called a burn down chart or sprint’s signature

Thursday, June 23, 2011

Page 26: Agile Product Development Workshop

Thursday, June 23, 2011

Page 27: Agile Product Development Workshop

Thursday, June 23, 2011

Page 28: Agile Product Development Workshop

Thursday, June 23, 2011

Page 29: Agile Product Development Workshop

Daily Scrum• Each Day Team Meets to have each team member

report:

• What have you done since the last daily scrum?

• What will you work on between now and the next daily scrum?

• What got in your way of doing work?

• Many very startups find “daily” to be overkill because of the small nature of the team- but regular communication still key

Thursday, June 23, 2011

Page 30: Agile Product Development Workshop

Sprint Review

• At the end of the sprint, the team demonstrates what they have built

• Compares against the sprint’s goals

• Retrospective to look for improvements at the end of the sprint

Thursday, June 23, 2011

Page 31: Agile Product Development Workshop

Sprint Review Jeff Sutherland discusses Demo or Die & the Sprint Review

http://www.youtube.com/watch?v=2Jhf7PcYrzY

Thursday, June 23, 2011

Page 32: Agile Product Development Workshop

• Commitment

• Focus

• Openness

• Respect

• Courage

Five Scrum Values

Image Source: http://www.implementingscrum.com/images/080324-scrumtoon.jpg

Thursday, June 23, 2011

Page 33: Agile Product Development Workshop

Four Letter Words @ 37 Signals

• Need

• Must

• Can’t

• Easy

• Just

• Only

• Fast

Source: http://37signals.com/svn/posts/439-four-letter-words

They are especially dangerous when you string them together. How many times have you said or heard something like this:

“We really need it. If we don’t we can’t make the customer happy. Wouldn’t it be easy if we just did it like that? Can you try it real fast?”

Thursday, June 23, 2011

Page 34: Agile Product Development Workshop

Steve Fleck & Ian Paterson

Thursday, June 23, 2011