agile explained by leandog

75
Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. Agile Explained 1 Twitter: @jonRstahl www.jonstahl.com

Upload: leandog

Post on 03-Nov-2014

19 views

Category:

Technology


0 download

DESCRIPTION

We use this slide deck to explain the Agile practices that we teach. This is what we call our "Agile Buffet", you don't have to adopt all of these practices but you should understand them so that you can use them as necessary. We are always modifying this presentation, so if you want the most current one, contact us.

TRANSCRIPT

Page 1: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

Agile Explained

1

Twitter: @jonRstahl www.jonstahl.com

Page 2: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

[email protected]

Co-Founded 1 Year Ago

Grew up in Pittsburgh, in Clev last 18 years

BS in CIS + Econ Minor

@jonRstahl

Page 3: Agile Explained by LeanDog

What is Agile? Term “Agile Methods” adopted in 2001

Representatives from Extreme Programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming

Sympathetic to the need for an alternative to documentation driven, heavyweight software development processes

Experts gather a ski resort in Utah Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas

Values and Principles !!!!!

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 3

Page 4: Agile Explained by LeanDog

Agile Manifesto

Things on the right are important - Things on the left are more important

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

Individuals & Interactions over Process & ToolsWorking Software over Comprehensive DocumentsCustomer Collaboration over Contract NegotiationResponding to Change over Following a Plan

Individuals & Interactions over Process & ToolsWorking Software over Comprehensive DocumentsCustomer Collaboration over Contract NegotiationResponding to Change over Following a Plan

We are uncovering better ways of developing software by doing it and helping others do it.Through this work we have come to value:

4

Page 5: Agile Explained by LeanDog

Some of the Agile Principles Deliver software in short increments

Expect and encourage change

Constant collaboration with customer

Continuous attention to technical excellence

Simplicity

Self organizing teams

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 5

Page 6: Agile Explained by LeanDog

Leandog Studies…

Scrum

eXtreme Programming

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

Lean

Group Dynamics

6

Page 7: Agile Explained by LeanDog

eXtreme Programming (XP) Values

Simplicity

Communication

Courage

Feedback

Respect

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 7

Page 8: Agile Explained by LeanDog

Business Analyst

Story Card Creation*Story Card Elaboration*

Low-Fidelity PrototypingAcceptance CriteriaFunctional Testing

Card Tracking System

Quality Assurance

Test Plan CreationManual TestingAutomated Regression TestingExploratory TestingDefect Tracking

Engineer

Simple & Evolutionary DesignTest Driven Development

Continuous IntegrationPaired Programming

Technical DebtSpikes

Iteration Manager

Team FacilitatorDemand Management*Release Planning*Iteration Planning*Card Tracking SystemVelocity

* Customer Collaboration

ConceptsWhole Team

Open WorkspacePoly-Skilling

Sustainable PaceBig Visible Charts

Frequent ReleasesStory Card Wall

Kanban

ProcessDaily Stand Up

Iterations / SprintsIteration Planning*

Show & Tell*Retrospectives*

Release Planning*Estimation*

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

“Do not develop an attachment to any one weapon or any one school of fighting.” - Miyamoto Mushashi, 17th century Samurai

“Do not develop an attachment to any one weapon or any one school of fighting.” - Miyamoto Mushashi, 17th century Samurai

Page 9: Agile Explained by LeanDog

Clear communication is the foundation

“I’m glad we all agree.”

9Source: Thoughtworks

Page 10: Agile Explained by LeanDog

Get those mental models out on the table

“Ah...”

10Source: Thoughtworks

Page 11: Agile Explained by LeanDog

An explicit model allows convergence through iteration

“Ah!”

11Source: Thoughtworks

Page 12: Agile Explained by LeanDog

A genuinely shared understanding

“I’m glad we’re all agreed then.”

12Source: Thoughtworks

Page 13: Agile Explained by LeanDog

Customer Collaboration In Agile the customer

drives everything Requirements Prioritization Review of work completed

Not always possible to have customer on site Should have customer

surrogate

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 13

Page 14: Agile Explained by LeanDog

ConceptsWhole Team

Open WorkspacePoly-Skilling

Sustainable PaceBig Visible ChartsFrequent Releases

Story Card WallKanban

ProcessDaily Stand Up

Iterations / SprintsIteration Planning*

Show & Tell*Retrospectives*

Release Planning*Estimation*

