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

The Fellowship of the Code - PHP TOUR 2014

The Fellowship of the Code - PHP TOUR 2014

Quality & comptencies progess in small web agencies

Ronan Guilloux

June 24, 2014
Tweet

More Decks by Ronan Guilloux

Other Decks in Programming

Transcript

  1. The Fellowship

    of The Code

    Little teams, little clients, Little budgets…

    and the will of quality

    View Slide

  2. var me = {!
    "user": "Ronan"!
    , "age": 37!
    , "origin": "Brittany"!
    , "twitter": "@arno_u_loginlux"!
    , "repo": "github.com/ronanguilloux"!
    , "work": "[email protected]"!
    , "tags": [!
    "dad"!
    , "bearded web developer"!
    , "open-source enthusiast"!
    , "web agency veteran"!
    ]!
    }

    View Slide

  3. Agence Innovation Numérique,

    Nantes


    #frontEnd #innovation #accessibilité

    View Slide

  4. #NotSwag

    View Slide

  5. Working in 

    small web agencies…

    View Slide

  6. alone & resourceful

    View Slide

  7. Should your boss & teammates 

    rely on you?

    View Slide

  8. Are you a reliable person ?

    View Slide

  9. Before changing things,
    let’s change ourselves

    View Slide

  10. Developers?

    Deliverers!

    View Slide

  11. Delivering Web Apps
    Into The Wild

    View Slide

  12. Delivering middle-size web apps
    time estimation: 0,5 to 3 hours


    long, unpredictable & stressful

    View Slide

  13. View Slide

  14. The right tool for the job

    View Slide

  15. understanding your tools

    View Slide

  16. Rule #1 : All my team must be part of it.

    View Slide

  17. « If you’re doing automation,
    you’re already doing
    something right. It’s not about
    how you do it. »
    (Shaun Dunne, medium.com)
    « Grunt vs Gulp vs Make vs Rake vs Jake vs Cake vs
    Brunch vs Ant vs Maven vs Bash vs You… »

    View Slide

  18. (OK, OK, this is all largely inspired by Capistrano directories structure)
    "
    ➜ myApp tree
    !"" [me 19] current -> releases/2014-06-24!
    !"" [me 68] deploy.sh!
    !"" [me 238] releases!
    # !"" [me 68] 2014-04-20!
    # !"" [me 68] 2014-05-02!
    # !"" [me 68] 2014-05-15!
    # !"" [me 68] 2014-06-01!
    # $"" [me 136] 2014-06-24!
    # !"" [me 68] src!
    # $"" [me 136] web!
    # !"" [me 0] index.php!
    # $"" [me 16] uploads -> ../../../uploads

    $"" [me 238] uploads

    "
    11 directories, 1 file

    ➜ myApp!

    View Slide

  19. Cool & simple things always remain cool & simple.
    "
    [email protected]$~: ./deploy.sh!
    [email protected]$~: deploying…!
    [email protected]$~: done!!
    [email protected]$~:

    View Slide

  20. Everyone in the team should now be a deployer.
    "
    [email protected]$~: make deploy!
    [email protected]$~: deploying…!
    [email protected]$~: done!!
    [email protected]$~:

    View Slide

  21. Making is cool.
    "
    [email protected]$~: make build!
    ! [email protected]$~: make deploy!
    ! [email protected]$~: make update!
    ! [email protected]$~: make whatever!
    [email protected]$~:

    View Slide

  22. Before automation

    View Slide

  23. After

    View Slide

  24. Deploy ! Deploy !

    View Slide

  25. Next enhancement…

    View Slide

  26. « As For Github! »
    (probably the best rule ever)

    View Slide

  27. View Slide

  28. View Slide

  29. Do not always ask for permissions.
    Discovered a first nice rule:

    View Slide

  30. Only announce changes

    that just already happened

    View Slide

  31. Next enhancement…

    View Slide

  32. Semantic Versioning

    As A Delivery Process
    One Roadmap to Rule Them All
    v1.2.3


    « major.minor.bugfixes »

    View Slide

  33. Again,

    we didn’t ask for permissions


    but people quickly adopted this.
    "
    Again, let’s stay quiet & carry on.

    View Slide

  34. Make bugs producing… money!

    View Slide

  35. « bug + _______ + ____
    = profit! »
    Quizz :

    View Slide

  36. = non-regression tests FTW
    = enhancing software business value
    = profit!
    Solution :


    « bug + scenario + fix
    = profit! »

    View Slide

  37. Building a BDD culture is long,

    This is only BDD groundwork
    "
    ~
    "
    To be sincere:


    We really used Behat just once :

    testing critical feats of one critical app.


    View Slide

  38. Next enhancement…

    View Slide

  39. but no bugtracker at all

    is a perfect hell
    no bugtracker is perfect

    View Slide

  40. Web Quality Checklist
    that now should become a test suite

    View Slide

  41. Next enhancement…

    View Slide

  42. Freeing things

    View Slide

  43. Freeing more things

    View Slide

  44. Freeing more more things

    View Slide

  45. View Slide

  46. View Slide

  47. View Slide

  48. Hacking your organization

    View Slide

  49. Ronan Guilloux
    @arno_u_loginlux

    github.com/ronanguilloux
    Thanks!
    Questions ?

    View Slide