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

EMBRACING CHAOS

EMBRACING CHAOS

This talk was given at @queens_js and is an overview of a process I developed to handle ad-hoc requests that get routed to engineering teams.

Juan Pablo Buriticá

June 08, 2017
Tweet

More Decks by Juan Pablo Buriticá

Other Decks in Programming

Transcript

  1. Juan Pablo Buriticá
    VP of Engineering - splice.com
    @buritica
    BUILDING EFFICIENT TEAMS THROUGH ENGINEERING SUPPORT
    EMBRACING CHAOS

    View Slide

  2. STORY TIME

    View Slide

  3. BEFORE I WAS AN
    ENGINEERING MANAGER
    I WAS AN ENGINEER
    "

    View Slide

  4. THIS MEANT I TRIED TO EMBRACE
    WHAT SOME PEOPLE CALLED
    "TRUE AGILE" OR SCRUM
    (I know I'm butchering these terms, sry not sry)

    View Slide

  5. I DREAMED IN POINTS

    View Slide

  6. THOUGHT IN ITERATIONS

    View Slide

  7. LIVED SPRINT BY SPRINT

    View Slide

  8. PLANNED ALL THE THINGS!!

    View Slide

  9. TALKED TO STAKEHOLDERS

    View Slide

  10. I SCRUMMED THE SCRUMS

    View Slide

  11. EVERY ONCE IN A WHILE...

    View Slide


  12. A HOVERING SUIT WOULD APPROACH

    View Slide

  13. XXXX NEEDS THIS FIXED ASAP

    View Slide

  14. UH, OH...
    WE MUST...

    View Slide

  15. .....

    View Slide

  16. ...BREAK THE SPRINT

    View Slide

  17. OHHHH, THE VELOCITY!

    View Slide

  18. I WONDERED WHY EVEN AFTER ALLOCATING
    FLEXIBLE POINTS TO PREVENT THIS,
    EMERGENCIES KEPT KILLING OUR SPRINTS

    View Slide


  19. "WHEN I AM THE BOSS, I WILL
    NEVER LET THIS HAPPEN AGAIN"

    View Slide

  20. AND THEN IT HAPPENED...

    View Slide

  21. ...JUAN BOSS

    View Slide

  22. View Slide

  23. IN ORDER TO FIX THIS I DECIDED
    TO EMBRACE CHAOS

    View Slide

  24. PRODUCTS IN EARLY STARTUPS
    ARE EXPECTED TO CHANGE
    CONSTANTLY

    View Slide

  25. SHORT PLANNED ITERATIONS ARE GREAT
    FOR CONSTANTLY SHIPPING NEW FEATURES
    & ENHANCEMENTS

    View Slide

  26. BUT THEY DON'T SERVE WELL
    NEEDS LIKE EMERGENCIES OR
    KEEPING THE LIGHTS ON

    View Slide

  27. I BROKE DOWN ENG INTO
    DIFFERENT TYPES OF WORK AND
    TRIED TO ORGANIZE AROUND IT

    View Slide

  28. THE 3 MAIN TYPES OF WORK I
    PREFER TO GROUP ARE:

    View Slide

  29. FEATURES
    PRODUCT/BIZ FOLKS TEND TO OVER PRIORITIZE

    View Slide

  30. - ARE PLANNED
    - WHAT TO WORK ON: OWNED BY PRODUCT MGT
    - WHEN TO SHIP: ROADMAP DRIVEN
    - HOW IT'S BUILT: SHARED BY ENG & DESIGN
    - GENERALLY NEW FEATURES OR ENHANCEMENTS GO HERE
    FEATURES:

    View Slide

  31. MAINTENANCE
    ENG TENDS TO OVER PRIORITIZE
    BIZ TENDS TO UNDER PRIORITIZE
    PRODUCT SOMETIMES ONE OR THE OTHER

    View Slide

  32. - IS CONSTANT
    - NOT GENERALLY ROADMAP DRIVEN
    - WHAT TO WORK ON: OWNED BY ENG
    - WHEN TO SHIP: OWNED BY ENG
    - HOW IT'S BUILT: OWNED BY ENG
    - IT'S LIKE KEEPING YOUR KITCHEN EQUIPMENT CLEAN
    - REFACTORING, DEPENDENCY OR SYSTEM UPDATES, UPGRADES, ETC
    MAINTENANCE:

    View Slide

  33. EVERYTHING ELSE
    EXEC/BIZ/PRODUCT/CUSTOMER SERVICE/NEED IT TO OPERATE BUT
    ARE NOT GENERALLY AWARE OF THE RIPPLES
    ENG UNDERSTANDS URGENCY, BUT TENDS TO NOT COMMUNICATE
    BROADER IMPACT ON EXISTING PROJECTS

    View Slide

  34. a.k.a. ENGINEERING SUPPORT
    -

    View Slide

  35. NOT TO BE CONFUSED WITH PRODUCT OR
    CUSTOMER SUPPORT WHICH HEAVILY RELY
    ON ENG SUPPORT, BUT BELONG TO OTHER
    DEPTS

    View Slide

  36. - ADHOC & UNPREDICTABLE
    - NOT ROADMAP DRIVEN
    - WHAT TO WORK ON: OWNED BY REQUESTER
    - WHEN TO SHIP: ASAP ASAP ASAP ASAP
    - HOW IT'S BUILT: OWNED BY ENG AND/OR REQUESTER
    - KNOWN AS FIREFIGHTING
    - GENERALLY A COLLEAGUE IS ASKING FOR ENG HELP OR A
    CUSTOMER VIA CUSTOMER SUPPORT
    ENGINEERING SUPPORT:

    View Slide

  37. - BUG NEEDS FIXING
    - BUG IS BLOCKING USER OR USER NEEDS HELP
    - MARKETING NEEDS A MICROSITE FOR TOMORROW
    - EXECS NEED DATA FOR URGENT BOARD DECK
    - PRODUCT MGR NEEDS ANALYTICS DEBUGGING RIGHT NOW
    EXAMPLES:

    View Slide

  38. MY TARGET ALLOCATION

    View Slide

  39. 60% OR MORE DEDICATED TO FEATURES
    FEATURES DRIVE BUSINESS

    20% OR LESS DEDICATED TO SUPPORT
    NECESSARY FOR OPERATIONS, BUT TOO MUCH TIME USED MAY SIGNIFY ISSUE WITH
    SOFTWARE QUALITY, PRODUCT DESIGN OR PROCESS IMPLEMENTATION

    20% CONSTANT FOR MAINTENANCE
    KEEP THE LIGHTS ON AND HOLDS PREVENTATIVE MEASURES

    View Slide

  40. MY PROCESS FOR ENG SUPPORT

    View Slide

  41. EVERY SINGLE AD-HOC REQUEST IN
    THE COMPANY STARTS IN A TICKET
    SYSTEM

    View Slide

  42. NOT VIA EMAIL

    View Slide

  43. MUCH LESS VIA SLACK

    View Slide

  44. IF WE DON'T HAVE A TICKET
    WE'RE NOT SOLVING

    View Slide

  45. THIS APPLIES FOR CEO AND
    BELOW

    View Slide

  46. PURPOSE: TO CENTRALIZE VISIBILITY
    OF WORK LOAD, ELIMINATE SIDE
    REQUESTS AND QUANTIFY SIDE
    EFFECTS OF AD-HOC WORK

    View Slide

  47. WE HAVE SOME TEMPLATES
    (PROCESS WILL BE OPTIMIZED DOWN THE LINE, RIGHT NOW IT WORKS)

    View Slide


  48. CHORE

    View Slide

  49. **Brief Summary**
    **What do you need done?**:
    _briefly describe the task needed_
    **Why is this important?**:
    _this helps us prioritize_
    **Can you achieve this without engineering**: yes / no
    **Is this blocking you?**: yes / no
    **Is there a due date**: yes (set it on the ticket) / no
    **Additional details for request below**
    - _label request properly, remove template tag, remove this line_

    View Slide


  50. BUG

    View Slide

  51. **Brief Summary**
    As a `___ ` I did `___` and expected `___` but experienced `___`.
    **Steps to reproduce**: (_if available_)
    1.
    2.
    3.
    **Logged in as**: `username` or `logged-out`
    **Client Details**
    - OS version
    - Browser Version: `delete if not applicable`
    **Zendesk Link**: `delete if not applicable`
    **Mixpanel Link**: `delete if not applicable`
    - _attach any files and remove this line_
    - _label issue properly, remove template tag, remove this line_

    View Slide

  52. PRODUCT MGR || LEADER
    PRIORITIZE

    View Slide

  53. PRIORITIES RESET DAILY OR
    HOURLY IF SOMETHING
    CRITICAL SHOWS UP

    View Slide

  54. ROTATION OF ENGINEERS
    TACKLE TOP TO BOTTOM

    View Slide

  55. THIS IS THE 1ST LINE OF DEFENSE
    3

    View Slide

  56. IF EXPERTISE IS NEEDED, OTHER ENGS GET
    INVOLVED TO PAIR, DEBUG OR GUIDE
    RESOLUTION
    3 + 4

    View Slide

  57. BENEFITS I'VE FOUND

    View Slide

  58. WHOLE ORGANIZATION GETS
    THEIR NEEDS TAKEN CARE OF IN
    CONTEXT OF GLOBAL PRIORITY

    View Slide

  59. WE SHARE KNOWLEDGE ACROSS
    ALL ENGINEERING

    View Slide

  60. EVERYONE*
    "TAKES ONE FOR THE TEAM"

    View Slide

  61. GREAT PLACE FOR
    ON-BOARDING ENGINEERS

    View Slide

  62. ENG SUPPORT PROTECTS
    OTHER 2 WORK STREAMS <3

    View Slide

  63. AND WE DON'T
    "BREAK THE SPRINT"

    View Slide

  64. DISCLAIMER & CONTEXT:
    I'VE BEEN V HAPPY WITH THE RESULTS OF THIS PROCESS IN VARIOUS
    PRODUCT ENGINEERING TEAMS RANGING ON 3 - 40 MEMBERS (MINE &
    AS ADVISOR/CONSULTANT IN ~6/yrs). AS ORGS GROW PAST THIS, I
    THINK DEDICATED SUPPORT SEAMS TO BE A REASONABLE
    EXPECTATION TO SUPPLEMENT ROTATION.
    WILL UPDATE WITH ANY FINDINGS IN THE FUTURE

    View Slide

  65. THANKS
    Juan Pablo Buriticá
    VP of Engineering - splice.com
    @buritica

    View Slide