product development using agile and lean principles

137

Upload: tathagat-varma

Post on 11-Apr-2017

415 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Product Development Using Agile and Lean Principles
Page 2: Product Development Using Agile and Lean Principles

Welcome J

Page 3: Product Development Using Agile and Lean Principles

Agenda

Schedule Topics 09:30 – 11:00 Agile and Lean 11:00 – 11:30 Tea break 11:30 – 13:00 Scrum Framework 13:00 – 13:45 Lunch 13:45 – 14:45 Scrum-based Product Development 14:45 – 15:00 Tea break 15:00 – 17:00 Scrum Simulation 17:00 – 17:30 Wrap-up / Q&A / Feedback

Page 4: Product Development Using Agile and Lean Principles

Waterfall Software Development

http://damonpoole.blogspot.in/2009/07/traditional-development-game-of.html

What are the key challenges with waterfall?

Page 5: Product Development Using Agile and Lean Principles

Waterfall challenges: Poor Visibility

http://www.agilenutshell.com/agile_vs_waterfall

Page 6: Product Development Using Agile and Lean Principles

Waterfall challenges: Poor Risk Management

http://www.agilenutshell.com/agile_vs_waterfall

Page 7: Product Development Using Agile and Lean Principles

Waterfall challenges: Poor Quality

http://www.agilenutshell.com/agile_vs_waterfall

Page 8: Product Development Using Agile and Lean Principles

Waterfall challenges: Poor Change Management

http://www.agilenutshell.com/agile_vs_waterfall

Page 9: Product Development Using Agile and Lean Principles

Late learning sequence of product development

http://alistair.cockburn.us/Disciplined+Learning

Page 10: Product Development Using Agile and Lean Principles

As a result, software is…

Late

Buggy

Costly

Page 11: Product Development Using Agile and Lean Principles

and the costs…?

http://leadinganswers.typepad.com/leading_answers/estimating/ http://www.agileforall.com/dyk/

Page 12: Product Development Using Agile and Lean Principles

But we want software to be…

Page 13: Product Development Using Agile and Lean Principles

The Myth of Faster, Better, Cheaper

Page 14: Product Development Using Agile and Lean Principles

The Myth of Faster, Better, Cheaper

Good

Fast Cheap Bad

?

Page 15: Product Development Using Agile and Lean Principles

Let’s paint…

Page 16: Product Development Using Agile and Lean Principles

Incremental vs. Iterative

http://www.infoq.com/resource/news/2008/01/iterating-and-incrementing/en/resources/Patton_Incremental_Iterative_MnaLisa.jpg

Page 17: Product Development Using Agile and Lean Principles

Incremental and Iterative

Incremental Iterative Scheduling and staging strategy

Rework scheduling strategy

Parts of system are developed at different times and integrated as they are completed

Review and improve part of the systems

Doesn’t imply or require iterative development

Doesn't presuppose incremental development

Output is not necessarily subject to further refinement

Output is examined for modifications in successive iterations

Page 18: Product Development Using Agile and Lean Principles

http://itsadeliverything.com/wordpress/images//iterative-incremental-mona-lisa.png

Incremental and Iterative

Page 19: Product Development Using Agile and Lean Principles

Incremental vs. Iterative

http://www.planetgeek.ch/wp-content/uploads/2011/01/Slide7.png

Page 20: Product Development Using Agile and Lean Principles

What is the most important part in these two machines?

“The Brakes!!!” They let you go faster…

Page 21: Product Development Using Agile and Lean Principles

Agility vs. Discipline?

http://www.ibm.com/developerworks/rational/library/edge/08/feb08/lines_barnes_holmes_ambler/

Page 22: Product Development Using Agile and Lean Principles

Agile Manifesto 2001

Page 23: Product Development Using Agile and Lean Principles

12 Agile Principles

Our highest priority is to satisfy the customer�

through early and continuous delivery�of valuable software.

Welcome changing requirements, even late in �

development. Agile processes harness

change for �the customer's competitive

advantage.

Deliver working software frequently, from a �

couple of weeks to a couple of months, with a �preference to the shorter

