35
Automation Culture: Essential to Agile Success Agile Austin Geoff Meyer, [email protected] October 2013 Last updated: September 29, 2013

Automation Culture: Essential to Agile Success Agile Austin

  • Upload
    awena

  • View
    89

  • Download
    2

Embed Size (px)

DESCRIPTION

Automation Culture: Essential to Agile Success Agile Austin. Geoff Meyer, [email protected] October 2013. Last updated: September 29, 2013. Session Objectives. Challenges to expect when adopting test automation during your Agile transition - PowerPoint PPT Presentation

Citation preview

Page 1: Automation Culture: Essential to Agile Success Agile Austin

Automation Culture:Essential to Agile SuccessAgile Austin

Geoff Meyer, [email protected] 2013 Last updated: September 29, 2013

Page 2: Automation Culture: Essential to Agile Success Agile Austin

Session Objectives• Challenges to expect when adopting test

automation during your Agile transition• Practical solutions to what & when to

automate• Real-world examples − from a large

organization perspective• Challenges automating in a HW-dependent

environment• For organizational leaders driving test

strategy

• A Tools Discussion• Focused on how to develop Test Automation

IS

IS NOT

Page 3: Automation Culture: Essential to Agile Success Agile Austin

Introductions

3

Page 4: Automation Culture: Essential to Agile Success Agile Austin

4

Geoff Meyer• Dell Inc, 1998 – present

– Test Architect› Agile Test & Automation Strategy

– Agile Steering Committee Co-Chair– Global Projects

› 15 Scrum teams (2 regions)› 11 Scrum teams (4 regions)› 9 scrum teams (2 regions)› 7 Scrum teams (4 regions)

• NCR Corp. 1984 – 1998– SW developer, Project Lead, SW Manager

• B.S. Computer Science, San Diego State University• Masters Engineering Management - NTU

Page 5: Automation Culture: Essential to Agile Success Agile Austin

5

Agenda• Why Automation is essential to Agile• The Dell Context and Agile @ Dell• Challenges and Common Pitfalls• The Automation Landscape• Foundations of an Automation Culture• Care and Feeding of the Automation Culture

Page 6: Automation Culture: Essential to Agile Success Agile Austin

The Need,

The Challenge,

The Pitfalls

6

Ø

Page 7: Automation Culture: Essential to Agile Success Agile Austin

Why is Automation So Important in Agile?• Near-term

– Ensures that you don’t break what you just built– Provides safety net for developers & rapid feedback to new

changes– Continuous Integration and use of Build Verification Test (BVT)

• Long-term– Maximizes velocity of Scrum team (increased value

creation)– Creates capacity for Exploratory and ad-hoc Testing– Enables activities that can’t be done cost-effectively by

humansAnd if you don’t…Quality is at risk from an unmanageable regression suite

Page 8: Automation Culture: Essential to Agile Success Agile Austin

Differences with Automation in Waterfall?In Waterfall…• Automated tests are derived from the backlog of

completed features– In Agile, Automation can be incorporated in the

requirement

• Testing and automation is performed after Development is “complete”• Focus is on first-time discovery of defects and

optimizing your test coverage

vs. Agile… where automation development is ongoing and provides immediate feedback throughout development

8

Page 9: Automation Culture: Essential to Agile Success Agile Austin

9

The Context @ Dell

http://amazngwallpapers.blogspot.com

“Apply Test Automation in the context of your organizational automation needs”

--- Bob Galen, Agile Coach

Page 10: Automation Culture: Essential to Agile Success Agile Austin

10

Dell Enterprise Solutions GroupGlobal Design and Development using Agile Scrum

Noida Design Center

Bangalore Design Center

Austin Design Center

Silicon Valley Design Center

Page 11: Automation Culture: Essential to Agile Success Agile Austin

11

Dell Enterprise SolutionsSoftware Products• Server Systems Management• Converged Infrastructure Systems Management• Private Cloud Systems Management• Console Plug-ins (i.e. for SCCM, vCenter…)

Common Product Characteristics:• Large hardware support test matrix• Software is installed in the Data Center• Enterprise update cycles ~6 months• Products must function even as underlying HW,

FW, BIOS, and Drivers are upgraded - SUSTAINING

Page 12: Automation Culture: Essential to Agile Success Agile Austin

Agile @ Dell Roles/Responsibilities

12

Product Owner

Product Owner Proxy~1 per Scrum

