scrum and testing

62
Scrum and testing This is not the way I see it Let me show SCRUM through my eyes.. We are going to try something called SCRUM That means no more planning and no more documentation. Just start writing code. There is almost no testing effort WTF!? ! Claudiu Draghia www.brainforIT.com

Upload: chaeli

Post on 25-Feb-2016

56 views

Category:

Documents


0 download

DESCRIPTION

That means no more planning and no more documentation. Just start writing code. We are going to try something called SCRUM. There is almost no testing effort. Scrum and testing. WTF!?!. This is not the way I see it Let me show SCRUM through my eyes. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Scrum and testing

Scrum and testing

This is not the way I see it Let me show SCRUM through my

eyes..

We are going to try something called

SCRUM

That means no more planning and no

more documentation. Just start writing code.

There is almost no testing effort

WTF!?!

Claudiu Draghia www.brainforIT.com

Page 2: Scrum and testing

Why Not Waterfall??“Managing the development of large software system” by Winston W. Royce, page 2:

I believe in this concept but the implementation described is risky and invites failure.

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

However I believe the illustrated approach to be fundamentally sound. The remaining of this discussion presents 5 additional features that must be added to this basic approach to eliminate most of the development risks.

Ant it goes on for 9 more

pages...

Waterfall is sound and solid development process if applied as it is not based on a feelingThe same thing is true for SCRUM...…

Page 3: Scrum and testing

What will we do• We will go through the “word”• Take the Wikipedia definition of SCRUM and go through each aspect

– What is a software and what is a product?– What are the agile values and principles?– What is iterative and incremental?

• Go through the SCRUM ‘s father guideline• Challenge SCRUM and SCRUM adoption• Take a user story and SCRUM it

If you are new to SCRUM there quite some strange terms and concepts If something does not make sense just shout my name, I’ll stop and answer your question or reiterate what it means.

Page 4: Scrum and testing

The scrumFollowing some infringements of the rules play

is restarted with a scrum.Eight players from each team bind together in their own 3-4-1 formation in a

crouching position.The two formations engage each other head-on to form a single mass off 16

players.The ball is then put into the tunnel between the opposing formations and each

team attempts to get control of the ball with their feet.Find out more about the scrum in the pages about how to play rugby.

What is scrumThe word

Page 5: Scrum and testing

What is scrumThe word

Page 6: Scrum and testing

Team and groupindividual accountability

share information and perspectives

individual goals

concern with one's own outcome and challenges

purpose, goals, approach to work shaped by manager

discussion, decision making, problem solving, and planning

Individual and mutual accountability==team goals =concern with outcomes of everyone and challenges the team faces=purpose, goals, approach to work shaped by team leader with team members=

teams' failure=individual failureUsually the surgery is a success but the patient

dies

How is the surgery?

The customer does not care if you have done the best tests if the application is not working

on production

Page 7: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework for managing software projects and product or application development

for managing software projects and product or application development

Your focus is not only the software application

but also the product with all its attributes

It has to be clear to anyone what is “The Product” How you define the product is up to you.

This is the starting point for everything.

Page 8: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We are uncovering better ways of developing software by doing it and helping others do it.

Individuals and interactions over processes and tools

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Through this work we have come to value:

This does not mean we do not need processes. They have to

exists and they have to be easily changed and adaptive

No matter what you will always put in your

time sheet.

http://www.agilemanifesto.org/

Page 9: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We are uncovering better ways of developing software by doing it and helping others do it.

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Working software over comprehensive documentation

Through this work we have come to value:

This does not mean no

documentation. People do not come at the beginning of a project and leave

at the end.

Business flows are extremely important

in understanding changes.

Page 10: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We are uncovering better ways of developing software by doing it and helping others do it.

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Customer collaboration over contract negotiation

Through this work we have come to value:

How should the customer see this?

Who can explain him this and get his

agreement?

Contracts have to exists. They way they are made has to be

changed

Page 11: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We are uncovering better ways of developing software by doing it and helping others do it.

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Responding to change over following a plan.

Through this work we have come to value:

The plan has to be simple so that we can

change it quickly.

Change without any understanding leads to chaos. Changes need to be understood before

done.

Page 12: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

The whole focus is on the customer

We deliver all the time. We do not have the time to test everything

Customer has to have clear

expectations and these should be

known to everyone

Page 13: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Changing requirements has to be controlled.

Uncontrolled changes lead to chaos.

Page 14: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Deliver working software frequently, from a couple of weeks to a couple of Months, with a preference to the shorter timescale.

What does working software mean for you?

Functionality

Security

Performance

Customer support

Deployment

What about the customer?

Page 15: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Business people and developers must work together daily throughout the project.

Business should know about development,Development should know about business