CONCEPTS

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 14

Page 15: Agile Explained by LeanDog

Whole Team All skills necessary for project to succeed should

be on the team

Team composition should be dynamic

The team must be self empowered The right people in the right seats They are led, not managed They communicate and collaborate continuously They are accountable for the results

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 15

Page 16: Agile Explained by LeanDog

Whole Team

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

Small Large

Developers 7 12

Business Analysts 2 3

Quality Assurance 2 3

Iteration Manager 1 2

12 20

Scrum says max size is 7 people

We believe in pairing in all roles

Thoughtworks model

16

Page 17: Agile Explained by LeanDog

Open Workspace Facilitates constant

communication

Builds the sense of team

Should be set up for pairing

Parents Ear: Silence or kicking/screaming = bad

Lose the sensory deprivation chambers

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

Note: This is the hardest practice to adopt, but most rewarding when done.

17

Page 18: Agile Explained by LeanDog

Poly Skilling & Sustainable Pace

• Poly-Skilling / Cross Training / Avoid Silos• Pairing• Queue Limits (Kanban)• Sign up for work

• Sustainable Pace• Hard 40 hours, maintainable pace• Throughput consistency• Avoid mistakes• Card process and limited WIP support this

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 18

Page 19: Agile Explained by LeanDog

Big Visible Charts Information radiators, transparency

Should include: Story card wall Road block board Burn Down Charts QA status Production stats Retrospective items

Should also include anything necessary to keep team and customer informed on status and progress

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 19

Page 20: Agile Explained by LeanDog

Frequent ReleasesDone means Automated Testing CompletedEvery iteration close should be very close to

releasableMay need to do some extra integration & stress

testingCustomer decides when to “pull” releaseLarge Releases = High RiskRelease is most important form of feedback &

Business Value IncrementallyValue is realized sooner

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 20

Page 21: Agile Explained by LeanDog

Story Card WallWork in progress, Card is “currency”, must be physicalMust be readable to outside

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 21

Page 22: Agile Explained by LeanDog

Kanban Kan means "visual,"

and ban, means "card" or "board”

Uses cards to signal the need for an item.

3 Rules: Visible, Strict Queue Limits, Pull Value

Measure time for each card size to flow through all steps

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 22

Page 23: Agile Explained by LeanDog

ConceptsWhole Team

Open WorkspacePoly-Skilling

Sustainable PaceBig Visible ChartsFrequent Releases

Story Card WallKanban

ProcessDaily Stand Up

Iterations / SprintsIteration Planning*

Show & Tell*Retrospectives*

Release Planning*Estimation*

PROCESS

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 23

Page 24: Agile Explained by LeanDog

Daily Stand Up Meetings Team communicates status of its work on a daily

basis

Team members report: What they did yesterday What they are going to do today Any concerns or road blocks they are facing

Each update is very brief

15 minutes for whole team

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 24

Page 25: Agile Explained by LeanDog

Daily Stand Up Meetings They reduce the need for full blown team

meetings

They encourage accountability because team members are aware of all work going on

They allow for mid-course corrections

The encourage the team to solve problems on their own

Managers hear about road blocks early

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 25

Page 26: Agile Explained by LeanDog

Iterations 1 to 2 weeks iterations/sprints

A short (1 to 2 hour) Iteration Planning Meeting kicks off each new iteration. Close the previous

Review cards completed Review current velocity Conduct show & tell Hold retrospective

Open/Start the new Available work hours and set velocity target Review business intent for new cards Re-estimate cards if necessary Determine what fits into this iteration Sign up for cards

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 26

Page 27: Agile Explained by LeanDog

Retrospectives

Designed to help a team find ways to improve what they do

Should be held at each IPM

What worked? What didn’t work?

Team votes if items discussed during the retrospective should become cards to be played in the coming iteration

Courage, Communication, Respect

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 27

Page 28: Agile Explained by LeanDog

Kaizen & Muda

Road BlocksNot Started

In Progress DoneWorked

Could Be Better

Retrospective

28

Page 29: Agile Explained by LeanDog

Story Card EstimationEstimated as T-Shirt Sizes:

Extra Small < 1 Day 1 Unit Small 1 – 2 days 2 Units Medium 3 – 4 days 4 Units Large 5 – 6 days 8 Units Extra Large 7 – 10 days 16 Units (Never!)

Coding Estimate Only

