17
Cisco Confidential 1 © 2011 Cisco and/or its affiliates. All rights reserved. Barak Benjo Manager Engineering @ Cisco Video Technologies Agile Practitioners 2015 @BarakBenjo

The 10 commandments of an agile tester in a legacy world

Embed Size (px)

Citation preview

Cisco Confidential 1© 2011 Cisco and/or its affiliates. All rights reserved.

Barak BenjoManager Engineering @ Cisco Video Technologies

Agile Practitioners 2015

@BarakBenjo

© 2011 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 2

• Until recently

13 years in QA business

QA tester

QA architect

QA manager

• Today

R&D group manager @ Cisco Video Technologies

Working on wide variety of products & technologies

Both Legacy and Agile

I will give you triggers, it is up to you to leverage them

© 2011 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 4

• The working team is built from two different groups: Dev & Test

• Legacy Product

• Embedded SW

• 75% of the code is being reused

25% can be customized per platform or customer

• 95% Automated tests

• CI exists to some extent

• Not an Agile product

Requirements, constrains, Dependencies, Milestones, Deliverables

Are known at product kickoff

• Product scheduling – strictly waterfall

• A waterfall lifecycle

• Test engineer can be engaged in more than one product at a given time

• Working culture between the different groups are not the same

• Developers completely rely on Test engineers

• Communication between the different parties is good and yet, something is missing

• The “problem” responsibility is not equally shared

ABOVE ALL - Rapid development and Slow testing

…an old method, technology, computer system, or application program that continues to be used, typically because it still functions for the users’ needs, even though newer technology or more efficient methods of performing a task are now available.” http://en.wikipedia.org/wiki/Legacy_software

In short – it is old

© 2011 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 8

[Agile is Rational, Rational is Agile Series: Agile for Legacy Projects, Are You Serious?]

Context

• The value of any practice depends on its context

• There are good practices in context, but there are no best practices

People

• People, working together, are the most important part of any project’s context

• Good software testing is a challenging intellectual process.

Product

• Projects unfold over time in ways that are often not predictable

• The product is a solution. If the problem isn’t solved, the product doesn’t work

Effective

• Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products.

Functional Tests

Examples

Story Tests

Prototypes

Simulations

Exploratory Testing

Scenarios

Usability Testing

User Acceptance Testing

Unit Tests

Component Tests

Performance & Load Testing

Security Testing

“-ility” Testing

Q2 Q3

Q1 Q4

Support

s t

he T

eam C

ritique P

roduct

Technology-Facing

Business-Facing

Lisa Crispin & Janet Gregory version

Goals

Drive development with Business-facing

tests

Gain collaboration between all parties

(including customer)

Benefits

Achieve advanced clarity on the product

Use real examples as executable tests

Achieve external quality

Goals

Help to evaluate the product

Understand actual user experiences

Benefits

Feedback to Q1 and Q2

Learn about the product as you test

Goals

Enable to measure the internal quality of

the code

Benefits

Provide a safety net to the developers,

enable stabilization, provide confidence in

design and more

Goals

Does the product deliver the right value?

Benefits

Non-functional requirements are being

tested

Help to finalize the product

Q2 Q3

Q1 Q4

Support

s t

he T

eam

Critiq

ue P

roduct

Technology-Facing

Business-Facing

© 2011 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 13

© 2011 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 14

Easy import to the Legacy world Start Small

• Better understanding between all parties.

• Better collaboration.Parties

• Stabilization throughout the product lifecycle.Stability

• Determine the correct Development methods, Testing tools and Techniques to be used.

Methods

• Concentrate on the real needs of the customer.

• Determine the correct quality for the different stages in the lifecycle.

Right Thing

© 2011 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 15

Custom test strategy

Test from the outside in

Customer interactions must be preserved through automated tests

• Legacy software needs a custom testing strategy

• Choose & adapt your practice wisely

• You can leverage your work within the Legacy system

• Divide and Conquer

Implement Context Driven Testing - CDT and Agile are good friends

Work with the Agile Quadrants

• As a tester - Be there from start

• Communicate with whom ever can help you test the product

• Big journeys begins with small steps

• Being an Agile practitioner within a Legacy world is hard but doable

• Adapt, Adapt, Adapt