Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Move fast and keep your code quality
Francisco Díaz
May 16, 2017
Technology
1
260
Move fast and keep your code quality
Presented at UIKonf 2017
Francisco Díaz
May 16, 2017
Tweet
Share
More Decks by Francisco Díaz
See All by Francisco Díaz
Working effectively at scale
fdiaz
4
210
I hate public speaking. So why do I keep doing it?
fdiaz
0
48
Definiendo límites
fdiaz
1
37
Si odio hablar en público. ¿Por qué lo sigo haciendo?
fdiaz
2
61
De qué hablo cuando hablo de trabajo remoto
fdiaz
1
47
Setting Boundaries
fdiaz
1
58
Swift Values
fdiaz
0
41
Sisifo o Cómo empezar de nuevo - y otra vez.
fdiaz
0
46
Other Decks in Technology
See All in Technology
ユーザーテストガイドライン VERSION 2.0
kouzoukaikaku
0
1.6k
NGINXENG JP#2 - 1-NGINX-エンジニアリング勉強会-きょうの見どころ
hiropo20
0
120
Kaggleシミュレーションコンペの動向
nagiss
0
280
Oracle Transaction Manager for Microservices Free 22.3 製品概要
oracle4engineer
PRO
5
110
証明書って何だっけ? 〜AWSの中間CA移行に備える〜
minorun365
3
2.1k
イ良い日ンマを作る(USBストレージ容量偽装の手法) / USB Storage Capacity Faking Techniques
shutingrz
0
560
re:Invent発表のサービスを取り入れて加速する弥生のSecurity&Governance / accelerating YAYOI's Security and Governance with services announced at reinvent
yayoi_dd
0
150
Deep Neural Networkの共同学習
hf149
0
340
UEでPLATEAU触ってみた
41h0_shiho
0
230
re:Inventの完全招待制イベント Building a Roadmap to SaaSについて / Building a Roadmap to SaaS an invitation only event at reinvent
yayoi_dd
0
150
OpenShiftでスポットVMを使おう.pdf
jpishikawa
1
400
ECテックカンファレンス2023 EC事業部のモバイル開発2023
tatsumi0000
0
340
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
396
63k
The Web Native Designer (August 2011)
paulrobertlloyd
76
2.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
270
12k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
318
19k
Clear Off the Table
cherdarchuk
79
290k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
24
4.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
32
1.9k
Learning to Love Humans: Emotional Interface Design
aarron
263
38k
Building Flexible Design Systems
yeseniaperezcruz
314
35k
The Art of Programming - Codeland 2020
erikaheidi
36
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
44
14k
The Mythical Team-Month
searls
210
40k
Transcript
Move fast and keep your code quality
None
This talk is not about faster development
This talk is about quality
Productivity is a by-product of Quality
⚠ FAIR WARNING ⚠
Not for lone wolfs !
My experience Not a scientific paper
Francisco Díaz franciscodiaz.cl @fco_diaz
None
Chapter zero Quality
Productivity is a by-product of Quality
None
Option A
Work faster Lose product quality
Option B
Work longer Lose quality of life
Option C
None
“Look at all these shitty lines of code I just
wrote!” No one, ever.
We're proud about the quality of our work Not the
quantity
Less quality More production bugs
More bugs less productivity
1 1 Integrating Software Assurance into the Software Development Life
Cycle (SDLC)
100x
Spaghetti code More time per new feature
More time per feature less productivity
Quality means fewer bugs
Quality means faster development per feature
Who's in charge?
Quality is not QA's responsibility
Quality is a company wide effort
Chapter one The company
2010
Early 20s
Must haves:
None
None
None
Nice to have:
None
Startup!
None
None
That's ridiculous
Great work environments 2 don't need perks as bribes 2
5 Ridiculous Employee Perks That Could Backfire
No increase in the quality of the product
It just makes people stay at work longer
How many hours you worked in something
How much of something you did in an hour
I'm 30 What do I value in a company?
Promotes Personal Growth
Space for Learning
Work-Life balance
None
Follow the money
Travel to conferences
Speak at conferences
Access to books, courses, learning material
Allocate time to study
Direct impact in the quality of your life/work
Work in a company that values quality
Chapter two The Project
Flat hierarchy?
Flat hierarchy is a lie
This is informal leadership 3 3 Cut the bullshit: organizations
with no hierarchy don’t exist
Make it explicit
What does a manager look like?
More structure Distributed responsibilities
What is quality?
Good definition of requirements 4 4 Peopleware: Productive Projects and
Teams by Tom DeMarco
Requirements are met Good Quality
Short iterations
Context switching
“When interrupted, it takes an average of 23 mins to
get back to the task. 5 5 Worker, Interrupted: The Cost of Task Switching
Work like you're remote
Rely on async tools
Chapter three The Team
Teams are more important than projects
It's hard to form a good team If it works,
keep doing it!
Form projects around teams not the other way around
Creating good teams
Keep'em small
Sharing knowledge
Study groups
Standards
Pull Requests and Code Reviews
None
None
None
Architecture
6 6 What comes after VIPER? by Steve Powell
Xcode Templates
7 7 Xcode Templates por Camilo Vera
Chapter four The Developer
Story time! Wisdom teeth removal
None
Option D
Say no 8 8 Robert C. Martin - The Clean
Coder
Be professional
“But we really, really need this by Friday” Someone, right
now.
In summary...
Move faster by ⬆ your productivity
⬆ productivity by increasing the quality
Quality first
There's no silver bullet
Company
Project
Team
Be a professional developer
Danke schön @fco_diaz franciscodiaz.cl bennygiang, yasminenadery, callmenick, mackflavelle, aznick, fkenji,
kcfitz, pierrebeugnot, azenMatt, kimcope, FerRZ, WrenHandman, camovrbz, guilegaspar, s-powell, pazams, alecmorgana, hexiumz, chrisaxiom, jfmaggie, EricLin2004, turbolent, roham, annatangzhao, Cassidy-Robertson, ziacastillo, kinhderella, acroca, dete, ni-ko1, danidiazreyna, arthurcamara1, Mathieuu, creedarky