Scrum Master1 per Scrum

Development4-5 per Scrum

Test3:1

Tech Pubs1 per 3 scrum teams

UI1 per Scrum

Scrum teams

• Small teams• Co-located• Distributed

Projects• Teams formed

from functional silos

Page 13: Automation Culture: Essential to Agile Success Agile Austin

13

Agile @ Dell with Adaptations

Hardening

1 2 3 N-1 N

1 2 3 N-1 N1 2 3 N-1 N

Release

Exit

FeatureComplet

eCode FreezeSprints

Release Plan

Define Plan Develop LaunchOLP

Software System Test

Extended Sprint Test

Stability

Page 14: Automation Culture: Essential to Agile Success Agile Austin

Pitfalls encountered at• Development didn’t historically automate unit tests• Build teams were staffed with non-Build practitioners• Minimal guidance to Test beyond “Go forth and

automate”

14

• Black Box Test Mentality• Architecture(s) not

optimized for Automatability• Automation was

interpreted by many as “Automate the UI”• Insufficient SW

engineering background across Test teams

Page 15: Automation Culture: Essential to Agile Success Agile Austin

Which Resulted In…• Over-emphasis on UI automation• Test Automation not keeping up within the

sprint• Feature Devotion1

• Multiple automation tools & licenses• Test scripts not designed for re-use

15

1 – “A nasty condition where people start valuing ticking off features more than tracking the real outcome of the project.”--- Martin Fowler

Page 16: Automation Culture: Essential to Agile Success Agile Austin

16

The Automation Landscape

http://amazngwallpapers.blogspot.com

Page 17: Automation Culture: Essential to Agile Success Agile Austin

Opportunities for Automation• It’s not just about automating test cases

• Can also provide efficiencies to:– Test Preparation, Setup and Configuration– Non-Functional Testing (“ility”)

› Longevity, Scale and Performance Characterization

– Compatibility Testing (Solution and Device)

17

Page 18: Automation Culture: Essential to Agile Success Agile Austin

Test Preparation

• Bare-metal Deployment• Setup & Configuration

– OS Provisioning and Configuration

• Test case staging• Environment

Cleanup/Baseline• Virtualization-based test

environments

18

Page 19: Automation Culture: Essential to Agile Success Agile Austin

Test Content DevelopmentWhole team ownership of QA & Automation

• UI automation on Customer Usage workflows

19

CAUTION: Application Architecture can be an enabler or inhibitor

• Unit Test Automation

• In-Sprint, Automated Acceptance Tests• Web-services (or CLI) Test

Automation for Functional Testing• Automated CI (UT, Build,

BVT)

2 - Agile Testing: A Practical Guide for Testers and Agile teams

2

Page 20: Automation Culture: Essential to Agile Success Agile Austin

20

Application Architecture Matters• Does it facilitate testing at the API/Services level?• Does the Business/Error Logic reside below the

services level?• Does the UI architecture support test automation

other than record-playback?

For Large organizations:– Standardize UI architectures across the product portfolio

› HTML5, Flex, Silverlight…– Standardize Service architectures across the product

portfolio› SOAP, REST, CLI, API

Page 21: Automation Culture: Essential to Agile Success Agile Austin

Prioritize and Identify what NOT to Automate

What NOT to Automate• Everything• GUI – Except for High-value customer usage flows

after the UI is stable• Tests that would only find low severity bugs

– Where the product is unchanging21

Prioritize High ROI1. BVT Candidate Acceptance Test

– Test of core functionality that executes in a short duration2. Core Functionality to be run in Nightly Regression3. Sustaining Test Candidate Test

– Functional test that verifies the application can withstand subsystem changes

Page 22: Automation Culture: Essential to Agile Success Agile Austin

Non-Functional Testing• Performance Characterization• Longevity• Stress• Scale• Concurrency

22

Often times analysis of these areas are simply too cost-prohibitive to be done manually3- http://lisacrispin.com/wordpress/2011/11/08/using-the-agile-testing-quadrants/

3

Page 23: Automation Culture: Essential to Agile Success Agile Austin

23

Foundations of an Automation Culture

Images.yahoo.com

Page 24: Automation Culture: Essential to Agile Success Agile Austin

Keys To A Culture Transition• Development vs. Test• A different “School” of Test4

• Evolve from Functional Responsibility …to Whole Product Ownership

244 – Scott Barber “Approaches to Software Testing: An Introduction “