Assumes relative complexity correlates to analysis & QA effort

Sizing! – Therefore we talk in units!

Ideal day estimates, we will measure what reality is

Each size is double the size of the previous

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 29

Page 30: Agile Explained by LeanDog

Poker Planning All Developers take a set of cards

Take the team average

Do it fast, do it often

“Cheap” to do

Things always change (people, systems, customer vision)…

Therefore estimates should too

Adaptive, not predictive!

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 30

Page 31: Agile Explained by LeanDog

Business Analyst

Story Card Creation*Story Card Elaboration*

Low-Fidelity PrototypingAcceptance CriteriaFunctional Testing

Card Tracking System

Quality Assurance

Test Plan CreationManual TestingAutomated Regression TestingExploratory TestingDefect Tracking

Engineer

Simple & Evolutionary DesignTest Driven Development

Continuous IntegrationPaired Programming

Technical DebtSpikes

Iteration Manager

Team FacilitatorDemand Management*Release Planning*Iteration Planning*Card Tracking SystemVelocity

* Customer Collaboration

ConceptsWhole Team

Open WorkspacePoly-Skilling

Sustainable PaceBig Visible Charts

Frequent ReleasesStory Card Wall

Kanban

ProcessDaily Stand Up

Iterations / SprintsIteration Planning*

Show & Tell*Retrospectives*

Release Planning*Estimation*

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

“Do not develop an attachment to any one weapon or any one school of fighting.” - Miyamoto Mushashi, 17th century Samurai

“Do not develop an attachment to any one weapon or any one school of fighting.” - Miyamoto Mushashi, 17th century Samurai

Page 32: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 32

Product Owner / Business Analyst

Story Card Creation*Low-Fidelity Prototyping*

Acceptance TestsProgressive Elaboration*

Value Stream MappingPersonas

Card Tracking Process

Page 33: Agile Explained by LeanDog

Story Card Creation They are the unit of

deliverable for an Agile team

They are a sentence or two describing a set of new functionality

Must be testable and should include acceptance criteria

The details are elaborated via conversation between the customer, developer and QA

Start of a conversation

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 33

Page 34: Agile Explained by LeanDog

Low Fidelity Prototypingmore likely to give constructive feedback about

the important aspects of the UX than if they were presented with a high-fidelity prototype or near complete version of the software

Light weight, no tools, fast

Build the software and let them touch it

Adapt

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 34

Page 35: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 35

Page 36: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 36

Page 37: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 37

Page 38: Agile Explained by LeanDog

Acceptance TestsDefines test BA would need to complete in order to

sign off on the card

Two formats to choose fromSimple

38

Story: Adjust search radius

As a customerI need to adjust the search radiusSo I can increase or decrease the number of search results

Acceptance Criteria

• Restrict customer to selecting 10,20,30, and 40 miles• If no customers in that radius, show message stating no agents

found• If more than 15 agents, show all agents in radius

See mockup #2

Page 39: Agile Explained by LeanDog

Acceptance Testing“Given When Then” PatternUse if you plan to use behaviour driven development

tools such as Cucumber, JBehave, etc.

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 39

Page 40: Agile Explained by LeanDog

Additional Story Card ArtifactsShould include Acceptance Tests

Might includeScreenshot

Formulas with Inputs and Outputs

Workflow rules

40Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

Page 41: Agile Explained by LeanDog

Progressive Elaboration

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 41

Page 42: Agile Explained by LeanDog

Value Stream Mapping Flow of activities that starts with a customer in need

and ends when the need is satisfied

Problem ------ Value Stream ----- Solution

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 42

Source: Michael Nygard http://www.michaelnygard.com/blog/2008/02/ Great read on value stream of Waterfall vs. Agile

Page 43: Agile Explained by LeanDog

Persona Example

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 43

Frances Miller

Sixty-seven year-old Frances is the mother of four children and the grandmother of twelve.  She lives in her own home, bakes a pie once a week so that she has something to serve for Sunday visitors (usually one of her children and their immediate family), and has two cats.  The cats’ names are Fred and Wilma, names given to them by four-year old grandson Bobby.  She likes to knit and do needlework, which she either gives away as presents to her family or donates to the annual sale to raise money for the church she belongs to.

