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

84aa33423e488b1e0a67de0da8f3a686?s=128

Benjamin Thouret

June 21, 2016
Tweet

Transcript

  1. 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)
  2. 3.

    Software Is Eating The World — MARC ANDREESSEN in 2011

    © Ben Thouret - @bthouret, 2016 (updated Aug 2018)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
  11. 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)
  12. 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)
  13. 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)
  14. 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)
  15. 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)
  16. 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)
  17. 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)
  18. 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)
  19. 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)
  20. 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)
  21. 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)
  22. 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)
  23. 26.

    Playbook • Helps maintaining a culture of change, based on

    the Rule of Three © Ben Thouret - @bthouret, 2016 (updated Aug 2018)
  24. 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)
  25. 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)
  26. 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)