Page 16: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job…….

This one is for the management and

HR.

Before asking for results give us the

means.

DO

NE

Trust means to give the chance to fail. Failing is always a option…don’t be afraid…

Page 17: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

The telephone has been in usage since 1950... Give us more... It’s the 21st century

Page 18: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Working software is the primary measure of progress.

Working software has to

be definedIf this is the measure

then this has to be known and accepted by

everyone

You have to prove that you respected the

definition

Page 19: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

It’s ok to be exited or nervous for a

delivery

This requires discipline and self

determination

Page 20: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Continuous attention to technical excellence and good design enhances agility.

Lessons learned

Best practices Testing approach and methodology

Trainings

Page 21: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

Simplicity--the art of maximizing the amount of work not done--is essential. ?

Among other things, it means that a team can spend an amazing amount of time building a complex system that will handle all possible eventualities - or it can do only what is needed right now, get it right, and get it out the door.

Page 22: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

The best architectures, requirements, and designs emerge from self-organizing teams.

Self-organization = is a process where some form of global order or coordination arises out of the localinteractions between the components of an initially disordered system

Leader must arise from the

interactions

It is not a democracy but

more a meritocracy

Page 23: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

We follow these principles:

February 2001, 17 software developers met to discuss lightweight development methods. They published the Manifesto for Agile Software Development. It gives us a set of values and principles.

In SCRUM this is done at the end of every

sprint.

You will have to find ways of improving

Page 24: Scrum and testing

What is scrum

• Scrum is an iterative and incremental agile software development framework

Agile does not refer only to the development team but everyone

involved in the product development . It is not a change

in a “single place”.

Page 25: Scrum and testing

What is scrum

• Scrum is an iterative and incremental?

Page 26: Scrum and testing

“Iterating” builds a rough version, validates it, then slowly builds up quality

A more iterative allows you to move from vague idea to realization making course corrections as you go.

1 2 3 4 5

Let’s start…..

Page 27: Scrum and testing

Iterative digging tools

Page 28: Scrum and testing

Prod

uctio

n

Iterative development

Develop Test Develop Test Develop Test

Develop Test

Waterfall

Iterative

Development and QC work side by side delivering increments through iterations

Testing is no longer a gateway for production Definition

of done

Feedback about how the

software is behaving faster

Regression results have to be “fast”

If this is different in waterfall and iterative then SCRUM has made visible the mismatch between dev and testing that already existed

If bugs are not fixed quickly iterations will

be slow

Page 29: Scrum and testing

What is scrum

• Scrum is an iterative and incremental?

Page 30: Scrum and testing

“Incrementing” builds a bit at a time Jeff Patton www.AgileProductDesign.com

1

Incrementing calls for a fully formed idea.

And, doing it on time requires dead accurate estimation.

2 3 4 5

Let’s see….

Incremental software development methods have been traced back to 1957.

Page 31: Scrum and testing

Incremental development

Instead of having a final working product

We have “something working” at each milestone

Each increment has to be functional and usable. It

has to bring business value. It can be $$$$

tomorrow

Page 32: Scrum and testing

How do you eat a elephant?

Incremental development

Page 33: Scrum and testing

==

They are part of a epic

Testing has to validate if the “whole” is working

not only the current user story.

Incremental development

Page 34: Scrum and testing

“Incrementing” and “Iterating”SCRUM combines both iterative and incremental

1 2

Let’s watch a SCRUM Mona Lisa

Start a new sprint and carry on

Page 35: Scrum and testing

What is scrum• Scrum is an iterative and incremental

Incrementing calls for a

fully formed idea.

“Iterating” builds a rough version, validates it, then slowly builds up

quality

“Incrementing” builds a bit

at a time

Since this is a principle you have to apply it to how

you develop software also

You create smaller bits

that in the end have to fit

with the whole

Increment applies not only to the

“end sprint product” but also

how you build

Page 36: Scrum and testing

What is scrum• In 1995, Jeff Sutherland and Ken Schwaber jointly presented a paper describing the

Scrum methodology, its first public presentation

• In 2001, Schwaber worked with Mike Beedle to describe the method in the book Agile Software Development with Scrum

• Now he has a website

Page 37: Scrum and testing

What is scrumSchwaber’s SCRUM guide

Sprint Planning

Daily SCRUMReview

Retrospective

The Scrum Team

The Product Owner

The Development Team The Scrum Master

Scrum Events

The Sprint

Scrum Artifacts

Product Backlog

Sprint Backlog

Page 38: Scrum and testing

Schwaber’s SCRUM guideThe Development Team = THE PIGS

Others (not involved in development) = THE CHICKENS

The person who says it cannot be done should not interrupt the person doing it.