timescale.

Business people and developers must work �

together daily throughout the project.

Build projects around motivated individuals. �

Give them the environment and support they need, �and trust them to get the

job done.

The most efficient and effective method of �

conveying information to and within a development �

team is face-to-face conversation.

Working software is the primary measure of

progress.

Agile processes promote sustainable development. �The sponsors, developers, and users should be able �

to maintain a constant pace indefinitely.

Continuous attention to technical excellence �

and good design enhances agility.

Simplicity--the art of maximizing the amount �of work not done--is

essential.

The best architectures, requirements, and designs �

emerge from self-organizing teams.

At regular intervals, the team reflects on how �

to become more effective, then tunes and adjusts �its behavior accordingly.

Page 24: Product Development Using Agile and Lean Principles

Waterfall vs. Agile

http://www.isixsigma.com/new-to-six-sigma/design-for-six-sigma-dfss/doing-some-software-six-sigma-and-agile-%E2%90%98mythbusting%E2%90%99/

Page 25: Product Development Using Agile and Lean Principles

Waterfall vs. Agile

http://www.agilenutshell.com/agile_vs_waterfall

By doing them continuously: •   Quality improves

because testing starts from day one.

•   Visibility improves because you are 1/2 way through the project when you have built 1/2 the features.

•   Risk is reduced because you are getting feedback early, and

•   Customers are happy because they can make changes without paying exorbitant costs.

Page 26: Product Development Using Agile and Lean Principles

http://www.targetprocess.com/blog/wp-content/uploads/2009/06/agile_waterfall-792810.png

Page 27: Product Development Using Agile and Lean Principles

Waterfall vs. Agile

https://en.wikipedia.org/wiki/File:Agile-vs-iterative-flow.jpg

Page 28: Product Development Using Agile and Lean Principles

Waterfall vs. Agile: Constraints

Page 29: Product Development Using Agile and Lean Principles

Waterfall vs. Agile: Risk vs. Value Delivered

http://www.testingthefuture.net/wp-content/uploads/2011/12/waterfall_versus_agile_development.png

Page 30: Product Development Using Agile and Lean Principles

Predictive vs. Adaptive

Page 31: Product Development Using Agile and Lean Principles

Agile Development Value Proposition

http://www.versionone.com/Agile101/Agile_Benefits.asp

Page 32: Product Development Using Agile and Lean Principles

Agile ROI

http://www.agileload.com/agileload//blog/2012/10/22/agile-performance-testing-process---whitepaper

Page 33: Product Development Using Agile and Lean Principles

Lean

×   maximize customer value while minimizing waste.

×   A lean organization understands customer value and focuses its key processes to continuously increase it. The ultimate goal is to provide perfect value to the customer through a perfect value creation process that has zero waste.

Page 34: Product Development Using Agile and Lean Principles

Lean Thinking

×   Lean thinking changes the focus of management from optimizing separate technologies, assets, and vertical departments to optimizing the flow of products and services through entire value streams that flow horizontally across technologies, assets, and departments to customers.

×   Eliminating waste along entire value streams, instead of at isolated points, creates processes that need less human effort, less space, less capital, and less time to make products and services at far less costs and with much fewer defects, compared with traditional business systems. Companies are able to respond to changing customer desires with high variety, high quality, low cost, and with very fast throughput times. Also, information management becomes much simpler and more accurate.

Page 35: Product Development Using Agile and Lean Principles

Pillars of Lean Thinking 1. Identify

Value

2. Map the Value Stream

3. Create Flow

4. Establish Pull

5. Seek Perfection

Page 36: Product Development Using Agile and Lean Principles

Pillars of Lean Thinking

1. Identify Value

Specify value from the

standpoint of the end

customer by product family.

2. Map the Value

Stream

Identify all the steps in the

value stream for each product family,

eliminating whenever

possible those steps that do

not create value.

3. Create Flow

Make the value-creating steps occur in tight sequence so the product

will flow smoothly

toward the customer.

4. Establish

Pull

As flow is introduced, let customers pull value from the next upstream

activity.

5. Seek Perfection

