Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
The Fellowship of the Code - PHP TOUR 2014
Search
Ronan Guilloux
June 24, 2014
Programming
420
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The Fellowship of the Code - PHP TOUR 2014
Quality & comptencies progess in small web agencies
Ronan Guilloux
June 24, 2014
More Decks by Ronan Guilloux
See All by Ronan Guilloux
The fine art of deploying web apps online
ronanguilloux
2
220
Raspberry Pi
ronanguilloux
4
540
Other Decks in Programming
See All in Programming
Heart of Swift Concurrency
koher
0
780
XHTMLが残したもの
yosuke_furukawa
PRO
2
800
AHC070解法紹介
eijirou
0
120
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
480
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
0
280
新卒PdEのリアル
ryu1013
1
500
巨大モノリシックアプリ モダン化大作戦
ktcryomm
0
1k
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.3k
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
1
320
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
250
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
0
540
Jetpack Compose メカニズム
skydoves
0
420
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
910
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Un-Boring Meetings
codingconduct
0
420
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Statistics for Hackers
jakevdp
799
230k
Exploring anti-patterns in Rails
aemeredith
4
510
Discover your Explorer Soul
emna__ayadi
2
1.3k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
450
Transcript
The Fellowship of The Code Little teams, little clients,
Little budgets… and the will of quality
var me = {! "user": "Ronan"! , "age": 37! ,
"origin": "Brittany"! , "twitter": "@arno_u_loginlux"! , "repo": "github.com/ronanguilloux"! , "work": "
[email protected]
"! , "tags": [! "dad"! , "bearded web developer"! , "open-source enthusiast"! , "web agency veteran"! ]! }
Agence Innovation Numérique, Nantes #frontEnd #innovation #accessibilité
#NotSwag
Working in small web agencies…
alone & resourceful
Should your boss & teammates rely on you?
Are you a reliable person ?
Before changing things, let’s change ourselves
Developers? Deliverers!
Delivering Web Apps Into The Wild
Delivering middle-size web apps time estimation: 0,5 to 3 hours
long, unpredictable & stressful
None
The right tool for the job
understanding your tools
Rule #1 : All my team must be part of
it.
« If you’re doing automation, you’re already doing something right.
It’s not about how you do it. » (Shaun Dunne, medium.com) « Grunt vs Gulp vs Make vs Rake vs Jake vs Cake vs Brunch vs Ant vs Maven vs Bash vs You… »
(OK, OK, this is all largely inspired by Capistrano directories
structure) " ➜ myApp tree !"" [me 19] current -> releases/2014-06-24! !"" [me 68] deploy.sh! !"" [me 238] releases! # !"" [me 68] 2014-04-20! # !"" [me 68] 2014-05-02! # !"" [me 68] 2014-05-15! # !"" [me 68] 2014-06-01! # $"" [me 136] 2014-06-24! # !"" [me 68] src! # $"" [me 136] web! # !"" [me 0] index.php! # $"" [me 16] uploads -> ../../../uploads $"" [me 238] uploads " 11 directories, 1 file ➜ myApp!
Cool & simple things always remain cool & simple. "
me@server$~: ./deploy.sh! me@server$~: deploying…! me@server$~: done!! me@server$~:
Everyone in the team should now be a deployer. "
me@server$~: make deploy! me@server$~: deploying…! me@server$~: done!! me@server$~:
Making is cool. " me@server$~: make build! ! me@server$~: make
deploy! ! me@server$~: make update! ! me@server$~: make whatever! me@server$~:
Before automation
After
Deploy ! Deploy !
Next enhancement…
« As For Github! » (probably the best rule ever)
None
None
Do not always ask for permissions. Discovered a first nice
rule:
Only announce changes that just already happened
Next enhancement…
Semantic Versioning As A Delivery Process One Roadmap to Rule
Them All v1.2.3 « major.minor.bugfixes »
Again, we didn’t ask for permissions but people quickly
adopted this. " Again, let’s stay quiet & carry on.
Make bugs producing… money!
« bug + _______ + ____ = profit! » Quizz
:
= non-regression tests FTW = enhancing software business value =
profit! Solution : « bug + scenario + fix = profit! »
Building a BDD culture is long, This is only BDD
groundwork " ~ " To be sincere: We really used Behat just once : testing critical feats of one critical app.
Next enhancement…
but no bugtracker at all is a perfect hell no
bugtracker is perfect
Web Quality Checklist that now should become a test suite
Next enhancement…
Freeing things
Freeing more things
Freeing more more things
None
None
None
Hacking your organization
Ronan Guilloux @arno_u_loginlux github.com/ronanguilloux Thanks! Questions ?