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

Just Enough Structure

Just Enough Structure

How can a small team with diverse backgrounds and skills deliver non trivial software solutions?

In this talk, we will follow the life of a developer from onboarding to technical and collaborative proficiency in order to create maximum value and impact.

We will go through the tools and best practices that you can apply to your team and organization.

We will also explore what management can do to provide a minimal but structured way of ensuring that the right work gets done.

http://www.montrealrb.com/events/6-june-21th-meetup

Resources:
- Manager Feedback Questionnaire - https://gist.github.com/benichu/b99a33b2eabf5aecf5c2
- Peopleware by Tom DeMarco - https://www.amazon.ca/Peopleware-Productive-Projects-Tom-DeMarco/dp/0932633439
- Where do These People Get Their (Unoriginal) Ideas? by Joel Spolsky - http://www.joelonsoftware.com/articles/fog0000000068.html
- Valve’s New Employee Handbook - http://assets.sbnation.com/assets/1074301/Valve_Handbook_LowRes.pdf
- Hammock Driven Development by Rich Hickey - https://www.youtube.com/watch?v=f84n5oFoZBc
- Goals are for Losers. Passion is Overrated. by Scott Adams - http://www.slideshare.net/Scottadams925/goals-are-for-losers-passion-is-overrated
- Why Team Happiness can be the Worst Thing to Aim For by Katherine Kirk - https://vimeo.com/143894732

Benjamin Thouret

June 21, 2016
Tweet

Other Decks in Technology

