Cats and Klingons

How to manage (distributed) teams

Dr. Volker Göbbels
https://slides.technologyscout.net/cats-and-klingons/

Unevenly distributed innovations

 
The future has already arrived. It's just not evenly distributed yet.
William Gibson

Overview

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

About me

  • Software Engineering Manager @ Prym Consumer Europe GmbH
  • Former 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 (unfashionable) programming languages
  • Multipotentialite
  • "Fashion Nerd"

Team Management

Team management is no cat herding

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

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
    Resources, Information, Compensation
  • Manager ← Company
    Get things done, Information

Team ↔ Manager

  • Team → Manager
    Information, Guidance, Protection
  • Team ← Manager
    Get things done, 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?

  • Separation between soft and hard skills is arbitrary
  • Communication is the foundation of nearly every skill (→ remember: expecting information)
  • In remote teams communication is a more valuable skill than domain knowledge
  • Lack of communication abilities: 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 safety
    • Errors are always possible
    • Reduce stress: Stress leads to errors
    • Competition in a team is harmful
    • Don't work in 'survival mode' (more on that later)

Emotional safety

Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.
Norm Kerth, Project Retrospectives: A Handbook for Team Review

Stress and pressure

 
 
  • "Work hard, play hard" Bullshit!
     
  • Historical roots: calvinistic work ethics
    (read Max Weber, "The Protestant Ethic
    and the Spirit of Capitalism")

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

Picard management tip

When a policy is doing more harm than good, you must examine and revise that policy. It may require simplification, or it may require greater sophistication. Either way, you must change it.
@PicardTips

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 eventually doesn't want that
  • All you can copy are the less important things like processes

Picard management tip

Encourage extracurricular activities with your crew, especially if it involves wearing costumes.
@PicardTips

Empathy

  • Task: find and remove pain points
  • Important: values! You don't make money despite your values but because of them
  • Glorification or reframing 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

Engineers aren't Klingons

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 changing 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

Remote Teams

My boss says I can start working from home two days a week … Saturday and Sunday.

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
  • bad for your health
  • bad for business

Why now?

  • The technology is mature
  • Let go of nostalgic ideas like good results only emerge between 9 and 5
  • Remote teams and organizations are more resilient (see COVID-19)

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
  • Good talents can be found anywhere
  • Too much competition in walking distance in the city

Save resources

  • 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

  • Use conferencing tools & screen sharing
    Skype, Zoom, WebEx, Slack
  • 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
  • Use online team tools like retrotool.io
  • Details in the Gitlab Handbook (section CEO)

People Ops 1

  • Manage work, not chairs
    (avoid software line TimeDoctor)
  • 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 coworker and there are no applications for leave
  • Look out for people doing overtime, not those who slack off

People Ops 3 - Onboarding

  • Create a checklist of goals for the first week
  • Introduce them to your team
    Write a mail or a slack message, setup a separate video call
  • Set up one-on-one's as soon as possible
  • Set them up with a buddy
  • Help out with their home office setup
  • Ask them about their onboarding experience

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
    That doesn't work for me personally
  • 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!"
    89 min/day at the office lost with non work stuff
  • "Our data is only secure within the office space!"
    Ever heard of VPN's?
  • "Who will answer the phone?"
    Virtual VoIP phone system anyone?

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!"
    see: Fallacy of sunken cost

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 → Phone call

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"
  • Scott Dawson, "The Art of Working Remotely"

Podcasts

Videos 1

Videos 2

Videos 3