Chinese Proverb

Page 39: Scrum and testing

Schwaber’s SCRUM guideSprint Planning

What?

Product backlog

Product owner

Development team

SCRUM Master

Time boxed to 8 hours for a one month sprint

What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved?

apabilitiesonditionsonstrains

3CCCC

These are the acceptance

criteria

They are just a part of the

definition of done

Who verifies and validates

these?

To validate them you need

test case

Acceptance criteria need to

be clear and testable

Page 40: Scrum and testing

Schwaber’s SCRUM guideSprint Planning

What?

Product backlog

Product owner

Development team

SCRUM Master

Time boxed to 8 hours for a one month sprint

What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved?

apabilitiesonditionsonstrains

3CCCC

The whole purpose of this meeting is for the development team to

have a clear understanding about

what it required

You have to use any means

necessary. SCRUM tells you what to do not how to do

it.

Page 41: Scrum and testing

Schwaber’s SCRUM guideSprint Planning

What?

Product backlog

Product owner

Development team

SCRUM Master

Time boxed to 8 hours for a one month sprint

What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved?

apabilitiesonditionsonstrains

3CCCC

IN SCRUM THIS CAN AHAPPEN ALSO

Page 42: Scrum and testing

Schwaber’s SCRUM guideSprint Planning

What?

Product backlog

Product owner

Development team

SCRUM Master

Time boxed to 8 hours for a one month sprint

What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved?

apabilitiesonditionsonstrains

3CCCC

Page 43: Scrum and testing

Schwaber’s SCRUM guideSprint Planning

What?

Product backlog

Product owner

Development team

SCRUM Master

Time boxed to 8 hours for a one month sprint

Story Points

What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved?

apabilitiesonditionsonstrains

3CCCC

Planning poker

Fibonacci numbers

Story points represent

complexity and duration. The scale is:

1, 2, 3, 5, 8, 13, 21….

You have to take into account that you have to build iterative and the final product has

to be a increment.

Page 44: Scrum and testing

The burn down chart

Page 45: Scrum and testing

Schwaber’s SCRUM guideSprint Planning

What?

How?Product backlog

Product owner

Development team

SCRUM Master

Time boxed to 8 hours for a one month sprint

Story Points

What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved?

Define activities

apabilitiesonditionsonstrains

3CCCC

Planning poker

Fibonacci numbers

Page 46: Scrum and testing

Schwaber’s SCRUM guideSprint Planning

What?

How?Product backlog

Product owner

Development team

SCRUM Master

Time boxed to 8 hours for a one month sprint

Story Points

What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved?

Define activities

apabilitiesonditionsonstrains

3CCCC

Planning poker

Fibonacci numbers

You have only 4 hours to drive the direction for the next

weeks.YOU have to prepare.

Everything related to testing has to be as clear as possible.

Page 47: Scrum and testing

Schwaber’s SCRUM guideSprint Planning

What?

How?Product backlog

Product owner

Development team

SCRUM Master

Time boxed to 8 hours for a one month sprint

Story Points

What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved?

Define activities

apabilitiesonditionsonstrains

3CCCC

Planning poker

Fibonacci numbers

You have to :•Make a impact analyses•Spot out any dependencies•Evaluate how you can fulfill the definition of done. •Define your activities at least for the next couple of days•You need to have everyone on your side

Page 48: Scrum and testing

Schwaber’s SCRUM guideSprint Planning

What?

How?Product backlog

Product owner

Development team

SCRUM Master

Sprint Goal

Time boxed to 8 hours for a one month sprint

Story Points

What can be delivered in the Increment resulting from the upcoming Sprint? How will the work needed to deliver the Increment be achieved?

Define activities

apabilitiesonditionsonstrains

3CCCC

Planning poker

Fibonacci numbers

Page 49: Scrum and testing

Daily SCRUM Routine

We follow some basic rules

If the PO wants something new in

the sprint he has to remove something

of similar value

We pick up task voluntarily

It has to be in the best interest of the

team (priority& commitment)

We never start something that

cannot be finished in the current sprint

To do this we have secondary skills to

help the team closing the current activities

We attend a SCRUM meeting every day

Beside the SCRUM we meet whenever it

is necessaryTesting has to

become a secondary skill for

everyone

Test case, approach and scripts have to be understood by

everyone in the team

Page 50: Scrum and testing

Schwaber’s SCRUM guide

Daily SCRUM

Development teamSCRUM Master

Time boxed to 15 minutes every date

What did I do yesterday that helped the Development Team meet the Sprint Goal?What will I do today to help the Development Team meet the Sprint Goal?Do I see any impediment that prevents me or the Development Team from meeting the Sprint Goal?

Require more information

Sprint Goal

