Epitech industrialisation 2012.key

1,064 views

Published on

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

No Downloads
Views
Total views
1,064
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

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
  • Epitech industrialisation 2012.key

    1. 1. PHP’s industrialisationEpitech 2012, Paris, France
    2. 2. AgendaTame your development cyclesScale up your PHP workGet the tools and methods
    3. 3. Speaker Damien Seguy CTO at Bysoft China damien.seguy@gmail.com
    4. 4. Yes,we takequestions
    5. 5. Romantic PHP
    6. 6. Modern PHP
    7. 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. 8. Three mantraRelease code ownershipCapitalize your workInvolve your users
    9. 9. ∆ Convention ∆ IDE ∆ Conception ∆ Framework ∆ Deploiement ∆ VCS CapitalizationOwnership ∆ Unit tests ∆ CI ∆ Docs ∆ Bug ∆ Methods Tracking ∆ Functional tests Involvment
    10. 10. Release code ownership
    11. 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. 12. Release code ownershipHave others run your work without youDon’t invest yourself in the codeMake code accessible to someone else
    13. 13. Code conventionsPEAR, ZendFrameworks,Symfony...Choose one,use oneBring unityCode_sniffer
    14. 14. IDEChoose it for ease of useNetbean / Symfony, Zend tools, Komodo / cakePHPCode browser, editor, debugger, unit test integration,VCS integration, framework integration.
    15. 15. FrameworksChoose one, for development speedComponents, conventions, scaffolding, testsCommunity, expertise, trainingBuild a business layer
    16. 16. VCSSubversion, git, CVS, bazaarResolve conflictsAllow versioning, paralell development, rollbackStores and distribute the codeCode not in VCS does not exists
    17. 17. VCS Development Unit Test Production VCS Continuous Bug Track integration
    18. 18. Capitalization
    19. 19. Capitalization Accumulate all phases of project Capture information along the way Avoid dead ends Think of who will reuse this
    20. 20. Unit Tests PHP Unit, Simple Test, Lemon, Zend_Test, phpt
    21. 21. Tests helps decouple ProductionAvoid regression Code PlatformPrevent your recallShows progressServes as manualHelp at communication Customer use
    22. 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. 23. Automated deploymentPhing, maven, ant, pearNeeded for continuous integrationThe forgotten part of developmentCompulsory for large plat-forms, high scaling
    24. 24. Users involvment
    25. 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. 26. Bug trackerMantis, Trac, Redline, JiraConnect it to VCS, deploymentGather feedback from users without direct contactGoes into changelog when deploying
    27. 27. Bug trackerMantis, Trac, Redline, JiraConnect it to VCS, deploymentGather feedback from users without direct contactGoes into changelog when deploying
    28. 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. 29. GreenPepper
    30. 30. GreenPepper
    31. 31. GreenPepper
    32. 32. GreenPepper
    33. 33. GreenPepper
    34. 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. 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. 36. DocumentationFrom developper to usersHave developper start itAdd commentsTurn it into a wiki
    37. 37. Recommanded sessionsIntroduction au TDDContinuous integration of PHP projectsSimulation Scrum avec prototypage papierXP-game
    38. 38. Even further? Continuous deployment (a la flickr) Cross auditing Collaborative auditing Static analysis
    39. 39. damien.seguy@gmail.com http://www.slideshare.net/dseguy/

    ×