developing sustainable php projects
TRANSCRIPT
![Page 1: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/1.jpg)
Developing sustainable projectswith PHP
![Page 3: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/3.jpg)
a lot of web projects fail
developing web projects is hard
![Page 4: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/4.jpg)
a lot of web projects fail
Changing requirementsInconsistent demandsInsufficient time or budgethttp://www.zdnet.com/blog/projectfailures/research-25-percent-of-web-projects-fail/665
![Page 5: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/5.jpg)
a lot of web projects fail
can we develop in a sustainable way?
![Page 6: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/6.jpg)
a lot of web projects fail
lightweight processes
![Page 7: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/7.jpg)
already heard about that?
![Page 8: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/8.jpg)
already heard about that?
this is NOT a talk about X where X IN (‘Agile’, ‘Lean’, ‘Scrum’, <insert buzzword>, ...)
![Page 9: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/9.jpg)
how I (we?) develop software
don’t make assumptions
![Page 10: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/10.jpg)
how I (we?) develop software
don’t make assumptionsautomate
![Page 11: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/11.jpg)
how I (we?) develop software
don’t make assumptionsautomate
communicate
![Page 12: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/12.jpg)
how I (we?) develop software
don’t make assumptionsautomate
communicatecode is the easy part
![Page 13: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/13.jpg)
that’s all folks!
Thank you!
![Page 14: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/14.jpg)
a better workflow
Documentation
![Page 15: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/15.jpg)
a better workflow
DocumentationSucks!
![Page 16: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/16.jpg)
a better workflow
User Stories FTW!
![Page 17: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/17.jpg)
a better workflow
AS <role>I WANT <do something> SO THAT <benefit>
![Page 18: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/18.jpg)
a better workflow
there’s no magic
![Page 19: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/19.jpg)
a better workflow
there’s no magicwhole team
![Page 20: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/20.jpg)
a better workflow
there’s no magicwhole team
focus on value
![Page 21: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/21.jpg)
a better workflow
there’s no magicwhole team
focus on valuecomunication vs documentation
![Page 22: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/22.jpg)
a better workflow
no assumptions on what the client thinks
![Page 23: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/23.jpg)
a better workflow
prioritization &
estimation
![Page 24: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/24.jpg)
a better workflow
no assumptionson what is valuable
![Page 25: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/25.jpg)
a better workflow
GDocs FTW!
![Page 26: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/26.jpg)
a better workflow
![Page 27: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/27.jpg)
a better workflow
work in small batches
![Page 28: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/28.jpg)
a better workflow
work in small batchesand iterate
![Page 29: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/29.jpg)
a better workflow
no assumptions on what the client wants
![Page 30: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/30.jpg)
a better workflow
visualize flow
![Page 31: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/31.jpg)
a better workflow
Trello FTW!
![Page 32: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/32.jpg)
a better workflow
![Page 33: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/33.jpg)
a better workflow
release often
![Page 34: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/34.jpg)
a better workflow
“if you aren’t ashamed [...] you’ve released too late”
![Page 35: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/35.jpg)
a better workflow
no assumptions on what the user wants
![Page 36: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/36.jpg)
let’s do that in PHP!
short cyclesrapid releases
iterate
![Page 37: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/37.jpg)
let’s do that in PHP!
from stories to tests
![Page 38: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/38.jpg)
let’s do that in PHP!
Behat
![Page 39: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/39.jpg)
Behat
![Page 40: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/40.jpg)
Behat
![Page 41: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/41.jpg)
Behat
![Page 42: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/42.jpg)
Behat
![Page 43: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/43.jpg)
libraries and frameworks
libraries
![Page 44: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/44.jpg)
don’t reinvent the wheel
ASSETIC: asset managementDOCTRINE: ORMTWIG: templating engine
Sf2 components: HttpKernel, Console, Process, ...Zf2 components: Mvc, Db, Authentication, ......
![Page 45: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/45.jpg)
don’t reinvent the wheel
![Page 46: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/46.jpg)
don’t reinvent the wheel
![Page 47: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/47.jpg)
libraries and frameworks
microframeworks
![Page 48: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/48.jpg)
libraries and frameworks
Silex
![Page 49: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/49.jpg)
libraries and frameworks
![Page 50: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/50.jpg)
libraries and frameworks
full-stack frameworks
![Page 51: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/51.jpg)
libraries and frameworks
![Page 52: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/52.jpg)
libraries and frameworks
![Page 53: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/53.jpg)
libraries and frameworks
![Page 54: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/54.jpg)
testing
![Page 55: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/55.jpg)
testing
![Page 56: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/56.jpg)
testing
no assumptions on the design
![Page 57: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/57.jpg)
testing
no regressions
![Page 58: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/58.jpg)
deploy
Deploy
![Page 59: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/59.jpg)
putting it all together
![Page 60: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/60.jpg)
putting it all together
continuous integration
![Page 61: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/61.jpg)
putting it all together: CI
![Page 62: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/62.jpg)
Wrap up
wrap up
![Page 63: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/63.jpg)
Wrap up
PHP is good enough
![Page 64: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/64.jpg)
Wrap up
Code is the easy part
![Page 65: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/65.jpg)
Wrap up
Focus on value
![Page 66: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/66.jpg)
Wrap up
Visualize flow
![Page 67: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/67.jpg)
Wrap up
Automate
![Page 68: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/68.jpg)
Wrap up
Communicate
![Page 69: Developing sustainable php projects](https://reader034.vdocuments.site/reader034/viewer/2022052522/554be6d1b4c9056b348b4b4b/html5/thumbnails/69.jpg)
that’s all folks!
Thank you!@_orso_ [email protected]
Pics Credits
Plant: http://commons.wikimedia.org/wiki/File:L4C_small.png
Capt Obvious: http://uncyclopedia.wikia.com/wiki/File:Captain-obvious.jpg