The 7 Things I Know About Cyber Security After 25 Years | April 2024
Scaling Quality by Building it in - Agile Tour Ottawa 2017
1. Scaling Quality by Building it in
MAURIZIO MANCINI • EXEMPIO • MAURIZIO.MANCINI@EXEMPIO.COM
2. • A leader in the quality and process industries with
a sixth sense for Agile, quality, and business
process.
• I have been refining my Agile approach for more
than 10 years.
• My passion is to deliver quality software and to
see how Agile can help teams deliver quality
software!
Maurizio Mancini
Agile 2014 – Agile: One Size does not fit all!
Walmart Labs California 2014 – Quality and Process
Atlassian Summit 2014 – From Incremental & Iterative to Agile: What
is the right process for your team?
Quest 2015 – Building a QA Team that Matters
Cutter Summit 2015 – Agile Testing – What’s that all about?
Atlassian Summit 2015 – How to Build in Quality from Day 1 using
Lean QA and Agile Testing
Agile Tour Montreal 2016 – Le guide de réparation de l’équipe Agile :
La recette secrète !
Agile Tour Ottawa 2016 – How to Reboot Your Agile Team!
Global Scrum Gathering San Diego 2017 – How to Reboot Your Agile
Team!
Agile 2017 – How to Reboot Your Agile Team!
3. • Most Common Pitfalls for Scaling Quality
• Building Blocks for a Quality Mindset
• How Agile roles help in Building in Quality
• Cautionary Tales and Guidelines for Test Automation
• Recommendations for Test Automation
4. Version One Survey
One of the top five reasons for adopting Agile is to “enhance software quality”
Source: https://explore.versionone.com/state-of-agile/versionone-11th-annual-state-of-agile-report-2
13. Most common quality pitfalls for Scaling Quality
We will reuse tests for multiple purposes
GLUE
STITCH
4
14. While in theory it is possible
Think Again!
In reality, it is very difficult
We will reuse tests for multiple purposes 4Most common quality pitfalls for Scaling Quality
15. Think Again!
We will reuse tests for multiple purposes
Most common quality pitfalls for Scaling Quality
4
17. What level of risk is the organization willing to accept?
1
18.
19.
20. Establish a Corporate Definition of Quality
Levels Sample Systems
Quality
Approach Company Target
Level of
Risk
Perfect
Medical – Life Dependant
NASA
QA No
Excellent
High Volume Systems like
Software Fulfillment Systems
(i.e. APP Store)
QA
Good
CRM Systems
Mobile Non-Transactional
APPS
Websites
QA
Break and Fix
QC High
Risk
Example - 3 Levels of Quality
21. Why is it acceptable to write
code without thinking of how to
test it?
2
24. NIKE Inc (2001): Problems with their supply-chain
management system which resulted in a $100 million loss.
AT&T Wireless (2004): Customer Relations Management (CRM)
upgrade lead to $100 million loss in revenue.
Knight Capital Trading (2012): Software glitch cost the firm
$440 million in 30 minutes using a flawed software algorithm.
Nest Thermostat (2016): Software glitch leaves users with cold
houses in the middle of winter.
Citigroup (2016): Software bug costs Citigroup $7 million.
25. Why is it acceptable to write
code without thinking of how to
test it?
26. No Line of Code is written without thinking of how it will be tested
29. The Team
PO
ScrumMaster
Each Role Thinks “How Do I Test This?”
Do we have everything
we need
to test the Story?
DEVOPS
Integration Tests
Environment Tests
Deployment Tests
Unit Testing
Automated Tests
Exploratory/Manual Tests
Integration Tests
Acceptance
Criteria
46. Use ATDD/
BDD
Building in Quality starts with
an Agile Product Management
organization
APM means just enough
product definition
47. Why use ATDD/BDD?
• Focuses Product Owners, Developers and QA
• Everyone speaking a common language
• Help’s the team progress from thinking
about what feature they are working on to
“How the feature is going to be tested”
• Can be used for Test Automation
48. Example
Feature: Amazon Shopping
Scenario: Amazon Login
#Given When Then And But
Given the url is opened
And I hover Your Account
When I click Sign In
Then I enter an email
Then I enter a password
And I click Sign In
Then I should see the welcome page
49. Which method should you use?
Focused on
developer coding
the test
Focused on using
English like
Syntax
PO should still be
comfortable
working with this
type of syntax
Code still required
but is one step
removed
ATDD/BDD
TDD
The Team
PO & The Team
53. Quality at the Agile Team level is Essential… but
At some point it has to
all come together
54. Most software applications interact with other APPS
Integrate and Test Often
Continuous Integration and Testing
55. System Integration Testing (SIT) is performed to ensure that all related
systems exchange data seamlessly, verifying a system’s ability to
operate as expected with other systems within the same environment.
Integrate and Test Often
• Use tests purposefully designed with this goal in mind.
• They are high level tests, focused on the flow of data.
During the sprint - Using a Scrum of Scrums
like process, teams should Integrate and test
often
56. CI helps the integration process but depending on the application, your approach to System
Integration Testing (SIT) will vary.
Continuous Integration (CI) and Testing
Setup an automated pipeline for SIT
If it is too hard, use a combination of automated and manual SIT testing
57. People in the team with DEVOPS skills will help establish a CI process
DEVOPS
58. Example of CI/CD Pipelines
Source: https://docs.gocd.org/current/