As value is specified,

value streams are identified, wasted steps are removed, and flow and

pull are introduced,

begin the process again and continue it until a state

of perfection is reached in

which perfect value is

created with no waste.

Page 37: Product Development Using Agile and Lean Principles

What is Value?

http://mikehohnen.com/2008/04/19/oplevelse/

Page 38: Product Development Using Agile and Lean Principles

Perceived Value?

http://blogs.forrester.com/norbert_kriebel/13-06-04-use_the_value_equation_to_drive_successful_meetings

Page 39: Product Development Using Agile and Lean Principles

Value Equation of a Smartphone

http://www.jtklepp.com/2009/12/03/a-value-based-framework-for-the-smartphone-os-war/

Page 40: Product Development Using Agile and Lean Principles

Value Stream Map (VSM)

×   Special type of flow chart that uses symbols known as "the language of Lean" to depict and improve the flow of inventory and information

×   Purpose is to provide optimum value to the customer through a complete value creation process with minimum waste in ×   Design (concept to customer) ×   Build (order to delivery) ×   Sustain (in-use through life cycle to service)

Page 41: Product Development Using Agile and Lean Principles

Value Stream for Cola Cans

Lean Thinking – Womack and Jones

Page 42: Product Development Using Agile and Lean Principles

Software Development Value Stream

http://softwarecreation.org/2009/reliable-software-development-process-the-toyota-way/

Page 43: Product Development Using Agile and Lean Principles

Kent Beck’s Value Stream Map

Page 44: Product Development Using Agile and Lean Principles

Agile Value Stream Map

Lean Software Development, An Agile Toolkit – Mary Poppendeick

Page 45: Product Development Using Agile and Lean Principles

Lean Principles in Software Development

Eliminate waste

Amplify Learning

Decide as late as

possible

Deliver as fast as

possible Empower

Team Build

integrity in

See the Whole

Page 46: Product Development Using Agile and Lean Principles

Types of Waste

https://deejaygraham.github.io/img/posts/muda-muri-mura-so-what/muda-muri-mura-so-what-hifi.png

Page 47: Product Development Using Agile and Lean Principles

Muda, Mura, Muri

https://leanandkanban.files.wordpress.com/2011/03/mura-muri-muda.png

Page 48: Product Development Using Agile and Lean Principles
Page 49: Product Development Using Agile and Lean Principles

Wastes in Software Development

Lean Software

Defects Defects in Software, (Requirements, Design, Code) Overproduction Extra features that remain unused Waiting Delays in getting information, reviews, approvals Talent Talent (motivation, engagement, relearning) Transportation Distributed teams, Component Teams Inventory Work in Progress, Partially done work, Motion Chasing information, Task switching Extra-processing Over-engineering, Over-documentation, Over-

process steps, Relearning legacy code, Handoffs in production systems,

Page 50: Product Development Using Agile and Lean Principles
Page 51: Product Development Using Agile and Lean Principles

5S in Software Development

×   Sort (Seiri): Sort through the stuff on the team workstations and servers, and find the old versions of software and old files and reports that will never be used any more. Back them up if you must, then delete them.

×   Systematize (Seiton): Desktop layouts and file structures are important. They should be crafted so that things are logically organized and easy to find. Any workspace that is used by more than one person should conform to a common team layout so people can find what they need every place they log in.

×   Shine (Seiso): Whew, that was a lot of work. Time to throw out the pop cans and coffee cups, clean the fingerprints off the monitor screens, and pick up all that paper. Clean up the whiteboards after taking pictures of the important designs that are sketched there.

×   Standardize (Seiketsu): Put some automation and standards in place to make sure that every workstation always has the latest version of the tools, backups occur regularly, and miscellaneous junk doesn't accumulate.

×   Sustain (Shitsuke): Now you just have to keep up the discipline.

Implementing Lean Software Development from Concept to Cash – Mary Poppendeick

Page 52: Product Development Using Agile and Lean Principles

5S in Java

×   Sort (Seiri): Reduce the size of the code base. Throw away all unneeded items immediately. Remove: ×   Dead code, Unused imports Unused variables, Unused methods, Unused

