[hcm scrum breakfast] how to improve product quality in scrum team
TRANSCRIPT
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
www.axon.vnfb.com/AxonActiveVietNam
1- WHY DO WE NEED TO IMPROVE ?
www.axon.vnfb.com/AxonActiveVietNam
2 - WHAT MAKES A GOOD PRODUCT QUALITY ?
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.
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 ?
www.axon.vnfb.com/AxonActiveVietNam
Theory Building
One way to look at software development is theory building
2-WHAT MAKES A GOOD PRODUCT QUALITY ?
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 ?
www.axon.vnfb.com/AxonActiveVietNam
3- HOW TO IMPROVE PRODUCT QUALITY ?
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
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 ?
www.axon.vnfb.com/AxonActiveVietNam
REVIEW CODE
www.axon.vnfb.com/AxonActiveVietNam
WHY?
REVIEW CODE
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
www.axon.vnfb.com/AxonActiveVietNam
WHY?
REVIEW CODE
www.axon.vnfb.com/AxonActiveVietNam
BENEFITS
REVIEW CODE
www.axon.vnfb.com/AxonActiveVietNam
BENEFITS
REVIEW CODE
Finding bugs on the cheap
www.axon.vnfb.com/AxonActiveVietNam
BENEFITS
REVIEW CODE
Ensuring maintainability
www.axon.vnfb.com/AxonActiveVietNam
BENEFITS
REVIEW CODE
Learning and Sharing
www.axon.vnfb.com/AxonActiveVietNam
TYPES OF CODE REVIEW
REVIEW CODE
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
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
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
www.axon.vnfb.com/AxonActiveVietNam
ACTIVITY
REVIEW CODE
www.axon.vnfb.com/AxonActiveVietNam
ACTIVITY
www.axon.vnfb.com/AxonActiveVietNam
ACTIVITY
www.axon.vnfb.com/AxonActiveVietNam
ACTIVITY
www.axon.vnfb.com/AxonActiveVietNam
Pair Programming
www.axon.vnfb.com/AxonActiveVietNam
Pair Programming
Chords
Crucial bass
Accompaniment
Melody
www.axon.vnfb.com/AxonActiveVietNam
Pair Programming
Write Code
Review, potential defect, another
better design
www.axon.vnfb.com/AxonActiveVietNam
Intro
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?
www.axon.vnfb.com/AxonActiveVietNam
Project experience
www.axon.vnfb.com/AxonActiveVietNam
Project experience
www.axon.vnfb.com/AxonActiveVietNam
Project experience
Let’s pair programming!
• Reduce risk of errors
• Broader code review
• Opportunity to communicate
knowledge between coders
www.axon.vnfb.com/AxonActiveVietNam
Project experience
www.axon.vnfb.com/AxonActiveVietNam
Project experience
www.axon.vnfb.com/AxonActiveVietNam
Project experience
Catching Errors early
www.axon.vnfb.com/AxonActiveVietNam
Project experience
Get closer
Both
understand
the change
Faster
Confident
about the
correctness
of the result
www.axon.vnfb.com/AxonActiveVietNam
Project experience
QA
www.axon.vnfb.com/AxonActiveVietNam
Project experience
QA
Dramatically
reduce the defect
rate / bugs
www.axon.vnfb.com/AxonActiveVietNam
Investigation
www.axon.vnfb.com/AxonActiveVietNam
Investigation
www.axon.vnfb.com/AxonActiveVietNam
Investigation
www.axon.vnfb.com/AxonActiveVietNam
Investigation
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
www.axon.vnfb.com/AxonActiveVietNam
Pair programming
Are there any factors that affect to this technic?
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
www.axon.vnfb.com/AxonActiveVietNam
DEFINITION OF DONE
www.axon.vnfb.com/AxonActiveVietNam
• When can we say “My task (or user story) is done or finished?
DEFINITION OF DONE
www.axon.vnfb.com/AxonActiveVietNam
• A list of criteria which must be met.
1. Definition of “done” for user story
DEFINITION OF DONE
www.axon.vnfb.com/AxonActiveVietNam
Improving team quality and agility
DEFINITION OF DONE
2. Benefit
www.axon.vnfb.com/AxonActiveVietNam
Better release planning
DEFINITION OF DONE
2. Benefit
www.axon.vnfb.com/AxonActiveVietNam
Minimizing the delay of risk
DEFINITION OF DONE
2. Benefit
www.axon.vnfb.com/AxonActiveVietNam
Creating transparency for stakeholders
DEFINITION OF DONE
2. Benefit
www.axon.vnfb.com/AxonActiveVietNam
DEFINITION OF DONE
3. Dicussion
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.
www.axon.vnfb.com/AxonActiveVietNam
DONE STATE
www.axon.vnfb.com/AxonActiveVietNam
AUTOMATION TEST
www.axon.vnfb.com/AxonActiveVietNam
AUTOMATION TEST
1. What is automation test?
www.axon.vnfb.com/AxonActiveVietNam
Saves Time and Money
AUTOMATION TEST
2. Benefit
www.axon.vnfb.com/AxonActiveVietNam
Testing Improves Accuracy
AUTOMATION TEST
2. Benefit
www.axon.vnfb.com/AxonActiveVietNam
Increase Test Coverage
AUTOMATION TEST
2. Benefit
www.axon.vnfb.com/AxonActiveVietNam
Automation Does What Manual Testing Cannot
AUTOMATION TEST
2. Benefit
www.axon.vnfb.com/AxonActiveVietNam
AUTOMATION TEST
3. Discussion
www.axon.vnfb.com/AxonActiveVietNam
4- HOW TO START IMPROVE QUALITY ?
www.axon.vnfb.com/AxonActiveVietNam
1. Define quality clearly
HOW TO START IMPROVEMENT ?
www.axon.vnfb.com/AxonActiveVietNam
1. Define quality clearly
HOW TO START IMPROVEMENT ?
www.axon.vnfb.com/AxonActiveVietNam
2. Choose the way to improve
HOW TO START IMPROVEMENT ?
www.axon.vnfb.com/AxonActiveVietNam
3. Make quality easy to improve
HOW TO START IMPROVEMENT ?
www.axon.vnfb.com/AxonActiveVietNam
www.axon.vnfb.com/AxonActiveVietNam
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