Page 51: Scrum and testing

Schwaber’s SCRUM guide

Review

Sprint Goal

Development team

SCRUM Master

Only DONE items

The definition of DONE has to be

respected. Only DONE items should be

presented

Who validates if the definition of done is

respected?

If one fails everyone fails

Page 52: Scrum and testing

Schwaber’s SCRUM guide

Development team

SCRUM Master

Retrospective

What went well?What can be improved?

Create a plan for implementing improvements to the way the Scrum Team does its work.

Page 53: Scrum and testing

Adopt SCRUM?Step Question Answer

1 Do you want to be a PIG? Yes No

2 Are you sure you value autonomy and responsibility? Yes No

3 Do your colleagues value autonomy and responsibility? Yes No

4 Does management want to you to be a PIG? Yes No

5 Will they actually support you and follow SCRUM? Yes No

If you have just one No answer...then you cannot do it…

Page 54: Scrum and testing

Maria Montessori(1870 -1952)

I devised a education approach characterized by an emphasis on independence, freedom

within limits, and respect for a child’s natural psychological,

physical, and social development.

Page 55: Scrum and testing

Montessori Education vs SCRUM

Mixed age classrooms, with classrooms for children aged 2½ or 3 to 6 years old by far the most common = Cross-Functional Teams

Student choice of activity from within a prescribed range of options = Tasks Pickup by voluntary method

Uninterrupted blocks of work time = Sprints

Specialized educational materials developed by Montessori and her collaborators

Poker Planning, estimation techniques, Sprint and Release

Planning=

Larry page Sergey Brin

Page 56: Scrum and testing

Dan Pink’s

SCRUM gives you

autonomy and it gives you

a purpose every sprint

If you do not want to be a

master you will not

succeed in SCRUM

Page 57: Scrum and testing

In 1971, working for IBM I noticed cultural differences between

countries and defined a set of indexes

ROMANIA

Loyalty in a collectivist culture is paramount, and over-rides most

other societal rules and regulations

Geert Hofstede’s researchPeople accept a hierarchical order

in which everybody has a place and which needs no further

justification.

Romania scores 90 on this dimension and thus

has a very high preference for avoiding

uncertainty

Page 58: Scrum and testing
Page 59: Scrum and testing

Let’s take a user story

As a user I want to be able to generate a report with my auctions in order to have a clear overview about my activities and the money I have to cash in.

Page 60: Scrum and testing

Recap- everything related to testing

• Your focus is not only the software application but also the product with all its attributes (slide7)

• We deliver all the time. We do not have the time to test everything (slide 12)• What is working software for you: Functionality, Security, Performance, Customer support,

Deployment (slide 14)• Working software has to be defined. If this is the measure then this has to be known and

accepted by everyone (slide 18)• You have to maintain a constant pace: This requires discipline and self determination (slide

19)• You have to aim for technical excellence (Lessons learned, Best practices, Testing approach

and methodology, Trainings (slide 20)• You will have to find ways of improving (slide 23)• Development and QC work side by side delivering increments

through iterations (slide 28)• Testing is no longer a gateway for production (slide 28)• Regression results have to be “fast” (slide 28)

Page 61: Scrum and testing

• If bugs are not fixed quickly iterations will be slow (slide 28)• Testing has to validate if the “whole” is working not only the current user story. (slide 23)• Acceptance criteria need to be clear and testable (slide 39)• Everything related to testing has to be as clear as possible. (slide 46 in regards to the 2nd half

of the planning meeting)• Test case, approach and scripts have to be understood by everyone in the team (slide 49)• Testing has to become a secondary skill for everyone (slide 49)

Recap- everything related to testing

Page 62: Scrum and testing

Credits and inspiration• Wikipedia• http://bibleopia.wordpress.com• https://www.boundless.com/management/groups-teams-and-teamwork/defining-teams-and-teamwork/d

ifferences-between-groups-and-teams/• http://www.dummies.com/how-to/content/differences-between-work-groups-and-teams.html• http://geert-hofstede.com/countries.html• http://www.ted.com/talks/dan_pink_on_motivation.html• http://www.deborahschultz.com/deblog/2007/05/technology_chan.html• http://gapingvoid.com/2007/06/17/but-what-if-i-fail/• http://www.testertroubles.com/2009/04/scrum-pigs-and-chickens.html• http://www.cavdar.net/2011/10/10/characteristics-of-a-good-software-requirements-specification-srs/• https://www.scrum.org/• http://www.agileproductdesign.com/blog/dont_know_what_i_want.html• http://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf• http://snarap.wordpress.com/2011/09/14/mmscrum/• http://www.dilbert.com/• http://www.implementingscrum.com/section/blog/cartoons/• http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf