Remote Work
and Team Management

How to manage (distributed) teams

Dr. Volker Göbbels
http://slides.technologyscout.net/remote-and-team-management/
The future has already arrived. It's just not evenly distributed yet.
William Gibson

Overview

  • Short (!) about me
  • Team Management
  • Managing expectations
  • Soft Skills
  • Why should we work remote?
  • Management of remote teams
  • Working in remote teams
  • How to deal with critics

About me

  • Head of Department Diagnostics, Analytics and Connected @ StreetScooter
  • Lots of experience as software engineering manager and project manager
  • Experience with worldwide distributed cross-functional teams
What else?
  • Studies in Chemistry (MRI, Quantum Mechanics)
  • IT Freelancer
  • Collector of programming languages
  • Multipotentialite

Team Management

The key to being a good manager is keeping the people who hate me away from those who are still undecided.
Casey Stengel (1890-1975)
You don't lead by hitting people over the head - that's assault, not leadership.
Dwight D. Eisenhower

Managementese

  • Head Count
    How many people work on a project?
  • Management Span
    How many direct reports does a manager have?
  • Transaction Costs
    Every connection in a team has hidden costs

Managing expectations

"I'll be a reproach once I'm grown up", said the expectation.

Explanation

  • Everyone has expectations
  • There are (at least) two variants:
    • Explicit expectations
      Contracts, Company Handbook
    • Implicit expectations
      What is 'standard practice'
  • Consequences when not fulfilling

Manager ↔ Company

  • Manager → Company
    • Compensation
    • Information
    • Work environment
    • Freedom of decision
  • Manager ← Company
    • Task fulfillment
    • Reporting
    • Enterpreneurial mindset

Team ↔ Manager

  • Team → Manager
    • Information
    • Guidance
    • Mentoring
  • Team ← Manager
    • Task fulfillment
    • Information

Consequences when not fulfilling

  • Friction
  • Open aggressivity
  • High employee turnover
  • Cancellations

How to avoid

  • Implicit to explicit:
    • Codification
      Handbook, wiki, videos
    • With new hires: Onboarding!
  • Communication
    • Regular communication
      One-on-One's, team meetings
    • Fast Feedback
    • Workshops about expectations

Soft Skills

Software is the invisible writing that whispers the stories of possibility to our hardware.
Grady Booch

Soft? Hard?

  • The separation between soft and hard skills is pretty arbitrary
  • Communication is the foundation of nearly every skill
  • Special forms of communications to watch for: sarcasm e.g. is used when someone doesn't know how to apply negative feedback in a productive way

Work environment

  • Move fast intelligently, fail fast intelligently
  • Emotional security
    • Errors are possible
    • Reduce stress
      Stress leads to errors
    • Competition in a team is harmful
    • Don't work in 'survival mode'

Stress and pressure

  • "Work hard, play hard"
    Bullshit!
  • Respect the flow:
    • Mihály Csíkszentmihályi
    • Try to avoid interruptions in the middle of longer working periods
    • Try to do meetings on the boundaries of work times or around lunch break!

Organisation

  • Processes simplify work, unless they impede thinking
  • In software teams 'process' is the sum of all the work and progress related communication
  • When the official processes don't work for you, don't try to hide or scaffold your working processes

Team culture

  • All successful teams in larger organizations have their own culture that differs from that of the organization
  • The organization can not adopt this culture since it actually doesn't want that
  • All you can copy are the less important things like processes

Empathy

  • Task: find and remove pain points
  • Important: values! You don't make money despite your values but because of them
  • Glorification or reframeing of psychological or social tensions as 'war wounds' is dangerous
    → Software developers are no Klingons!
  • In 'survival mode' you are blind for other people's pain points

Hard skills as empathy

  • Good or readable code is empathy with your future self and your team
  • Teams only optimized for velocity will not respect this
  • Empathy with old code: even code you feel now being badly written has been written like this for some reason

Radical acceptance!

All that happens does so for a reason, even if we don't see it (yet).
Accepting this leaves room for curiosity!
Curiosity leads to understanding.

Change management

  • If you're part of the system you can't change processes without changign yourself.
  • Self organized / agile teams only can be successful, if they cause changes in their environment
  • If you can't create change:
    You have two choices: change the team or change the team

Why should we work remote?

Work doesn't happen at work

  • Instead many people work on weekends or do overtime
  • Offices, particularly open spaces, are factories for interruptions
  • Important tasks need a longer uninterrupted period of working time

No commuting!

  • Commuting is a loss of life time
  • Commuting is bad for your health
  • Commuting is bad for business

Why now?

  • The technology is mature
  • Let go of nostalgic ideas like good results only emerge between 9 and 5

