Your SlideShare is downloading. ×
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Epitech industrialisation 2012.key
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Epitech industrialisation 2012.key

772

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
772
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. PHP’s industrialisationEpitech 2012, Paris, France
    • 2. AgendaTame your development cyclesScale up your PHP workGet the tools and methods
    • 3. Speaker Damien Seguy CTO at Bysoft China damien.seguy@gmail.com
    • 4. Yes,we takequestions
    • 5. Romantic PHP
    • 6. Modern PHP
    • 7. Reality check 65 portals next 6 months 6 people to upgrade 350 intranet 120 events sites a year on 150 servers App on one city, cover 12 cities by xmas, expand to 2 countries next year. full time employee for deployements
    • 8. Three mantraRelease code ownershipCapitalize your workInvolve your users
    • 9. ∆ Convention ∆ IDE ∆ Conception ∆ Framework ∆ Deploiement ∆ VCS CapitalizationOwnership ∆ Unit tests ∆ CI ∆ Docs ∆ Bug ∆ Methods Tracking ∆ Functional tests Involvment
    • 10. Release code ownership
    • 11. Release code ownershipLow bus factor Don’t be the only oneUgly code and hacks Write code like everyone else50% of dev time is spend on production actions Don’t be in the path of operations
    • 12. Release code ownershipHave others run your work without youDon’t invest yourself in the codeMake code accessible to someone else
    • 13. Code conventionsPEAR, ZendFrameworks,Symfony...Choose one,use oneBring unityCode_sniffer
    • 14. IDEChoose it for ease of useNetbean / Symfony, Zend tools, Komodo / cakePHPCode browser, editor, debugger, unit test integration,VCS integration, framework integration.
    • 15. FrameworksChoose one, for development speedComponents, conventions, scaffolding, testsCommunity, expertise, trainingBuild a business layer
    • 16. VCSSubversion, git, CVS, bazaarResolve conflictsAllow versioning, paralell development, rollbackStores and distribute the codeCode not in VCS does not exists
    • 17. VCS Development Unit Test Production VCS Continuous Bug Track integration
    • 18. Capitalization
    • 19. Capitalization Accumulate all phases of project Capture information along the way Avoid dead ends Think of who will reuse this
    • 20. Unit Tests PHP Unit, Simple Test, Lemon, Zend_Test, phpt
    • 21. Tests helps decouple ProductionAvoid regression Code PlatformPrevent your recallShows progressServes as manualHelp at communication Customer use
    • 22. ConceptionClass diagram, database schema, navigationDescribe the general organisationList everything that will need name Class, methods, constants, SESSION, includes...Check the result in the code (BOUML)ArgoUML, StarUML, PowerArchitect
    • 23. Automated deploymentPhing, maven, ant, pearNeeded for continuous integrationThe forgotten part of developmentCompulsory for large plat-forms, high scaling
    • 24. Users involvment
    • 25. User involvment Avoid tunnel effectDon’t confront the tidal wave of requests bugs, changes, new, adaptation, accelerationHave users do part of the work
    • 26. Bug trackerMantis, Trac, Redline, JiraConnect it to VCS, deploymentGather feedback from users without direct contactGoes into changelog when deploying
    • 27. Bug trackerMantis, Trac, Redline, JiraConnect it to VCS, deploymentGather feedback from users without direct contactGoes into changelog when deploying
    • 28. Functional testing Green pepper, fitnesse Wiki base : easy on non-technical users Gather business data and use case Tests a priori, test live Developper will do the connection into the code
    • 29. GreenPepper
    • 30. GreenPepper
    • 31. GreenPepper
    • 32. GreenPepper
    • 33. GreenPepper
    • 34. Continuous integration Check the code in back ground phpUnderControl, Hudson, Maven, sonar, Xinc Graphs the results Compilation, code sniffer, unit tests, coverage Log, inclusion, performances... Share with the team, users
    • 35. MethodologiesExplain how you produce codeGet your users involvedMake short cycles to deliver, adapt and polishAgile methodologies : SCRUM, XP, Lean SD, Open Unified ProcessAgile practices may be sufficient
    • 36. DocumentationFrom developper to usersHave developper start itAdd commentsTurn it into a wiki
    • 37. Recommanded sessionsIntroduction au TDDContinuous integration of PHP projectsSimulation Scrum avec prototypage papierXP-game
    • 38. Even further? Continuous deployment (a la flickr) Cross auditing Collaborative auditing Static analysis
    • 39. damien.seguy@gmail.com http://www.slideshare.net/dseguy/

    ×