Page 25: Automation Culture: Essential to Agile Success Agile Austin

25

Establishing an Automation Culture• Identify• Near and long-term automation focus areas• Inventory the culture and skillset of organization

• Establish– Tooling and Infrastructure Standardization– Your ‘community’

• Develop– Workforce transition plan

• Organize– Embedded vs. Specialized Automation team– Re-align project staffing

• Operationalize

Page 26: Automation Culture: Essential to Agile Success Agile Austin

26

IdentifyFocus Areas for Automation

4 - http://lisacrispin.com/wordpress/2011/11/08/using-the-agile-testing-quadrants/

4

Page 27: Automation Culture: Essential to Agile Success Agile Austin

Establish• Tooling and Infrastructure

– Tooling Standards and Frameworks– Team to develop/manage home-grown tools– Lead tool evaluations to meet new architectures

& technologies

• Community: Internal and External27

Multiple automation Tools/FW’s may be needed to automate at layers of testing:

• Unit level• Middle tier• UI-driven

Page 28: Automation Culture: Essential to Agile Success Agile Austin

Confidential28

Develop & Organize• Adjust Hiring Practices• Re-align Project staffing• Embedded Automation vs. Specialized Team• Training

– New-hire– Ongoing

Page 29: Automation Culture: Essential to Agile Success Agile Austin

29

Operationalize• Whole team commitment in words and

actions• Include Test Automation in Acceptance

Criteria– Unit – Acceptance

• Continuous Integration and BVT• Establish Metrics, Governance & Rewards

Page 30: Automation Culture: Essential to Agile Success Agile Austin

Automation @ PG Enterprise Solutions Group How did we go about it?

30

Process/Project

Culture/Organization

In-Sprint Automatio

n

Established ALT

2011 2014

UI Automation

“Automate-First”

Service-level automation(CLI & Web-

services)

IVT Networking & Servers

Automated BVT

IVT Device

Accelerate Automation

Skillset

Maximize Utilization

Automation Architects

Setup & Config

Internal Training

Programs

2012

TDD & Automate

d UT

Non-FunctionalScale,

Longevity

2010

Automation Day

2013Automation

Content Libraries

Page 31: Automation Culture: Essential to Agile Success Agile Austin

Care and Feeding of the Automation Culture

31

Page 32: Automation Culture: Essential to Agile Success Agile Austin

32

Maintaining the Automation Culture• Operationalize Automation

– Include Test Automation in the Acceptance Criteria• Encourage Community Practice and Participation

– External - Industry User Groups & Conferences– Internal - Brown-bag sessions, Showcases, Mini-conference

• For Large organizations:– Overcome skillset deficiencies by adjusting staffing

strategy– Automation Leadership Team, Automation Architect(s)– Continually monitor the alignment of Architecture, Dev and

Test– Develop reward systems

Page 33: Automation Culture: Essential to Agile Success Agile Austin

Recognizing a Successful Automation Culture

• Automation is a shared responsibility

• Automatability is a key architectural consideration

• Continuous Integration & BVT• Teams are staffed to include an

automation skillset• Automation is operationalized

Page 34: Automation Culture: Essential to Agile Success Agile Austin

34

Resources• Agile Manifesto - http://agilemanifesto.org/• Articles/Blogs:

– http://support.smartbear.com/articles/testcomplete/automated-testing-agile-environment/ - SmartBear

– http://lisacrispin.com/wordpress/2011/11/08/using-the-agile-testing-quadrants/ - Lisa Crispin

– http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=17793&tth=DYN&tt=siteemail&iDyn=2 – Rajini Padmanaban

– Beyond Agile Testing: http://www.utest.com/int-v1/a/beyond-agile-testing - uTest– Testing and Checking Refined: http://www.satisfice.com/blog/archives/856 - James

Bach and Michael Bolton

• Books:– Scaling Software Agility: Best Practices for Large Enterprises – Dean Leffingwell– How Google Tests Software – James Whittaker, Jason Arbon, Jeff Carollo– Agile Testing: A Practical Guide for Testers and Agile teams – Lisa Crispin, Janet

Gregory – http://www.dorothygraham.co.uk/automationExperiences/index.html - Dorothy

Graham

• Presentations:– Approaches to Software Testing: An Introduction – Scott Barber– Agile Testing: Challenges Beyond the Easy Contexts – Bob Galen

Page 35: Automation Culture: Essential to Agile Success Agile Austin

Questions?

35