[hcm scrum breakfast] how to improve product quality in scrum team

73

Upload: scrum-breakfast-vietnam

Post on 07-Jan-2017

522 views

Category:

Software


0 download

TRANSCRIPT

Page 1: [HCM Scrum Breakfast] How to improve product quality in Scrum Team
Page 2: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

1. Why do we need to improve quality ?

2. What makes a good product quality ?

3. How to improve quality ?

4. How to start improve quality ?

5. Q & A

AGENDA

Page 3: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

1- WHY DO WE NEED TO IMPROVE ?

Page 4: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

2 - WHAT MAKES A GOOD PRODUCT QUALITY ?

Page 5: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Reduce defects

2-WHAT MAKES A GOOD PRODUCT QUALITY ?

A low defect count is often synonymous with high quality software.

Defects are also the most visible sign of quality problems.

Page 6: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Improve Design

High quality design makes for an application that is easy to understand and change as new requirements are discovered

2-WHAT MAKES A GOOD PRODUCT QUALITY ?

Page 7: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Theory Building

One way to look at software development is theory building

2-WHAT MAKES A GOOD PRODUCT QUALITY ?

Page 8: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Build less

It has been shown that we build many more features than are actually used

2-WHAT MAKES A GOOD PRODUCT QUALITY ?

Page 9: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

3- HOW TO IMPROVE PRODUCT QUALITY ?

Page 10: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

3-HOW TO IMPROVE PRODUCT QUALITY ?

PRODUCTQUALITY

Test Driven Development

Test Driven Requirements

Definition Of Done

Automation Test

Refactoring

Pair Programming

Simple Design

Release Often

Stand Up Meeting

Testing party

Review Code

Testing by real user

Collective Code Ownership

Page 11: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

PRODUCTQUALITY

Test Driven Development

Test Driven Requirements

Definition Of Done

Automation Test

Refactoring

Pair Programming

Simple Design

Release Often

Stand Up Meeting

Testing party

Review Code

Testing by real user

Collective Code Ownership

3-HOW TO IMPROVE PRODUCT QUALITY ?

Page 12: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

REVIEW CODE

Page 13: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

WHY?

REVIEW CODE

Page 14: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

WHY?

REVIEW CODE

47% of time spent digging through the

code28% of time

spent in testing

19% development

time

6% of time spent documenting

Source: B. Manachem, 1999

POOR CODE QUALITY

Page 15: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

WHY?

REVIEW CODE

Page 16: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

BENEFITS

REVIEW CODE

Page 17: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

BENEFITS

REVIEW CODE

Finding bugs on the cheap

Page 18: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

BENEFITS

REVIEW CODE

Ensuring maintainability

Page 19: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

BENEFITS

REVIEW CODE

Learning and Sharing

Page 20: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

TYPES OF CODE REVIEW

REVIEW CODE

Page 21: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

TYPES OF CODE REVIEW

REVIEW CODE

SELF CODE REVIEWTo review one’s own code

Review it carefully and in detail

Preferably not using the same IDE you used to write the code

• Code format and comments

• Logic algorithm correctness

• Unit test coverage

Page 22: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

TYPES OF CODE REVIEW

REVIEW CODE

PEER CODE REVIEW

In Pair In TeamTo have code examined by one or more colleagues

Cross checkSeries of meetings

Page 23: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

TYPES OF CODE REVIEW

REVIEW CODE

PEER CODE REVIEW

To have code examined by one or more colleagues

Extremely thorough and effective

Time-consuming

Page 24: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

ACTIVITY

REVIEW CODE

Page 25: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

ACTIVITY

Page 26: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

ACTIVITY

Page 27: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

ACTIVITY

Page 28: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Pair Programming

Page 29: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Pair Programming

Chords

Crucial bass

Accompaniment

Melody

Page 30: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Pair Programming

Write Code

Review, potential defect, another

better design

Page 31: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Intro

Page 32: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Public opinions

• Waste double number of people

• My code is personal

• The partner will slow me down

• Trouble about collaborate

This is my perfered programming style

More than twice as fast

Better design, shorter code, easy to extend

