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

How to Supercharge Teams with Carefully Crafted Conventions

How to Supercharge Teams with Carefully Crafted Conventions

What's the secret to a high performing development team? Conventions that multiply throughput and eliminate decision fatigue. But, there's no one-size-fits-all approach.

Learn how to carefully craft a set of conventions for your team by using smaller building blocks. Looking at examples used across companies of all sizes, you'll see how these can supercharge your team's workflows and productivity overnight.

Chris Ball

April 17, 2020
Tweet

More Decks by Chris Ball

Other Decks in Programming

Transcript

  1. Crafted
    arefully
    How to
    Supercharge
    teams.
    @cball_

    View Slide

  2. @cball_

    View Slide

  3. Crafted
    arefully
    How to
    Supercharge
    teams.
    @cball_

    View Slide

  4. @cball_
    Process is everything.

    View Slide

  5. @cball_
    Process is built by
    Conventions.

    View Slide

  6. @cball_
    Understand the why
    Be your best dev, creating process,
    and how to simplify by removing
    decisions.
    Craft conventions
    that Supercharge
    your team.
    See what others do
    Learn a few things from our favorite
    libraries and tools.
    Craft your own
    Find your "base" set of conventions
    and add your secret sauce on top.
    1 2 3

    View Slide

  7. @cball_
    Craft conventions
    that Supercharge
    your team.
    Perfect your Process
    Try things out, fail, and iterate.
    Repeat 2-4
    See what others are doing, craft your
    own, perfect them.
    4 5

    View Slide

  8. @cball_
    @cball_

    View Slide

  9. @cball_
    CTO

    View Slide

  10. @cball_

    View Slide

  11. @cball_

    View Slide

  12. @cball_

    View Slide

  13. @cball_
    Back to Conventions.

    View Slide

  14. CBALL
    Understand the Why

    View Slide

  15. @cball_
    From Scott's talk yesterday:

    View Slide

  16. @cball_
    From Jason's talk yesterday:
    "Don't worry about scaling, routing, etc.
    You're always doing it the same way.

    Just let Serverless take care of that for you."

    View Slide

  17. @cball_
    Basically everything in Nader's talk.

    View Slide

  18. @cball_
    Overview
    HOW TO BE
    YOUR BEST
    DEV
    Code
    Play to your strengths
    Understand what slows you down
    Eliminate Decision Fatigue
    Teach what you know

    View Slide

  19. @cball_
    Overview
    HOW TO BE
    YOUR BEST
    DEV
    Code
    Play to your strengths
    Understand what slows you down
    Eliminate Decision Fatigue
    Teach what you know

    View Slide

  20. @cball_
    Play to your
    strengths.
    Think like a sports team!
    Adapt your "plays" to fit your players.

    View Slide

  21. @cball_
    Understand what
    slows you down.
    Is this the right way?
    Didn't I just make this mistake last
    week?
    Why do I have to keep telling [person]
    to do [X] during Code Review?
    etc.

    View Slide

  22. @cball_
    Get your team on the same page to
    multiply throughput.

    View Slide

  23. @cball_
    Eliminate
    Decision Fatigue.
    You have a finite number of
    decisions you can make in a single
    day.
    Think of it like a battery.
    It's best to spend mental energy on
    decisions that count!

    View Slide


  24. QUOTE
    @cball_
    Barack Obama
    You'll see I wear only gray or blue suits. I'm trying
    to pare down decisions. I don't want to make
    decisions about what I'm eating or wearing.
    Because I have too many other decisions to
    make.

    View Slide

  25. CBALL
    See what others do

    View Slide

  26. @cball_

    View Slide

  27. @cball_

    View Slide

  28. @cball_
    Utility css frameworks

    View Slide

  29. @cball_
    semantic-release: commits & versioning

    View Slide

  30. @cball_
    Npm: "Run scripts with npm run"
    Yarn: "we use run 100x/day. Make it the default"

    View Slide

  31. @cball_
    I can keep going, but
    you get the point.

    View Slide

  32. CBALL
    Craft your own
    Conventions

    View Slide

  33. @cball_
    Find a base. Build on top.
    Find workflows and patterns you mostly agree with.

    View Slide

  34. @cball_
    Eslint/Recommended

    View Slide

  35. @cball_
    ❗Stop doing this❗

    View Slide

  36. @cball_
    Create a plugin for your team.

    View Slide

  37. @cball_
    Think about what you require in a Pull Request.

    View Slide

  38. @cball_
    Think about what you require in a Pull Request.
    Use a template to enforce it.

    View Slide

  39. @cball_
    "Just copy the other one"

    View Slide

  40. @cball_
    "Just copy the other one"
    Leverage a generator.

    View Slide

  41. @cball_
    "Just copy the other one"
    Leverage a generator.

    View Slide

  42. @cball_
    (Hey look! There's still code in this talk)

    View Slide

  43. @cball_
    Templates live right in the project.

    View Slide

  44. @cball_
    Here's what that looks like in action.

    View Slide

  45. @cball_
    Create Checklists.

    View Slide

  46. @cball_
    Create Checklists.

    View Slide

  47. @cball_
    What else can you
    think of?

    View Slide

  48. @cball_
    Conventions,
    Crafted.


    View Slide

  49. CBALL
    Perfect your
    Process



    View Slide

  50. •The team needs to understand the vision
    (be on the same page)
    •If there is confusion, simplify.
    Synchronization Repetition
    •You will hardly ever get it right the first time.
    •When you veer off course, understand what
    went wrong.
    •Adapt, iterate, and repeat.
    HOW TO PERFECT PROCESS
    RFCs RETROs

    View Slide

  51. @cball_
    RFCs
    Give your team a clear picture of
    why. Show the current problem.
    Show sample code.
    Detail how you enforce / teach it.
    Show Drawbacks and questions.

    View Slide

  52. @cball_
    Retros
    Talk about what went well and
    what could be improved with your
    new approach.
    Do these often!

    View Slide

  53. @cball_
    Perfection.

    View Slide

  54. @cball_
    Repeat
    Steps 2 -4.
    ♻ ♻
    2 3 4
    Perfect your Process
    See what others do Craft your own

    View Slide

  55. @cball_
    Speaking of Conventions...

    View Slide

  56. @cball_
    Coming Soon!
    React Native Release
    ReactNativeRelease.com
    Echobind has shipped lots of projects, Many
    are mobile apps.
    React Native devs are creating great apps, but
    often fail to consider the "last mile" of quality
    deployment workflows.
    We're building an OSS ecosystem to help ease
    this process, and cant wait to share it with you.
    We're targeting an early June release. If your
    team wants to help us test it, sign up or reach
    out!
    Major Features:
    * Prompt driven CLI to setup your release
    config with minimal effort
    * Initially supports CircleCI, but will support
    other providers
    * Built on top of Fastlane with added
    conventions and learnings from years of
    React Native development

    View Slide

  57. @cball_
    Take time to do this.

    View Slide

  58. @cball_
    You'll be more efficient.

    View Slide

  59. @cball_
    You'll ship more features.

    View Slide

  60. @cball_
    You will help level-up other
    team members.

    View Slide

  61. @cball_
    You'll have a better
    Developer Experience.

    View Slide

  62. Crafted
    arefully
    That's how you
    Supercharge
    your team.

    View Slide