classes, Refactor redundant code

×   Systematize (Seiton): Organize the projects and packages. Have a place for everything and everything in its place. ×   Resolve package dependency cycles, Minimize dependencies

×   Shine (Seiso): Clean up. Problems are more visible when everything is neat and clean. ×   Resolve unit test failures and errors ( passed == 100%), Improve unit test

coverage ( > 80%), Improve unit test performance, Check AllTests performance, Resolve checkstyle warnings, Resolve PMD warnings, Resolve javadoc warnings, Resolve TODO’s

×   Standardize (Seiketsu): Once you get to a clean state, keep it that way. Reduce complexity over time to improve ease of maintenance.

×   Sustain (Shitsuke): Use and follow standard procedures.

Implementing Lean Software Development from Concept to Cash – Mary Poppendeick

Page 53: Product Development Using Agile and Lean Principles

Time for break!

Page 54: Product Development Using Agile and Lean Principles

Untangle Game

http://blog.officience.com/en/des-jeux-pour-apprendre-lagilite/

Page 55: Product Development Using Agile and Lean Principles

Scrum

Page 56: Product Development Using Agile and Lean Principles

Scrum Framework

Page 57: Product Development Using Agile and Lean Principles

http://www.flickr.com/photos/magia3e/6233729753/

Page 58: Product Development Using Agile and Lean Principles

So, what happens in each increment?

Increment

≠ Mini-waterfall

Page 59: Product Development Using Agile and Lean Principles

XP Feedback Loops

http://www.ssa-outsourcing.com/services/project-management/

Page 60: Product Development Using Agile and Lean Principles

Feedback Loops in Traditional Techniques vs. Agile Techniques

Page 61: Product Development Using Agile and Lean Principles

feedback loop in agile lifecycles

Page 62: Product Development Using Agile and Lean Principles

test-code-refactor loop

Page 63: Product Development Using Agile and Lean Principles

Scrum Values

Focus

Courage

Openness

Commitment

Respect

Page 64: Product Development Using Agile and Lean Principles

Roles, Ceremonies and Artifacts

•   Scrum Team is small (5-9), cross-functional team members from Dev, UX, QA (excluding Product Owner) to ship complete feature(s) end to end

•   Scrum Master is the servant leader responsible for supporting team

•   Product Owner owns Product Backlog and sets appropriate priority for team to act upon

Roles

Product Owner

Scrum Master

Scrum Team

Ceremonies

Sprint Planning Meeting

Daily Stand-ups

Backlog Grooming

Product Demo

Sprint Retrospective

Artifacts

Product Backlog

Sprint Backlog

Increment

Release Burn-down Chart

Sprint Burn-down Chart

Page 65: Product Development Using Agile and Lean Principles

Scrum Roles

Page 66: Product Development Using Agile and Lean Principles
Page 67: Product Development Using Agile and Lean Principles

So, how do we start?

Page 68: Product Development Using Agile and Lean Principles

What’s wrong?

Page 69: Product Development Using Agile and Lean Principles

http://headrush.typepad.com/creating_passionate_users/2005/06/featuritis_vs_t.html

Page 70: Product Development Using Agile and Lean Principles
Page 71: Product Development Using Agile and Lean Principles
Page 72: Product Development Using Agile and Lean Principles

How Apple does it?

Steve Jobs gave a small private presentation about the iTunes Music Store to some independent record label people. My favorite line of the day was when people kept raising their hand saying, "Does it do [x]?", "Do you plan to add [y]?". Finally Jobs said, "Wait wait — put your hands down. Listen: I know you have a thousand ideas for all the cool features iTunes could have. So do we. But we don't want a thousand features. That would be ugly. Innovation is not about saying yes to everything. It's about saying NO to all but the most crucial features.”

http://www.oreillynet.com/onlamp/blog/2004/08/say_no_by_default.html

Page 73: Product Development Using Agile and Lean Principles

Kano Model

Page 74: Product Development Using Agile and Lean Principles

MoSCoW

