lessons learned in agile oslo - meetupfiles.meetup.com/169191/2010-02-01 - janet...
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
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
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
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
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
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
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/
Agile Resources
• www.lisacrispin.com
• 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/