/34@yegor256 1
Yegor Bugayenko

Joker 2018

St.Petersburg, Russia

20 October 2018
Quality vs. Quantity
/28@yegor256
zerocracy.com
2
The Gist:
Mistakes must be
forgivable, not enough
code—not.
/37@yegor256 3
Zerocracy
/37@yegor256 4
@yegor256 1.9K
/37@yegor256 5
takes.org
/37@yegor256 6
cactoos.org
/37@yegor256 7
3rd Volume

Summer 2019
/37@yegor256 8
@yegor256news
/34@yegor256 9
Quality?
/34@yegor256 10
Bad Guys?
/34@yegor256 11
Can We Improve?
/34@yegor256 12
“A good programmer will
produce fault-free code,
while a bad programmer will
produce code that is fault-
ridden.”
Good Coder = Less BugsWrong!
/34@yegor256 13
“Some people mistakenly refer to software defects as
bugs. When called bugs, they seem like pesky things that
should be swatted or even ignored. This trivializes a
critical problem and fosters a wrong attitude. Thus, when
an engineer says there are only a few bugs left in a
program, the reaction is one of relief. Suppose, however,
that we called them time bombs instead of bugs. Would
you feel the same sense of relief if a programmer told you
that he had thoroughly tested a program and there were
only a few time bombs left in it? Just using a different
term changes your attitude entirely.”
Bug = Time BombWrong!
/34@yegor256 14
Fear Driven Development
/34@yegor256 15
“If you’re scared of making changes, you can’t make
something dramatically better, or do that big code
cleanup. Maybe you can’t even deploy the code that
you already wrote and tested, because it feels too
scary. You just want to stick what’s sort-of-working,
even if it’s not great.”
“Fear makes you a worse programmer”
Julia Evans, https://goo.gl/MeLGxN
/34@yegor256 16
Tech Debt
Stale Branches
Boring
Stress
/34@yegor256 17
Fix the Process, not People
/34@yegor256 18
Blame-Free Environment
/34@yegor256 19
Repository Production
Staging
Programmers End-Users
Testers Pipeline
/34@yegor256 20
1 Reject It!
Repository Production
Staging
/34@yegor256 21
“Each stage of a build pipeline is
looking for reasons to reject the build.
Tests failed? Reject it. Lint complains?
Reject it. Build fails integration tests in
staging? Reject it. Finished archive
smells funny? Reject it.”
/34@yegor256 22
Liquibase
Green/Blue

Deployment
CI/CD
rultor.com
/34@yegor256 23
2
Repository
Programmers
Quality Wall
/34@yegor256 24
Checkstyle
PMD
FindBugs
xcop
JaCoCo
enforcer(s)
anti-duplicates
xTests
warnings
/34@yegor256 25
3 Testers, Not Approvers
Repository Production
Staging
Testers
/34@yegor256 26
/34@yegor256 27
4 Crash Fast
Production
End-Users
Programmers ?
/34@yegor256 28
sentry.io
/34@yegor256 29
5 Encourage Bugs
Repository
Staging Programmers
Testers
Reports
/34@yegor256 30
$$$
Zerocracy
We pay per each bug reported
/34@yegor256 31
Pull Requests, or Bugs, or…

You Are Out!
/34@yegor256 32
Speed, not Quality
/34@yegor256 33
6 Educate Money People
Bosses
Programmers ProductionReports
/34@yegor256 34
It’s impossible :(

More Related Content

PDF
Can Distributed Teams Deliver Quality?
PDF
Are You Sure You Are Not a Micromanager?
PDF
On Requirements Management (Demotivate Them Right)
PDF
My Experience of 1000 Interviews
PDF
Are you sure you are not a micromanager?
PDF
Quality Assurance vs. Testing
PDF
Is Java Getting Better?
PDF
Typical Pitfalls in Testing
Can Distributed Teams Deliver Quality?
Are You Sure You Are Not a Micromanager?
On Requirements Management (Demotivate Them Right)
My Experience of 1000 Interviews
Are you sure you are not a micromanager?
Quality Assurance vs. Testing
Is Java Getting Better?
Typical Pitfalls in Testing

More from Yegor Bugayenko (20)

PDF
Software Testing Pitfalls
PDF
Five Trends We Are Afraid Of
PDF
Experts vs Expertise
PDF
Who Cares About Quality?
PDF
Quantity vs. Quality
PDF
Experts vs Expertise
PDF
Zold: a cryptocurrency without Blockchain
PDF
Life Without Blockchain
PDF
How to Cut Corners and Stay Cool
PDF
Math or Love?
PDF
How much do you cost?
PDF
Java Annotations Are a Bad Idea
PDF
Make Customers Trust You
PDF
How to Be Honest and Keep a Client?
PDF
Object-Oriented JUnit Tests
PDF
Object-Oriented Flavor for JUnit Tests
PDF
How Much Do You Cost?
PDF
How to Avoid Outsourcing Disaster?
PDF
What's Wrong With Object-Oriented Programming?
PDF
How Bright Is Our Future?
Software Testing Pitfalls
Five Trends We Are Afraid Of
Experts vs Expertise
Who Cares About Quality?
Quantity vs. Quality
Experts vs Expertise
Zold: a cryptocurrency without Blockchain
Life Without Blockchain
How to Cut Corners and Stay Cool
Math or Love?
How much do you cost?
Java Annotations Are a Bad Idea
Make Customers Trust You
How to Be Honest and Keep a Client?
Object-Oriented JUnit Tests
Object-Oriented Flavor for JUnit Tests
How Much Do You Cost?
How to Avoid Outsourcing Disaster?
What's Wrong With Object-Oriented Programming?
How Bright Is Our Future?

Recently uploaded (20)

PDF
Ensemble model-based arrhythmia classification with local interpretable model...
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PDF
Electrocardiogram sequences data analytics and classification using unsupervi...
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PPTX
SGT Report The Beast Plan and Cyberphysical Systems of Control
PPTX
Internet of Everything -Basic concepts details
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
EIS-Webinar-Regulated-Industries-2025-08.pdf
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
Auditboard EB SOX Playbook 2023 edition.
Ensemble model-based arrhythmia classification with local interpretable model...
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
4 layer Arch & Reference Arch of IoT.pdf
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Basics of Cloud Computing - Cloud Ecosystem
Electrocardiogram sequences data analytics and classification using unsupervi...
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Data Virtualization in Action: Scaling APIs and Apps with FME
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
Co-training pseudo-labeling for text classification with support vector machi...
SGT Report The Beast Plan and Cyberphysical Systems of Control
Internet of Everything -Basic concepts details
Lung cancer patients survival prediction using outlier detection and optimize...
EIS-Webinar-Regulated-Industries-2025-08.pdf
giants, standing on the shoulders of - by Daniel Stenberg
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
Rapid Prototyping: A lecture on prototyping techniques for interface design
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
A symptom-driven medical diagnosis support model based on machine learning te...
Auditboard EB SOX Playbook 2023 edition.

Quality vs Quantity