• Describes a requirement that must be satisfied in the final solution for the solution to be considered a success. MUST

• Represents a high-priority item that should be included in the solution if it is possible. This is often a critical requirement but one which can be satisfied in other ways if strictly necessary.

SHOULD

• Describes a requirement which is considered desirable but not necessary. This will be included if time and resources permit. COULD

• Represents a requirement that stakeholders have agreed will not be implemented in a given release, but may be considered for the future. WON'T

Page 75: Product Development Using Agile and Lean Principles

Minimal Marketable Feature

A Minimal Marketable Feature (MMF) is a feature that is minimal, because if it was any smaller, it would not be marketable. A MMF is marketable, because when it is released as part of a product, people would use (or buy) the feature.

An MMF is different than a typical User Story in Scrum or Extreme Programming. Where multiple User Stories might be coalesced to form a single marketable feature, MMFs are a little bit bigger. Often, there is a release after each MMF is complete.

An MMF doesn’t decompose down into smaller sub-feature, but it is big enough to launch on its own.

A MMF can be represented as a User Story — a short, one-sentence description.

Page 76: Product Development Using Agile and Lean Principles

MVP, MMF, Stories

MVP

MMFs

Stories

Page 77: Product Development Using Agile and Lean Principles
Page 78: Product Development Using Agile and Lean Principles
Page 79: Product Development Using Agile and Lean Principles

Product Backlog

×   The Product Backlog is a prioritized list of everything that might be included in a product.

×   The Product Owner creates, maintains, and regularly re-orders the Product Backlog.

×   The Product Owner uses the Product Backlog to adapt to emerging requirements, customer feedback, and market changes.

https://felixgrayson.files.wordpress.com/2015/08/image4.png

Page 80: Product Development Using Agile and Lean Principles

Product Backlog Iceberg

Page 81: Product Development Using Agile and Lean Principles

“D.E.E.P.”

https://leanpub.com/site_images/MasteringBacklogs/DeepSlide.jpg

Page 82: Product Development Using Agile and Lean Principles

Prioritization -> Roadmap

http://agilelucero.com/wp-content/uploads/2014/09/product-backlog.jpg

Page 83: Product Development Using Agile and Lean Principles

Roadmap -> Release -> Sprint

https://www.scrumalliance.org/scrum/files/42/421788e7-1ebb-468f-8404-ca4cb9d0be6d.jpg

Page 84: Product Development Using Agile and Lean Principles

From Product Backlog to Sprint Backlog

https://kienlamcs100w.files.wordpress.com/2014/09/sprint-planning-meeting-outcome.jpg

Page 85: Product Development Using Agile and Lean Principles

Sprint Backlog

×   User Stories selected by The Team

×   Will be built in current Sprint

×   Fully Estimated

×   Divided into Tasks

Page 86: Product Development Using Agile and Lean Principles

User Stories

×   User stories are short, simple descriptions of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system. They typically follow a simple template:

×   As a <type of user>, I want <some goal> so that <some reason>.

×   User stories are often written on index cards or sticky notes, stored in a shoe box, and arranged on walls or tables to facilitate planning and discussion. As such, they strongly shift the focus from writing about features to discussing them. In fact, these discussions are more important than whatever text is written.

Page 87: Product Development Using Agile and Lean Principles

Epics and User Stories

Page 88: Product Development Using Agile and Lean Principles

Themes, Epics and Stories

Page 89: Product Development Using Agile and Lean Principles

“I.N.V.E.S.T.”

• Independent I

• Negotiable N

• Valuable V

• Estimable E

• Small S

• Testable T

Page 90: Product Development Using Agile and Lean Principles

Acceptance Criteria

Page 91: Product Development Using Agile and Lean Principles

Definition of Done

Page 92: Product Development Using Agile and Lean Principles

Acceptance Criteria vs. Definition of Done

Page 93: Product Development Using Agile and Lean Principles

Technical Debt

Page 94: Product Development Using Agile and Lean Principles

Tech Debt

Page 95: Product Development Using Agile and Lean Principles

Potentially Shippable Increment

×   A Potentially Shippable Product is the sum of the Product Backlog Items delivered each Sprint. 