Every morning she goes for a one hour walk along the lake front when the weather is good.  On bad days she’ll go with her neighbor to the local mall where a group of senior citizens “Mall Stroll” each morning before sitting down at one of the restaurants for coffee or tea.  For breakfast Frances prefers a cup of Earl Grey tea and two slices of whole-wheat toast with her own home-made preserves.  Lunch is typically a bowl of soup or a sandwich and then she’ll have the opposite for dinner.

She is a middle-class retiree living on a fixed income.  Her mortgage has been paid off and she has one credit card which she seldom uses.  She has been a customer of the bank for 57 years although has never used an automated teller machine (ATM) and never intends to.  She has no patience for phone banking and does not own a computer.  Every Monday at 10:30 am she will visit her local bank branch to withdraw enough cash for the week.  She prefers to talk with Selma the She prefers to talk with Selma the branch manager or with Robert, a CSR who was a high-school friend of her oldest son.

Source: Scott Ambler http://www.agilemodeling.com/artifacts/personas.htmGreat read!

Page 44: Agile Explained by LeanDog

Personas You don't "make up" personas,

but instead discover them as a byproduct of your requirements investigation

Write specific personas: you will have a much greater degree of success designing for a single person

The "generic user" will bend and stretch to meet the moment, but your true goal should be to develop software which bends and stretches. 

Your personas should "wiggle" under the pressure of developmen

You want to know what the persona's goals are so that you can see what your system needs to do, and not dot

Sometimes you want to identify negative personas, people that you are not designing for.A primary persona is someone who must be satisfied but who cannot be satisfied by a user interface that is designed for another persona.

 If you identify more than three primary personas your scope is likely too large.

You want a finite number of personas, your goal is to narrow down the people that you are designing the system for. 

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 44

Alan Cooper, The Inmates are Running the Asylum

Page 45: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

Card Tracking Systems

45

Page 46: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 46

Scrum Master / Iteration Manager

Demand Management*Product Backlog* Release Planning*Sprint/Iteration Planning*Show & Tell*Retrospectives*Velocity/Cycle TimeCard Tracking Process

Page 47: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 47

Page 48: Agile Explained by LeanDog

Product Backlog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 48

Always lists items adding value for the customer.Includes functional requirements and non-functional requirements.

Cannot include concrete low level tasks and requests for building the intermediate artifacts.

Utilizes the simplest and the most effective way for prioritizing requests - a simple list.

Such a method does not allow for having 100 absolute max priority features and forces the product owner to actually make decisions about the feature priorities.

The higher the items are located on the product backlog, the more detailed they are.

Does not typically include the detailed requirement information.

Ease of use, clear and transparent purpose is what makes the product backlog so useful for seeing into the project status.

Page 49: Agile Explained by LeanDog

Release Planning Large Sheets of paper

Each sheet represents one iteration

Put “guessed” velocity in units at top

Begin to lay out cards in feature importance order

Cannot go over unit limit

When done, tape cards down

Enter into Story Card management system

Produce burn down charts

The team should review plan and ask the following questions…

Enough work for all pairs?

Any pairs stepping on others?

We should play highest risk cards first, are we?

Do we have the most valuable features coming out first?

Any dependencies we are missing?

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 49

Page 50: Agile Explained by LeanDog

Release Planning

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 50

Page 51: Agile Explained by LeanDog

Iteration/Sprint Planning

Sprint/Iteration CloseShow & TellReview VelocityRetrospective

Sprint/Iteration OpenTarget VelocityReview CardsSign Up for Work

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 51

Page 52: Agile Explained by LeanDog

Show & TellMini UAT of software for Customer

Developers usually drive

Team gets to hear customer feedback

Team “see’s the whole” of the software, stays in synch

Customer can prioritize changes immediately

Accountability to customer and satisfaction

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 52

Page 53: Agile Explained by LeanDog

RetrospectivesHelp develop continuous improvement cycle

Should be held every iteration, in IPM is ideal, have as frequent as necessary

Make action items visible

Ensure courage, communication and respect are adhered to

Basic FormatWhat didn’t work or was confusingWhat workedDetermine if any changes should be made in next

iteration, create a card for this and get business buy in

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 53

Page 54: Agile Explained by LeanDog

VelocityTrack number of units completed in an iteration

Yesterday's weatherBest estimate of what you can complete in the current iteration is what you completed in previous iteration

Plan using trailing average, 3 two week iterations

Estimate time based on velocity

54Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

Page 55: Agile Explained by LeanDog

Cycle Time (Kanban)

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 55

