69
Developing sustainable projects with PHP

Developing sustainable php projects

Embed Size (px)

Citation preview

Page 1: Developing sustainable php projects

Developing sustainable projectswith PHP

Page 2: Developing sustainable php projects

Who am I?

Michele Orselli

CTO@Ideato @[email protected]

Page 3: Developing sustainable php projects

a lot of web projects fail

developing web projects is hard

Page 4: Developing sustainable php projects

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

a lot of web projects fail

can we develop in a sustainable way?

Page 6: Developing sustainable php projects

a lot of web projects fail

lightweight processes

Page 7: Developing sustainable php projects

already heard about that?

Page 8: Developing sustainable php projects

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

how I (we?) develop software

don’t make assumptions

Page 10: Developing sustainable php projects

how I (we?) develop software

don’t make assumptionsautomate

Page 11: Developing sustainable php projects

how I (we?) develop software

don’t make assumptionsautomate

communicate

Page 12: Developing sustainable php projects

how I (we?) develop software

don’t make assumptionsautomate

communicatecode is the easy part

Page 13: Developing sustainable php projects

that’s all folks!

Thank you!

Page 14: Developing sustainable php projects

a better workflow

Documentation

Page 15: Developing sustainable php projects

a better workflow

DocumentationSucks!

Page 16: Developing sustainable php projects

a better workflow

User Stories FTW!

Page 17: Developing sustainable php projects

a better workflow

AS <role>I WANT <do something> SO THAT <benefit>

Page 18: Developing sustainable php projects

a better workflow

there’s no magic

Page 19: Developing sustainable php projects

a better workflow

there’s no magicwhole team

Page 20: Developing sustainable php projects

a better workflow

there’s no magicwhole team

focus on value

Page 21: Developing sustainable php projects

a better workflow

there’s no magicwhole team

focus on valuecomunication vs documentation

Page 22: Developing sustainable php projects

a better workflow

no assumptions on what the client thinks

Page 23: Developing sustainable php projects

a better workflow

prioritization &

estimation

Page 24: Developing sustainable php projects

a better workflow

no assumptionson what is valuable

Page 25: Developing sustainable php projects

a better workflow

GDocs FTW!

Page 26: Developing sustainable php projects

a better workflow

Page 27: Developing sustainable php projects

a better workflow

work in small batches

Page 28: Developing sustainable php projects

a better workflow

work in small batchesand iterate

Page 29: Developing sustainable php projects

a better workflow

no assumptions on what the client wants

Page 30: Developing sustainable php projects

a better workflow

visualize flow

Page 31: Developing sustainable php projects

a better workflow

Trello FTW!

Page 32: Developing sustainable php projects

a better workflow

Page 33: Developing sustainable php projects

a better workflow

release often

Page 34: Developing sustainable php projects

a better workflow

“if you aren’t ashamed [...] you’ve released too late”

Page 35: Developing sustainable php projects

a better workflow

no assumptions on what the user wants

Page 36: Developing sustainable php projects

let’s do that in PHP!

short cyclesrapid releases

iterate

Page 37: Developing sustainable php projects

let’s do that in PHP!

from stories to tests

Page 38: Developing sustainable php projects

let’s do that in PHP!

Behat

Page 39: Developing sustainable php projects

Behat

Page 40: Developing sustainable php projects

Behat

Page 41: Developing sustainable php projects

Behat

Page 42: Developing sustainable php projects

Behat

Page 43: Developing sustainable php projects

libraries and frameworks

libraries

Page 44: Developing sustainable php projects

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

don’t reinvent the wheel

Page 46: Developing sustainable php projects

don’t reinvent the wheel

Page 47: Developing sustainable php projects

libraries and frameworks

microframeworks

Page 48: Developing sustainable php projects

libraries and frameworks

Silex

Page 49: Developing sustainable php projects

libraries and frameworks

Page 50: Developing sustainable php projects

libraries and frameworks

full-stack frameworks

Page 51: Developing sustainable php projects

libraries and frameworks

Page 52: Developing sustainable php projects

libraries and frameworks

Page 53: Developing sustainable php projects

libraries and frameworks

Page 54: Developing sustainable php projects

testing

Page 55: Developing sustainable php projects

testing

Page 56: Developing sustainable php projects

testing

no assumptions on the design

Page 57: Developing sustainable php projects

testing

no regressions

Page 58: Developing sustainable php projects

deploy

Deploy

Page 59: Developing sustainable php projects

putting it all together

Page 60: Developing sustainable php projects

putting it all together

continuous integration

Page 61: Developing sustainable php projects

putting it all together: CI

Page 62: Developing sustainable php projects

Wrap up

wrap up

Page 63: Developing sustainable php projects

Wrap up

PHP is good enough

Page 64: Developing sustainable php projects

Wrap up

Code is the easy part

Page 65: Developing sustainable php projects

Wrap up

Focus on value

Page 66: Developing sustainable php projects

Wrap up

Visualize flow

Page 67: Developing sustainable php projects

Wrap up

Automate

Page 68: Developing sustainable php projects

Wrap up

Communicate

Page 69: Developing sustainable php projects

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