×   Delivering Potentially Shippable Product each Sprint is fundamental to the Scrum because when work is divided into simple pieces it can be finished in a short iterations.

×   By accelerating the creative process and putting a functioning product in the hands of the user, the Team can gather feedback more quickly than it otherwise would have. To achieve this feedback loop on a Sprint-by-Sprint basis, Scrum Teams deliver Potentially Shippable Product at each Sprint Review.

×   The keys to creating working product at the end of each Sprint are: ×   A cross-functional Team with all the skills necessary to complete the Sprint

Backlog. ×   Quality User Stories with explicit definitions of Ready and Done. ×   A Product Owner with the ability to prioritize backlog into vertical slices of

functionality.

Page 96: Product Development Using Agile and Lean Principles

Sprint Planning

×   Happens on Day 1 of every Sprint. ×   Decide what user stories will be attempted based on

dependencies, priority, resources, time ×   Define what Done means for this iteration. Checked in

software, tested, documented and demonstrable. ×   Team plans iteration by decomposing user stories into

estimated tasks describing the work that needs to be done to complete the story.

×   Task should be in the order of 1-16 Hrs ×   Everyone agrees on what to do and commits to

completing the work. ×   Team signs up for tasks on Sprint backlog.

Page 97: Product Development Using Agile and Lean Principles

Estimation

×   “The primary purpose of software estimation is not to predict a project’s outcome; it is to determine whether a project’s targets are realistic enough to allow the project to be controlled to meet them.” – Steve McConell

×   Are any two projects same?

Page 98: Product Development Using Agile and Lean Principles

Cone of Uncertainty

Page 99: Product Development Using Agile and Lean Principles

Estimation

http://www.agilenutshell.com/episodes/3-estimation

Page 100: Product Development Using Agile and Lean Principles

Use any measure…consistently

Page 101: Product Development Using Agile and Lean Principles

Literally…just about anything!

Page 102: Product Development Using Agile and Lean Principles

Story Points

×   Agile teams generally prefer to express estimates in units other than the time-honored "man-day" or "man-hour". Possibly the most widespread unit is "story points".

×   One of the chief reasons is the use of velocity for planning purposes. "Velocity", in the sense Agile teams use the term, has no preferred unit of measurement, it is a dimensionless quantity. Velocity allows teams to compute the expected remaining duration of the project, as a number of iterations, each iteration delivering some amount of features.

×   Another important reason has to do with the social and psychological aspects of estimation: using units such as story points, emphasizing relative difficulty over absolute duration, relieves some of the tensions that often arise between developers and managers around estimation: for instance, asking developers for an estimate then holding them accountable as if it had been a firm commitment.

http://guide.agilealliance.org/guide/nuts.html

Page 103: Product Development Using Agile and Lean Principles

Estimation Mainly two forms of estimation ×   Analogous Estimation [T-Shirt Sizing - S,M,L,XL]

×   This Story is like another Story (maybe a little more difficult, maybe a little less)

×   Give this Story a comparable estimated value. ×   Estimate against multiple Stories of the same effort. ×   Analogous estimation is successful due to our inherent ability to better

measure relative size than absolute size. ×   Planning Poker

×   Each estimator is given a deck of cards, each card contains a valid estimate.

×   Fib ––1,2,3,5,8,13,20,301,2,3,5,8,13,20,30 ×   Story is read and discussed briefly ×   Each estimator selects a card that reflects their estimate. ×   Cards are turned over for all to see. ×   Discussion takes place ×   Re-estimate to try to get convergence.

Page 104: Product Development Using Agile and Lean Principles

Planning Poker

Page 105: Product Development Using Agile and Lean Principles

Daily Scrum

http://www.xqa.com.ar/visualmanagement/2009/04/daily-scrum-against-the-board/

Page 106: Product Development Using Agile and Lean Principles

Daily Standup ×  Daily meeting, 15 mins, team members answer

3 questions. ×   What did you do yesterday? Informs team on

completed tasks, dependencies. ×   What will you do today? Informs team on possible