Cities aren't talent hubs anymore

  • Every resource is available everywhere anytime (compare V. Bush, "As we may think")
  • Most perks (Arcade Games, free meals, massage) will be offered to keep you in the office for longer time
  • 'Talent Hub Nationalists'
  • Good talents can be found anywhere
  • Too much competition in walking distance in the city

Save money

  • You need less office space
  • Save fuel
  • Environment protection

Managing remote teams

Organisation

  • Have overlapping work times
    Team members should have around 4h of overlap
  • Synchronize your flow
    "What have I done this week?" thread
  • Document all meetings and communication
    What's not documented didn't happen!
  • Equal pay for equal work!

Technical resources

  • Conferencing tools
    Use Skype, Zoom, WebEx, Slack etc. Use screen sharing.
  • Have everything available
    Have every resource available to anyone every time
  • Use an email server that archives every mail and makes them available in a database
    This is what Stripe does
  • Details in the Gitlab Handbook (section CEO)

People Ops 1

  • Manage work, not chairs
    Work has to have a meaning
  • Have an understanding of what your team is working on!
  • Organize regular meetings
  • Don't let remote team members feel second class
    "John and I already decided that this morning in the office"
  • Experience working remote to see what it feels like

People Ops 2

  • Do regular One-on-One's
    At least every two weeks (but also be available in between)
  • Remove impediments, empower people do make their own decisions
    37Signals hands out creditcards to every coworkerand there are no applications for leave
  • Look out for people doing overtime, not those who slack off
  • Make facetime meetings rare and valuable

Working in remote teams

  • Create routines
    Example: when my home office door is closed, I'm at work
  • Separate work and private time by using different devices
  • Leave the house and see people!
    Coworking spaces, Cafés etc.
  • Make sure you are seen / heard
    Produce and advocate your work

How to deal with critics

Trust

  • "How do I know they are working if I don't see them?"
    Be a manager, not a baby sitter!
  • "People's homes are full of distractions!"
  • "Our data is only secure within the office space!"
  • "Who will answer the phone?"

Myths

  • "True magic only happens at the office between 9 and 5!"
  • "None of the big ones does it."
  • "Your colleagues will be jealous, when you are working remote!"
  • "But we invested so much money in this new office!"

Bad habits

"But I need an answer NOW!"

Prioritize your questions:
  • Standard questions → Mail
  • Somehow important or more urgent → Chat
  • The roof is on fire → Anruf

References

  • Michael Lopp:
    "Managing Humans"
  • J. Hank Rainwater:
    "Herding Cats: A Primer for Programmers Who Lead Programmers"
  • Camille Fournier:
    "The Manager's Path"
  • Julia Evans:
    "Help! I have a manager!"
  • Patrick Kua:
    "Talking with Tech Leads"
  • Tom deMarco:
    "Slack - Getting past burnout, Busyworks and the myth of total efficiency"
  • Tom deMarco:
    "Peopleware - Productive projects and teams"
  • Johanna Rothman, Ester Derby:
    "Behind Closed Doors - Secrets of Great Management"
  • Brian W. Fitzpatrick, Ben Collins-Sussman:
    "Team Geek - A Software Developers Guide to Working with Others"
  • Chad Fowler:
    "The Passionate Programmer"
  • John Z. Sonmez:
    "Soft Skills - The Software Developer's Life Manual"
  • Sandy Mamoli, David Mole:
    "Creating Great Teams - How Self-Selection Lets People Excel"

Podcasts

  • > Code
    https://www.greaterthancode.com
  • Führung auf den Punkt gebracht
    https://www.mehr-fuehren.de
  • Mein Scrum ist kaputt
    https://meinscrumistkaputt.de

Videos 1

  • Camille Fournier - Rebooting Culture
    https://vimeo.com/173328699
  • Camille Fournier - Cloning yourself is not an option
    https://vimeo.com/139907569
  • Coraline Ada Ehmke - Diversity in OSS
    https://vimeo.com/176695449

Videos 2

  • Patrick Kua - What I wish I knew as a first time Tech Lead
    https://www.youtube.com/watch?v=CjgWwmBW-bc
  • Patrick Kua - The Constant Life of a Tech Lead
    https://www.youtube.com/watch?v=9jd_vpcLK50
  • Patrick Kua - Geek's Guide to Leading Teams
    https://www.youtube.com/watch?v=a_IYL_aU7HQ

Videos 3

  • Laura Paterson & Patrick Kua - Technical Leadership
    https://www.youtube.com/watch?v=k_nti-mk5IY
  • Camille Fournier - Building and Motivating Engineering Teams
    https://www.youtube.com/watch?v=7R-Y2DwWOr0
  • Dave Thomas - Agile is Dead
    https://www.youtube.com/watch?v=a-BOSpxYJ9M

Videos 4

  • Patrick Kua - Why Technical Leadership Matters
    https://www.youtube.com/watch?v=_6BKK1SPAVI