Page 56: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

Developer

Collective Code OwnershipContinuous Integration

Simple & Evolutionary DesignPaired Programming

Test Driven DevelopmentTechnical Debt

Spikes

56

Page 57: Agile Explained by LeanDog

Collective Code Ownership Any developer can change any piece of code at

any time

Necessary to support continuous integration

Helps to eliminate “specialization” within systems

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 57

Page 58: Agile Explained by LeanDog

Continuous Integration Integration is a risky time for any project

Agile teams mitigate this risk by doing integration all of the time

Should happen at each developer check in (several times per day)

Software is built and all automated unit tests are run against the build

Dependencies are resolved and full integration takes place

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 58

Page 59: Agile Explained by LeanDog

Simple & Evolutionary Design

The system is not designed up front – instead the system is designed at all times to support current application needs

Emphasis is placed on simple architectures and designs that provide adaptability to change

Simple designs also allow teams to have increased velocity as they are spending a greater percentage of their time providing customer value

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 59

Page 60: Agile Explained by LeanDog

Paired Programming Build quality in with constant collaboration and

code review

Increase productivity due to two minds solving a problem

Knowledge moves across team more quickly

Ensure best practices are followed

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 60

Page 61: Agile Explained by LeanDog

Test Driven Development Developers write a test prior to writing application

code

Tests ARE documentation, never stale, mirror logic

Places more emphasis on testing and quality during development

Reduces the number of defects that make it to QA

Simplifies design of application due to small incremental coding steps

Tests allow for fearless refactoring of system – it’s a instant feedback loop!

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 61

Page 62: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 62

Page 63: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 63

Page 64: Agile Explained by LeanDog

Technical Debt Every system has debtDon’t hide it, make it visibleAvoid “Cowboy Spaghetti” problems! --->Don’t pay debt – go bankruptAll debt should be justified as business value (VSAM)

Velocity/Cycle TimeScalabilityAvailabilityMaintainability

Anything that makes code hard to changeSloppy / Un-testable codeDependencies (high cohesion & low coupling are

essential for testable code)

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 64

Page 65: Agile Explained by LeanDog

Spikes

Football = quick, stop clock, assess situation

Mitigate Risknever done it, don’t

knowjust too large

Estimate the spike like anything else

Discovery

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 65

Page 66: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

C#/.NET Developer Tools

Start

Write a Failing Test

Write code to make it pass

Stop

Continuous Integration

Test Driven Development

Refactoring

Can’t think of any more tests

Team City

ReSharper

Refactor

66

Page 67: Agile Explained by LeanDog

Quality Assurance

Test Plan CreationManual TestingAutomated Regression TestingExploratory TestingDefect Tracking

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 67

Page 68: Agile Explained by LeanDog

Testing Quadrants

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 68

Page 69: Agile Explained by LeanDog

Automated Regression Testing Agile teams deliver working software at the end of

each iteration

QA team must perform full regression test each iteration as well as testing new functionality

Usually not possible without Automation

QA should: Write manual test plan during story card

elaboration Execute manual test plan when story is ready Once manual test passes automated test should be

created and added to test suiteConfidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 69

Page 70: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

Automated Regression Testing•Record & Play •Frees QA to focus on more testing tasks•Enables complete regression testing cycle•Shortens regression testing cycle time from weeks to hours

Selenium

Quick Test Pro

Watir

70

Page 71: Agile Explained by LeanDog

The End Game

Be adaptive, be transparent, seek to

eliminate waste, value people above

all else

Live the values & principles!

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 71

Page 72: Agile Explained by LeanDog

How well does it work?The benefits most widely cited by the

participants:

93% Enhanced ability to manage changing priorities

83% Improved project visibility

74% Increased productivity

74% Improved team moral

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 72

Survey of 2319 companies taken in 2008

Page 73: Agile Explained by LeanDog

Some Good Reads

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 73

Page 74: Agile Explained by LeanDog

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission.

“The pessimist complains about the wind; the optimist expects it to change; the realist adjusts the sails.” - William Arthur Ward

Fire Away! ;)

QUESTIONS only please

74

Page 75: Agile Explained by LeanDog

Engagement with LeanDog

Software Delivery

Jump Start Programs

Trainers

Coaches

Practitioners

Confidential. Copyright 2009 LeanDog, Inc. All rights reserved. Do not copy or distribute without permission. 75