upcoming dependencies, requests. ×   What is blocking you? Helps identify resources to

help unblock tasks after the meeting. ×   Sprint backlog should be updated with

yesterdays tasks prior to meeting ×  Not intended for problem solving, or as a status

meeting. ×   Everyone is invited, but only team members

talk.

Page 107: Product Development Using Agile and Lean Principles

Scrum Task Board

Page 108: Product Development Using Agile and Lean Principles

Sprint Burndown Chart

Page 109: Product Development Using Agile and Lean Principles

http://www.infoq.com/resource/articles/agile-kanban-boards/en/resources/Fig4_DailyBurndown.jpg

Page 110: Product Development Using Agile and Lean Principles

Sprint Review

×   Held on the final day of every sprint ×   Team presents what it accomplished during the

sprint in the form of a demo of new features or underlying architecture.

×   Team also explains what remains undone and why.

×   Should be a very informal meeting where non team members can see what has been accomplished and comment.

×   Demo should foster collaboration about what can and should be done next, providing valuable input into the subsequent sprint planning meeting.

×   Learning's should be taken into retrospective

Page 111: Product Development Using Agile and Lean Principles

Sprint Retrospective

×   Held on the final day of every sprint. ×   Scrum Team ONLY revises, their development process

to make it more effective and enjoyable for the next Sprint

×   Inspect how the last Sprint went in regards to people, relationships, process and tools.

×   Identify and prioritize the major items that went well and those items that-if done differently-could make things even better.

×   Team takes 2-3 items and brainstorms solutions to most important issues

×   Team should agree on actionable improvement measures that it implements for next Sprint.

Page 112: Product Development Using Agile and Lean Principles

Time for break!

Page 113: Product Development Using Agile and Lean Principles

Scrum-based Product Development

Page 114: Product Development Using Agile and Lean Principles

Planning a Family Vacation

Holiday Plan

Map

GPS

Odometer

Speedometer

Eyes

Str

ateg

ic

Dir

ectio

n

Exec

utio

n A

lignm

ent

Vision

Execution Feedback

Goals

Page 115: Product Development Using Agile and Lean Principles

Planning in Agile

Mission

Vision

Portfolio

Product

Release

Sprint

Daily

Organizational Strategy

Agile / Scrum-based Product Development

Page 116: Product Development Using Agile and Lean Principles

Product Runways

Strategic Vision

Set by the CEO / Board and consists of Strategic Direction, Solution Strategy, Technology Initiatives and Themes Reviewed annually as part of annual strategic planning and revised as needed Serves as a strategic input for product vision

Product Vision

High-level overview of product requirements owned by respective POs Acts as true north for the product in long term (3-5 years) Serves as the input for overall product roadmap in medium term (1-3 years)

Product Roadmap

Calls out the high-level themes and release timeline in next 1-3 years Consists of swimlanes (strategic priorities vs. lights on, client requests,vs. competitive intel, technical debt vs innovation ideas,, etc.) Reviewed each quarter by Product Council

Product Backlog

Prioritized list of features identified for the next 1-3 releases Owned and maintained by respective POs based on relative prioritization of each feature request Revised constantly based on evolving inputs and refined weekly in grooming sessions with scrum team

Sprint Backlog

Consists of highest-priority / highest-value features agreed upon for development in the current sprint (1-4 weeks) Product Owner responsible to prioritize the features, while scrum team responsible for planning, estimation, planning, execution and completion of those features in a sprint Once the sprint has started, any new requirements or change request must wait until the next sprint planning

Page 117: Product Development Using Agile and Lean Principles

Adaptive Planning

Pro

du

ct B

ack

log

Pro

du

ct R

oad

map

Sp

rin

t Bac

klo

g

Pro

du

ct V

isio

n Futuristic

picture of the product Based on technology evolution, market development, industry trends, etc. Reviewed annually, and revised as needed

High-level wish list of themes and epics for a long-term Reviewed by Product Council on a quarterly basis Typically revised annually

Prioritized list of Themes, Epics and User Stories Gets constantly revised and groomed on a weekly basis