Transcript

  1. © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  2. Just enough structure
    How can a small team with diverse backgrounds and skills
    deliver non trivial software solutions?1
    1 A short talk title with a lengthy and pompous tagline :)
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  3. Software Is Eating The World
    — MARC ANDREESSEN in 2011
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  4. What does this mean for us?
    • Us? small to medium software development teams
    • Creating more and more value in "non-startup" businesses
    • Managing reasonable profit and IT budgets
    • Not necessarily startups with venture capital
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  5. How can we still impact the
    world?
    • by Learning/Discovering new things
    • by Improving our knowledge
    • by Working with smart and relatable people
    • by Building great products
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  6. How do we achieve
    this?
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  7. Hi, I'm Ben
    • Software Architect and Team Lead
    • 17+ years professional IT experience
    • 12+ years experience in Ruby/Rails
    • Working for Intello based in Saint-Jean-Sur-Richelieu
    • Team of 8 Development/Operations engineers
    • 12-15 bilingual Call Centre agents (2 levels)
    • Remote and locally based
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  8. Intello
    • 35 people overall (sales, customer support, installers,
    management, ...)
    • 880+ Properties in North America running our hardware and
    software solutions
    • 30,000+ wireless devices managed
    • 1,000,000+ user sessions per month
    • 10+ Rails and NodeJS Web Applications and APIs
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  9. Developers are
    knowledge workers
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  10. What does it really mean?
    • We have to be thinking on the Job
    • Programmers, like Artists, take pride in the quality of their work
    • We are not interchangeable, expandable, glorified typists
    • Our complex work is done best while being in “the zone”
    • Our manager’s function is not to make us work, but to make it
    possible for us to work
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  11. Attract great knowledge
    workers
    Let's face it, most of our companies are not Github or Shopify...
    And the job market is very favorable to employees.
    How can we still find the right
    people...
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  12. What kind of company are you?
    Before thinking about hiring new recruits for the long term, especially
    junior developers.
    As a company recruiting, ask yourself:
    1. Do we have experienced developers who are able to train
    newcomers?
    2. and/or, Can we give good amount of time to ramp up, but won't be
    able to provide much mentoring?
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  13. Onboarding recruits
    for success
    • Welcome pack
    • Project Documentation, Code Styling
    • Checklists
    • Communication channels hierarchy
    • Hierarchy
    • Stress out that you will invest time, hard
    work and curiosity will do the rest
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  14. The first 3 months
    Very important period for both parties:
    • Shaping people for success while maintaining specificity and
    integrity
    • Making sure it's the right fit (both ways)
    • When is finished, finished ?
    • "Away From Keyboard"... Design first (Hammock Driven
    Development), Document plan of action
    • Ingrain the "Boy Scout Rule"
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  15. An ongoing and never ending
    adventure...
    • Creativity under constraints
    • Testing is NOT something you do at the end of the project a week
    before it ships
    • Programming doesn’t always go right
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  16. Understanding Management
    Managers have feelings too :) And we are supposed to "herd cats"
    • We love reliable people - no surprises
    • We have a budget to manage
    • We attempt to review performance based on facts not "gut
    feelings" (when most metrics can be gamed)
    • We try to adapt to new generations
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  17. Awesome list on how to be trusted/
    respected by your management
    • Look at your todo list every morning and every evening
    • Be responsive
    • No Surprises
    • Know what you don't know
    • Seek feedback all the time
    • Stuck and don't know what question to ask... STOP everything and
    raise the flag!
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  18. Making sure we deliver
    results
    • Roadmap
    • (no)Estimate
    • Protect the flow
    • Tight deadlines make us work faster not better. Quality is the first
    thing that gets cut.
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  19. Keeping everyone "happy"
    You can make some people happy some times, not all people happy all
    the time.
    But cover the basics...
    • Do we have the equipment and material to do the work right?
    • Do I know what is expected of me at work?
    • Do we encourage people's development?
    • At work, do I have the opportunity to do what I do best every day?
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  20. Tools we2 use and How
    • Select a few, for what is important, but abuse them!
    • Are we working in Information Technology or what!?
    • Sometimes you need to scratch your own itch!
    2 Software Development Team at Intello
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  21. Hipchat
    • Main tool for team and 1:1
    communication
    • General chatrooms (What's up today,
    What shipped today, Food for thoughts)
    • Project specific chatrooms
    • Use mentions with intent: @here, @all,
    @someone
    • Presence status: available, away, do not
    disturb with message
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  22. Gitlab
    • Obligatory tool for project
    communication
    • Currently managing 20 internal projects
    (starred), monitoring another 10
    • We use Issues for EVERYTHING!
    • An Issue being worked on, always has a
    Merge Request attached to it
    • Every project has at least an Icebox
    milestone
    • And most project have time defined
    milestones
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  23. Shipit-CLI
    • Private Ruby Gem installed on
    everyone's workstation
    • Takes care of the mundane git and gitlab
    recurring tasks (branch, push, initial
    commit, merge request...)
    • $ shipit work {issue_id}
    • When ready for code review: $ git
    rebase -i {base_branch}
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  24. Heartbeats
    • Short questionnaire sent every evening
    at 4PM EST
    • Another short questionnaire sent every
    morning before standup
    • You can ask for help
    • Virtual and compulsory standup every
    working day at 9:30AM EST
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  25. Weekly 1:1
    • Scheduled 30mn 1:1 hangout with each
    team member
    • Go back previous week successes,
    frustrations...
    • Give recognition or praise for good work
    • Give some actionable feedback for
    improvement
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  26. Playbook
    • Helps maintaining a culture of change,
    based on the Rule of Three
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  27. Homework for developers
    • Rate your manager gist: https:/
    /gist.github.com/benichu/
    b99a33b2eabf5aecf5c2
    • Are you giving everything you have?
    • Passion is overrated
    • Good things can be painful to achieve
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  28. Homework for managers
    • Do you spend planned 1:1 time with your team every week?
    • "Cargo Cult" management? Stop and pick and mix what's best for
    you.
    • Do you still code at least 20% of your time?
    • In the last seven days, did you give recognition or praise for good
    work?
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  29. Some Resources
    • Peopleware by Tom DeMarco
    • Where do These People Get Their (Unoriginal) Ideas? by Joel Spolsky
    • Valve’s New Employee Handbook
    • Hammock Driven Development by Rich Hickey
    • Goals are for Losers. Passion is Overrated. by Scott Adams
    • Why Team Happiness can be the Worst Thing to Aim For by
    Katherine Kirk
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide

  30. Thank You!
    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)

    View Slide