Even junior can contribute

Do you have any idea or experience about pair programming?

In your opinion, Is it more effective than solo programming?

Page 33: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Project experience

Page 34: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Project experience

Page 35: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Project experience

Let’s pair programming!

• Reduce risk of errors

• Broader code review

• Opportunity to communicate

knowledge between coders

Page 36: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Project experience

Page 37: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Project experience

Page 38: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Project experience

Catching Errors early

Page 39: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Project experience

Get closer

Both

understand

the change

Faster

Confident

about the

correctness

of the result

Page 40: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Project experience

QA

Page 41: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Project experience

QA

Dramatically

reduce the defect

rate / bugs

Page 42: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Investigation

Page 43: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Investigation

Page 44: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Investigation

Page 45: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Investigation

Page 46: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Summary

Many mistakes get caught immidately when they are being typed in rather than in QA test

The design is better, the code length is shorter

The team solve problems faster

The project ends up with multiple people understand each piece of system

The team learn to work together and increase communication skill

People enjoy their work more

Page 47: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Pair programming

Are there any factors that affect to this technic?

Page 48: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

• EXPRESS YOUR SUPERIORITY

• NEVER BACK DOWN

• GLOAT

• WATCH SILENTLY

• CODE SILENTLY

• BETRAY TRUST

• DOMINATE THE KEYBOARD

7 ways kill pair programming

Page 49: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

DEFINITION OF DONE

Page 50: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

• When can we say “My task (or user story) is done or finished?

DEFINITION OF DONE

Page 51: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

• A list of criteria which must be met.

1. Definition of “done” for user story

DEFINITION OF DONE

Page 52: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Improving team quality and agility

DEFINITION OF DONE

2. Benefit

Page 53: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Better release planning

DEFINITION OF DONE

2. Benefit

Page 54: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Minimizing the delay of risk

DEFINITION OF DONE

2. Benefit

Page 55: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Creating transparency for stakeholders

DEFINITION OF DONE

2. Benefit

Page 56: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

DEFINITION OF DONE

3. Dicussion

Page 57: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

DEFINITION OF DONE

4. Activity

Each group: 4 ~ 10 persons.

Tools: stickers and pen.

Activity: disscuss in group the list requirements which a task need to be met when we say it done .

Note: Each sticker just write one requirement, please.

Page 58: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

DONE STATE

Page 59: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

AUTOMATION TEST

Page 60: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

AUTOMATION TEST

1. What is automation test?

Page 61: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Saves Time and Money

AUTOMATION TEST

2. Benefit

Page 62: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Testing Improves Accuracy

AUTOMATION TEST

2. Benefit

Page 63: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Increase Test Coverage

AUTOMATION TEST

2. Benefit

Page 64: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Automation Does What Manual Testing Cannot

AUTOMATION TEST

2. Benefit

Page 65: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

AUTOMATION TEST

3. Discussion

Page 66: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

4- HOW TO START IMPROVE QUALITY ?

Page 67: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

1. Define quality clearly

HOW TO START IMPROVEMENT ?

Page 68: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

1. Define quality clearly

HOW TO START IMPROVEMENT ?

Page 69: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

2. Choose the way to improve

HOW TO START IMPROVEMENT ?

Page 70: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

3. Make quality easy to improve

HOW TO START IMPROVEMENT ?

Page 71: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Page 72: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

Page 73: [HCM Scrum Breakfast] How to improve product quality in Scrum Team

www.axon.vnfb.com/AxonActiveVietNam

• http://ronjeffries.com/articles/2015-04-24-done/

• https://www.scrumalliance.org/community/articles/2008/september/what-is-definition-of-done-%28dod%29

• http://www.ranorex.com/why-test-automation.html

• http://searchsoftwarequality.techtarget.com/tip/Use-Agile-software-testing-principles-to-plan-your-

tests

• http://searchsoftwarequality.techtarget.com/tip/Seven-ways-to-know-when-to-automate-testing

• http://support.smartbear.com/articles/testcomplete/manager-overview/

• https://dzone.com/refcardz/agile-adoption-improving

Reference source