Well-groomed User Stories Can’t be changed once the sprint is underway

Current Sprint 3-6 months 12-24 months 1-3 years

Sm

all S

tori

es,

Firm

Req

uir

emen

ts,

Lar

ge S

tori

es /

Ep

ics

/ Th

emes

, Fu

zzy

/ Evo

lvin

g R

equ

irem

ents

Page 118: Product Development Using Agile and Lean Principles

Product Management Artifacts

Initi

ativ

es

Epic

s

Them

es

Spri

nt B

ackl

og

Prod

uct B

ackl

og

Prod

uct R

oadm

ap

Prod

uct V

isio

n

Task

s…

Stor

ies

Scen

ario

s

Page 119: Product Development Using Agile and Lean Principles

Product Vision

Shared by All

Desirable and Inspirational

Clear and Tangible

Broad and Engaging

Short and Sweet

Page 120: Product Development Using Agile and Lean Principles

Product Vision – Elevator Pitch

For (target customer)

Who (statement of the need or opportunity)

The (product name) is a (product category)

That (key benefit, compelling reason to buy)

Unlike (primary competitive alternative)

Our product (statement of primary differentiation)

http://www.joelonsoftware.com/articles/JimHighsmithonProductVisi.html

Page 121: Product Development Using Agile and Lean Principles

Product Vision Box

×  As the name suggests…

×  Describes the top 2-3 features of product

Page 122: Product Development Using Agile and Lean Principles

Press Release

×  Amazon’s “working backwards”

×  Write the launch press release!

Page 123: Product Development Using Agile and Lean Principles

http://blogs.salesforce.com/company/2012/06/agile-approach-to-talent-management.html

Agile lifecycle – small picture

Page 124: Product Development Using Agile and Lean Principles

Backlog Grooming

×   Upto 5-10% of sprint time

×   Creating or refining new PBIs

×   Estimating PBIs

×   Prioritizing PBIs

Page 125: Product Development Using Agile and Lean Principles
Page 126: Product Development Using Agile and Lean Principles

Affinity Estimating Guidelines

• If team is already Sprinting, find a small-ish one already completed that was a really good estimate; use that estimate

• Or find a fully understandable story and fully task it out; call it either a 2 or a 3

• Smallest at the right and largest on the left compared to initial story • Anyone can move anyone else’s story position

Page 127: Product Development Using Agile and Lean Principles

Affinity Estimating

127

Page 128: Product Development Using Agile and Lean Principles

Release Planning

Page 129: Product Development Using Agile and Lean Principles

Release Burndown Chart

https://agilewarrior.files.wordpress.com/2013/06/burndown-3-details.png?w=540

Page 130: Product Development Using Agile and Lean Principles

Release Replanning

http://agiledictionary.com/wp-content/uploads/2010/06/releaseburndown.jpg

Page 131: Product Development Using Agile and Lean Principles

Time for break!

Page 132: Product Development Using Agile and Lean Principles

Scrum Simulation

Page 133: Product Development Using Agile and Lean Principles

Objective

Deliver a tourist brochure for martians visiting earth

Page 134: Product Development Using Agile and Lean Principles

Activity Time

Sprint Planning 10 min Sprint – Day 1 7 min Daily Scrum 3 min Sprint – Day 2 7 min Daily Scrum 3 min Sprint – Day 3 7 min Sprint Demo 5 min Sprint Retro 20 min

Page 135: Product Development Using Agile and Lean Principles

Product Backlog Product Backlog Item Order

Create cover art, brand, and/or logo  

Define major topics for Martian tourism

Describe “Art Interests in Europe” tour

Describe a tour based on photosynthesis

Outline a “7 Wonders of the World” expedition

Set prices for the tours

Outline warning messages (gravity, oxygen, fungi, etc.)

Suggest clothing options

Explain travel options to/from Mars Describe a “Human Sports” tour

Outline refund policy  

Suggest related services

Define advertisers

Define a 12-month campaign

Set-up how to get more information

Page 136: Product Development Using Agile and Lean Principles

Feedback

Page 137: Product Development Using Agile and Lean Principles

Q&A