Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Infrastructure Debt

Infrastructure Debt

Talk I gave at Lone Star PHP 2012 about infrastructure debt and friction, basically the "bills" you have to pay to get code from development to shipped

Chris Hartjes

July 02, 2012
Tweet

More Decks by Chris Hartjes

Other Decks in Programming

Transcript

  1. Infrastructure
    debt
    Chris Hartjes
    Lone Star PHP -- June 30, 2012
    @grmpyprogrammer

    View Slide

  2. View Slide

  3. View Slide

  4. What is
    Infrastructure
    Debit?

    View Slide

  5. View Slide

  6. It is the price
    of getting code
    from idea to
    Shipped

    View Slide

  7. Reg
    Braithwaite
    (@raganwald)
    “Debt and friction both
    accumulate, but debt must
    be "repaid" in a lump sum. If
    "technical debt" or
    "infrastructure debt"
    means your velocity is
    falling over time, it's
    friction, not debt.”

    View Slide

  8. Think of things
    in terms of
    bills to be paid

    View Slide

  9. BILL #1
    Version control

    View Slide

  10. There is no
    excuse to not
    use version
    control

    View Slide

  11. View Slide

  12. File sharing is not version control

    View Slide

  13. No version control
    means you cannot
    easily share and
    UPDATE files

    View Slide

  14. Bill #2
    Consistency in
    environments

    View Slide

  15. “Works for
    me...”

    View Slide

  16. Vagrant

    View Slide

  17. “Create and configure
    lightweight,
    reproducible, and
    portable development
    environments.”
    http://vagrantup.com

    View Slide

  18. View Slide

  19. Everything
    needs to be
    the same
    everywhere

    View Slide

  20. Too many
    moving parts?

    View Slide

  21. Bill #3
    Non-automated
    Depoyment

    View Slide

  22. View Slide

  23. “If you find
    yourself doing
    something twice,
    make the
    computer do it!”

    View Slide

  24. Capistrano
    Not the place the swallows go to

    View Slide

  25. PHing Is
    Not GNU
    make

    View Slide

  26. People Make
    Mistakes

    View Slide

  27. BILL #4
    Logging

    View Slide

  28. E_STRICT
    RIGHT?!?!?!

    View Slide

  29. Everyone should
    see the logs who
    can help fix
    things

    View Slide

  30. Centralized
    logs hide no
    secrets

    View Slide

  31. Do your own
    logging

    View Slide

  32. BILL #5
    No Coding Standard

    View Slide

  33. “All the code
    in the same language
    in your application
    should look the same”

    View Slide

  34. PHP_CodeSniffer

    View Slide

  35. “Context shifts
    to understand
    code that always
    looks different has
    a real cost”

    View Slide

  36. BILL #6
    Siloing Developers

    View Slide

  37. “You have a
    team, make them
    act like a team”

    View Slide

  38. View Slide

  39. View Slide

  40. “Cross-functional
    teams get more done”

    View Slide

  41. View Slide

  42. Debt Needs
    To Get Paid

    View Slide

  43. Don’t Accept
    Things As The
    Way It Always
    Will Be

    View Slide

  44. Thank you!

    View Slide

  45. http://www.littlehart.net/atthekeyboard
    @grmpyprogrammer
    http://joind.in/6356

    View Slide