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

Bebop to the Top

Bebop to the Top

How the jazz ensemble can serve as an archetype for development teams.

Michael Cain

April 29, 2017
Tweet

More Decks by Michael Cain

Other Decks in Technology

Transcript

  1. BEBOP TO THE TOP THE JAZZ BAND AS A GUIDE

    TO LEADERSHIP CAIN @CODETRANE CODETRANE.IO
  2. FEATURES OF AN IDYLLIC WORK PLACE • CLEAR EXPECTATIONS •

    You have a job description, which you understand and is aligned to your skill set • You understand the project/application/super-secret alien comm’s system to which your contributing • SUPPORTIVE LEADERSHIP • Your boss is a servant-leader (TBD) • The culture of your workplace aligns with your values • FUN! • You enjoy your work and the people you work • You are treated like a human being (work/life balance)
  3. WORKING FOR SOMEONE THAT MAKES YOU WANT TO FIND OUT

    WHAT RM –RF * IS ALL ABOUT • MICROMANAGEMENT/MACRO-NON-MANAGEMENT • IF you got a job description, it seems to be for a job that you don’t have • You’re frequently assigned to different, unrelated projects or multiple unrelated projects concurrently • No consistency in work day/leadership • UNSUPPORTIVE LEADERSHIP • Your boss is a tyrant/ghost • The culture of your workplace has little to do with your own values • !FUN • Your workday swings wildly between boredom and chaos • You are treated like a cog in a machine
  4. HOW THE BIG BAND WORKS IN 60 SECONDS • Instrumentation

    is divided into two sections • Horn section (trumpets, trombones, saxophones) • Rhythm section (piano, guitar, bass, drums) • Responsibilities are divided into three categories • Melody (Core Language) • Harmony (Framework) • Rhythm/Time (DevOps) • Compositions are based on patterns • Rhythm changes/Blues/AABA • ”HEAD – Solos – HEAD” • ”Convention over Configuration” • Solos are taken over the form of the composition
  5. GUIDELINES VS. RULES • COMPANY STYLE GUIDES • Provides ”harmony”

    for your developers • Gives your developers freedom to develop (playing in the sandbox) • GUIDELINES CAN BE BENT, NOT BROKEN • Guidelines provide flexibility for the unknown • They also make room for the future
  6. GUIDELINES VS. RULES IN DEVELOPMENT • RULES-BASED USER STORY •

    “As a user, given I’m logged in, I want to see our company logo as an 90x45 .png file in the west pane of the nav bar (nav bar color #6833FF) with Helvetica font as the default text, displaying the links as highlighted text (#52FF33) with a maximum load time of 566ms.“ • GUIDELINE-BASED USER STORY • “As a user, given I‘m logged in, I want our company logo to display in the nav bar, with highlighted links“
  7. PLAY WHAT YOU LIKE; BE AWARE OF YOUR BAND •

    WE DON’T DEVELOP IN A VACUUM • What we do on our branch should ‘play nice’ with the code base • TDD/CI • REMEMBER YOUR FUTURE SELF • Freedom == Power == Responsibility • Expressive code with minimal comments • LISTEN ACROSS THE ENSEMBLE • Awareness of your teammates’ work (actually pay attention during stand-up) Where there is great power there is great responsibility, where there is less power there is less responsibility, and where there is no power there can, I think, be no responsibility. - Winston Churchill (House of Commons, 1906)
  8. SOLOING ON YOUR BRANCH • THE SOLOIST SETS THE TONE

    • You have freedom to implement the US as you see fit • You’re free to develop “inside”; use caution when developing “outside” • THE ENSEMBLE COMMENTS ON THE SOLO • Questions are best on PRs (antecedent – consequent) • Be constructive, never destructive • EVERYONE IS RESPONSIBLE FOR TIME • Freedom is fragile • MINSWAN
  9. KNOW YOUR ROLE IN THE BAND • WHAT SECTION OF

    THE BAND ARE YOU IN? • Is there a part of the stack in which you thrive? Is there a part you could “level-up”? • How can you best play your part? • THE BEST BANDLEADERS LEAD FROM THE BACK • Allow your band members to shine • Encourage coaching among senior/junior devs (Make time for Kaizen) • Many players; one band
  10. CULTIVATING CREATIVE CODE: WHEN THINGS BREAK • MISTAKES != WRONG

    • Code (does not) work(s) as expected • Creativity requires permission to experiment • We critique what it DOES, not what it IS • WHEN CODE “WORKS” • Ensemble awareness; is your code “out of tune”? • Brittle vs. Flexible? • TEACHABLE MOMENTS (SENIOR DEVS AND TEAM LEADS) • Questions are key- what were you trying to accomplish? • What did you expect the code to do? What actually happened? • What can you do differently? Do not fear mistakes; there are none. - Miles Davis
  11. BANDLEADING DO’S AND DON’TS • DO • Encourage responsible risk-taking

    (creativity can be scary) • Frame mistakes and opportunities to grow (there are no wrong notes) • Praise publically; critique privately • Praise strong code AND strong improvement • Foster a culture of mentorship/stewardship • DON’T • Be careless/cavalier with criticism • Create/allow “pecking orders” (Skill && Humility) • Kill the golden goose (P and PC)
  12. SUMMARY: LEAD SHEET FOR LEADERSHIP • TRUST • Trust in

    your team • Trust in the process • Trust the creative impulse • STEWARDSHIP • Success is an ensemble effort • Everyone is responsible for ‘time’. • Each one teach one • CLEAR GUIDELINES • Everyone should know the tune • Onboarding new employees should be straightfoward • The “why” is as clear as the “how”
  13. BEBOP TO THE TOP THE JAZZ BAND AS A GUIDE

    TO LEADERSHIP CAIN @CODETRANE CODETRANE.IO