Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The Fellowship of the Code - PHP TOUR 2014
Search
Ronan Guilloux
June 24, 2014
Programming
410
0
Share
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
210
Raspberry Pi
ronanguilloux
4
530
Other Decks in Programming
See All in Programming
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
360
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
220
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
2k
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
570
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.4k
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
810
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.4k
Oxcを導入して開発体験が向上した話
yug1224
4
280
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
5.2k
ふつうのFeature Flag実践入門
irof
7
3.5k
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
120
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Agile that works and the tools we love
rasmusluckow
331
21k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Rails Girls Zürich Keynote
gr2m
96
14k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
280
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 ?