lessons learned in agile oslo - meetupfiles.meetup.com/169191/2010-02-01 - janet...

31
Lessons Learned Implementing Agile Copyright 2010 Janet Gregory, DragonFire 1 Oslo XP Meet-up February 1, 2010 Janet Gregory, DragonFire Inc. With material from Lisa Crispin

Upload: others

Post on 28-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Lessons Learned

Implementing Agile

Copyright 2010 Janet Gregory, DragonFire1

Oslo XP Meet-upFebruary 1, 2010

Janet Gregory, DragonFire Inc.With material from Lisa Crispin

Takeaways

� Symptoms vs.. problems

� Some lessons learned (5 to be exact)

� How to recognize some common problems

� Practical steps you can take today

Copyright 2010 Janet Gregory, DragonFire2

� Practical steps you can take today

3.. But, first a bit of agile so everyone is on the

same page

Copyright 2010 Janet Gregory, DragonFire

Agile is a term to describe methodologies that:

• have short iterations

• encourage active customer participation

• demand whole team collaboration

• test features as they are coded

Copyright 2010 Janet Gregory, DragonFire

• test features as they are coded

• deliver business value at regular intervals

• adapt their processes based on feedback

3and so on3333.

Are you solving a problem or a symptom?

• Question -- What is the real problem?

Copyright 2010 Janet Gregory, DragonFire

• Question -- What is the real problem?

• Ask ---Why, why, why, why....and why?

• Use experts

• Too many times we solve the wrong thing

• Use retrospectives to identify symptoms

What is the

real

problem?

Copyright 2010 Janet Gregory, DragonFire

Problem 1: Agile Doesn’t Work

Teams call it agile, and say it doesn’t work.

Start by questioning 3

Copyright 2010 Janet Gregory, DragonFire

• Do they understand the values and practices

or take the myths as reality?

Are You Doing Agile? How Do You Know?

Questions I ask...

• How big are your iterations?

• Do you have continuous integration?

• Are your stories “done” at the end of an

iteration?

Copyright 2010 Janet Gregory, DragonFire

iteration?

• What does “done” mean to you?

• Do you have a potentially shippable product

every iteration?

• Are your regression tests automated?

Before you claim you are doing agile, 3

� Really understanding what agile means

� Ask experienced people

� Follow critical practices

� Short iterations (feedback) – 2 weeks

Copyright 2010 Janet Gregory, DragonFire9

� Short iterations (feedback) – 2 weeks

� Potentially shippable product every iteration

� Continuous integration

� Collaborate: testers, programmers, customers

Problem #2 Your team structure didn’t change

Copyright 2010 Janet Gregory, DragonFire

Symptoms

� Still have functional silos (test team)

� Not everyone participates in planning

sessions

� Testers don’t understand the stories

Copyright 2010 Janet Gregory, DragonFire11

� Testers don’t understand the stories

Encourage the Whole Team Approach

� The team committed to testing, quality

� The team solves problems

� All team members participate in planning

sessions

Copyright 2010 Janet Gregory, DragonFire12

� Anyone can do any task

� “Power of 3”

Acknowledge training needs

• Changed roles

– Functional managers, testers,

programmers, customer

• Agile principles

Copyright 2010 Janet Gregory, DragonFireCopyright 2008 Lisa Crispin and Janet Gregory

13

• Agile principles

• Communication strategies

• New testing terminology

Focus on synergy, strengths, competencies

Copyright 2010 Janet Gregory, DragonFire

Problem 3: Practicing Mini-Waterfall

� Your testing is at the end of the iteration or..

� in the next iteration

Copyright 2010 Janet Gregory, DragonFire15

Symptoms

• Stories are not “done”

• Your team has defined “done-done”

• Bugs are left until later to fix

• Testing feedback is too late to change

Copyright 2010 Janet Gregory, DragonFire

• Testing feedback is too late to change

anything

Try 3

• Breaking stories up smaller (<3 days)

• Learn to slice the stories vertically

• Create feature teams

– rather than component teams

Copyright 2010 Janet Gregory, DragonFire

– rather than component teams

• Define acceptance tests during planning

• Give tests to programmers before coding

starts

Automate your regression testing to enable you to

do more exploratory testing.

Copyright 2010 Janet Gregory, DragonFire

Mike Cohn’s Test Automation Pyramid

Problem 4:

Forgetting the Big Picture

Copyright 2010 Janet Gregory, DragonFire

Symptoms

• Find integration issues late in the release

– Only testing stories individually

• Adding extra code to initial story

• Adding new stories to complete the picture

Copyright 2010 Janet Gregory, DragonFire

• Adding new stories to complete the picture

• Forgetting the initial goal

Try ...

• ATDD - to develop the ‘right thing’

(Acceptance Test Driven Development)

• Feature level acceptance tests

– Not just story acceptance tests

Copyright 2010 Janet Gregory, DragonFire

– Not just story acceptance tests

• Story Mapping http://www.agileproductdesign.com/blog/the_new_backlog.html

• Personas

– Jeff Patton or David Hussman

Problem 5: Complacency

Copyright 2010 Janet Gregory, DragonFire

Or Stress, panic

Copyright 2010 Janet Gregory, DragonFire

Recognize complacency or panic when3

• Old habits resurface

• New people influence your process

negatively

– Ex. you start building requirements documents

Copyright 2010 Janet Gregory, DragonFire

– Ex. you start building requirements documents

again

• Forget to keep the code clean

• Forget to keep the tests running green

Focus 3..

• Instil a learning organization mentality

• Shu Ha Ri

• Make the process visible

• Make the metrics visible

Copyright 2010 Janet Gregory, DragonFire25

• Make the metrics visible

• Understand the why behind the process

• Have a coach who is monitoring the process

• Use your retrospectives to find problems

• Are you solving the

real problem? .........

• Or making it worse?

Copyright 2010 Janet Gregory, DragonFire

The problems we talked about

1. Calling it agile

2. Practicing mini-waterfalls

3. Team structure didn’t change

4. Forgetting the big picture

Copyright 2010 Janet Gregory, DragonFire

4. Forgetting the big picture

5. Complacency or panic

Whole Team

Participation

Automate Regression Tests

Collaboration

Copyright 2010 Janet Gregory, DragonFire28

Provide Feedback

Practice, prevent complacency

Collaboration

Be involved

Now Available

Agile Testing: A Practical Guide

for Testers and Agile Teams

By Lisa Crispin and Janet Gregory

www.agiletester.ca

Copyright 2010 Janet Gregory, DragonFire29

www.agiletester.ca

My contact info

www.janetgregory.ca

http://janetgregory.blogspot.com/

[email protected]

Agile Resources

• www.lisacrispin.com

[email protected]

• www.testobsessed.com

• vwww.mountaingoatsoftware.com – Mike Cohn’s web site

(and all his books)

• Mary Poppendieck and Tom Poppendieck, Lean Software

Copyright 2010 Janet Gregory, DragonFire

• Mary Poppendieck and Tom Poppendieck, Lean Software

Development, Addison-Wesley (series of 3)

• Jean Tabaka, Collaboration Explained, 2006 Addison-Wesley

• http://www.agileproductdesign.com/ Jeff Patton

• http://www.devjam.com/ David Hussman

• Agile Manifesto: http://agilemanifesto.org/

Let’s talk about your problems ?

Copyright 2010 Janet Gregory, DragonFire