Page MenuHomePhabricator

Wikimedia Technical Conference 2019 Session: Best practices & useful methods for remote teams - volunteers and staff alike
Closed, ResolvedPublic

Description

Session

  • Track: People and Processes
  • Topic: Best practices & useful methods for remote teams - volunteers and staff alike

Description

The intention for this session is to create a space to share openly best practices and methods for remote teams. It will focus less on the specifics and constraints of any particular org or group setup and instead discuss what experiences and outcomes we're trying to improve in an idealised setting. Building from this into how tools, approaches and methodologies could be employed to support our work and collaborations as well as the experience of the team and the individual.

The session will focus on collaborative work in remote teams touching on areas such as team setup, communication strategies, workflows, planning, resource estimation and delivery.

Will Doran will provide a brief intro to the history of process on the Core Platform Team, what the team is currently trying as well as its successes and failures.

Neslihan and Vivek will provide an overview of how the Commons Android App project coordinates their team.

Questions to answer and discuss

Question: Who are the primary collaborators within remote teams?

Question: What are the goals that teams are optimising for?

Question: What elements should be taken into account when deciding on communication processes with a team? How should communication be adapted for a team?


Notes document(s)

https://etherpad.wikimedia.org/p/WMTC19-T234658

Slides

https://docs.google.com/presentation/d/1OX-uW01yC2BORS0Xm9aVfHPQ4h3I77flPypVTNLa1zU/edit?usp=sharing
https://docs.google.com/presentation/d/1i1WPdQSghPjPfqIO09AOL3TC86Z9xh1Ay6Bk9PSClVM/edit?usp=sharing

Notes and Facilitation guidance

https://www.mediawiki.org/wiki/Wikimedia_Technical_Conference/2019/NotesandFacilitation


Session Leader(s)

Session Scribes

  • Nick

Session Facilitator

  • Aubrey

Session Style / Format

  • Two very short presentation from the Commons Android Team and the Core Platform Team followed by breakout groups and discussion
  • The participants will be asked to split into 3 groups each taking 1 question.
    • Within each group each member will quietly reflect on the question for 1 minute
    • Next members will pair up and discuss between themselves for 2 minutes
    • Finally the group as whole will discuss and try to converge on a reduced set of answers
  • Each group will share back their thoughts and outcomes
  • There will be space for questions and further points based on the share back
  • Define next steps for moving forward

Post-event summary:
The participants discussed the dynamics of teams through the prisms of the collaborators and personas within a team, what teams are optimising for in their work together and what impacts how a team communicates. The question areas were quite broad and open to interpretation by the individual groups. Within collaborators, the group interpreted as not strictly limited to personas within a remote team but also individuals that impact the lives of team mates, expanding to consider family, pets, and dividing broadly between active participants and passive. Under needs optimisation, the group captured risk management, measurements of efficiency, and the experience of being a team member. While the communication group generated impacts focusing on the positives/negatives of differences between individuals, setting clear expectations on communication forms/mediums/cadence and the impact of timezones.



There were a number of interesting take aways from the final group discussion:

  • Why don’t we organise by timezone?
  • How rotating meetings improved team experience
  • Virtual meet-ups
  • Checkins with each other not focused on work
  • Are we sharing process between teams? How do teams document their processes?

The next steps will be:

Post-event action items:

  • Reviewing the feedback in detail
  • Document on wiki as a broad set of considerations and recommendations to be further reviewed
  • Determine a forum for further discussion

Wikimedia Technical Conference
Atlanta, GA USA
November 12 - 15, 2019

Session Name / Topic
Best practices and useful methods for remote teams - volunteers and staff alike
Session Leader: Will; Facilitator: Aubrey; Scribe: Nick
https://phabricator.wikimedia.org/T234658

Session Attendees
Piotr, Sam, Joaquin, Niharika , Elena, Addshore, Kaldari, Cormac, TheDJ, Aubrey, Rachel, Greg

Notes:

  • Who are the collaborators within a remote team?
  • What goals are the team optimizing for?
  • What things should be taken into account when deciding on communication processes? How should communication be adapted for teams?
  • How are we accomplishing our work and better supporting others?
    • Essentially: A lot of work improving our: Roadmap, Pipeline, Planning, and Process
  • Roadmap:
    • Derived from Annual Planning
    • updated monthly,
    • ...
    • Roadmap screenshot - uses [roadmonk?] software
  • CPT Pipeline
    • Divided into reactive, planned, support, ???
    • Once we have an engineering task, goes to deployment.
    • what was confusing was how to deal with work as it comes in.
  • Built a big CPT pipeline - split between reactive and planned [visualization of pipeline shown]
    • Initiative planning, Development planning,
  • Process uses agile concepts of initiatives, epics and user stories.
  • Two cross functional feature teams : Green and purple
    • lead by PM
    • Daily standups
  • Clinic duty team
    • Reaction to requests that come to our team for code review, or codebases we've become responsible for
    • Purpose to deal with UBN (unbreak now) issues. Inbox on phab,
    • Process: tag a task with Core Platform Team -- triaged daily
    • Working towards providing SLAs around support
    • Working on metrics and impact
  • Challenges
    • Finding the right cadence for standups across timezones
    • setting up right level of user stories
    • support tools
    • communication styles
    • ??? task types
  • Commons Android App team process
    • Overall
      • Small team, so different needs and habits.
      • We avoid over engineering, use minimal set of tools
      • Small but relatively strict set of procedures
      • Meetings are difficult, part-time and different timezones -> lots of async communication
    • Planning
      • Annual goals (based on grant tasks)
      • Tracking pending tasks
    • Facilitators
      • github wiki for documentation for newcomers
      • github bots - test checker, deleting unused branches, closing solved issues.
      • tagging issues as beginner-friendly, bugs, help-wanted
      • travis CI for automated builds and alpha releases of every commit to master
    • Communication
      • Switched to Zulip from Hangouts
      • using templates for pull requests to create and review faster
    • Cautions
      • keeping collaborators (members with review and merge priv) narrow
      • Don't merge your own PR
      • wait for all automated tests to pass before merging any PRs
    • Human Relationships
      • Remember to add motivating words on reviews, lots of "good job" when appropriate
      • encourage first time contributors
      • try to get interns when we have available mentors
  • Question:
    • what do you mean by "goals teams are optimizing towards?"
      • Could be throughput, collaboration, code-review, support from team-members, ... At the level of the team itself. What are the different elements/directions the team is pushing towards.
      • e.g. our team is optimizing towards knowledge sharing. Individual knowledge experts, with no free time to share that knowledge. I.e. de-siloing.

[individuals write down.]

  • Who are the collaborators within a remote team?
    • people you work with all the time
      • designers, PMs, QA, etc
    • other stakeholders
      • active - external consultants
      • between - volunteers, readers, admins, external FOSS orgs,
      • between - reviewers translators contributors
      • passive - onetime users, helicopter people
  • What goals are the team optimizing for?
    • throughput
      • pae [?]
      • efficiency
      • time to development
      • optimized time
    • risk management
      • fear of not breaking things slows us down
    • good team morale
      • minimize frustration, from not being efficient
      • effective collaboration
  • What things should be taken into account when deciding on communication processes? How should communication be adapted for teams?
    • differences
      • every one is different
      • different primary languages
      • define words differently
      • different experience - newcomers, junior/intermediate, experts -- especially a problem with jargon / acronyms / inside jokes / historical references
      • cultural differences - things sound good/bad to different people
      • audience - informal/formal, and channels (phabricator, slack, etc)
    • Set expectations
      • hold folks with influence to them
      • each team has different history of communication, some good some bad.
      • some have different rules of communication - e.g. asking everyone to acknowledge having received a message, perhaps with an emoji-reaction (gchat or slack), so that an announcement/comment isn't met with pure silence or a single comment.
      • searchability of previous discussion is important -- good for newcomers, and good for consulting what you discussed a long time ago.
    • timezones
      • synchronicity
        • sync (but only 2 hours window of real overlap between western-US/EU timezones)
        • async (and have to wait hours for a response)
      • also tooling - too many communication channels (or platforms) overwhelm, but insufficient/inadequate channels (or platforms) make communication frustrating
  • Action Items
    • Rotate meeting times
      • our team became more remote than before, so decided to rotate the meeting times, so early in the morning one week and late the next, makes life happier for
    • Bonding / Get to know team members / check-in questions
      • building bonds between people - deciding when to 'bother' people with human interests (books, hobbies, life, etc). Every Monday we ask a question on [platform], and answer over the week -- not work related but it helps build bonds between teammates.
    • Virtual coffee
      • We organize coffee sessions between remote people, or volunteer to be in the pool of people. Just hangout and have a chat.
      • Have to be careful it doesn't turn into a work discussion
    • timezones:
      • Weird that we don't organize teams by timezone.
      • Document procedures -- gitlab's team's docs are collaboratively written, give clear instructions on where/how/when to contact people
        • uber has something similar
      • Have clear "start/end" times for events.
        • Because "all day events" can last for 50 hours for people in far off timezones.
  • Next steps:
    • collate these ideas in phab, organize them onwiki, improve our best practices universally!

General instructions
This sheet is for scribes and participants to capture the general discussion of sessions.

  1. Note-taker should go for a more ‘pure transcription’ mode of documentation
    1. Don’t try to distill a summary of the core details unless you're confident in your speed.
  2. All note-takers should try to work in pairs and pass the lead-role back-and-forth when each speaker changes.. Help to fill in the gaps the other note taker might miss.
    1. When you are the active note-taker in a pair, please write "???" when you missed something in the notes document.
    2. If a session only has one note taker present, feel free to tag a session participant to help take notes and fill in the gaps.
  3. In your notes, please try to highlight the important points (that are usually unspoken):
    1. INFO
    2. ACTION
    3. QUESTION
  4. It’s also good to remind session leaders, facilitators and participants to call out these important points, to aid in note taking.
  5. Sessions might have activities that will result in drawings, diagrams, clustered post it notes, etc
    1. Please tag a session participant to capture these items with a photo and add them to the Phabricator ticket.
  6. Some sessions might have breakout groups which means that there will be simultaneous discussions.
    1. Session leaders should direct each group to appoint a scribe to take notes (in this document).
  7. At the end of each day, notes and action items will need to be added into the related Phabricator ticket (workboard: https://phabricator.wikimedia.org/project/board/4276/ ) for each session
    1. This can be done by any and all conference attendees.
  8. Additional information about note taking and session facilitation: https://www.mediawiki.org/wiki/Wikimedia_Technical_Conference/2019/NotesandFacilitation

Event Timeline

debt created this task.Oct 4 2019, 3:46 PM

@Bmueller I would love to attend a session covering not only team agile practices but also (1) team dynamics - from a new team to a high performance team - and (2) different team structures and their pros and cons. Would any of this be covered in this session?

Hey @darthmon_wmde - so it depends a bit on how much content can go into one session to not overload it, but I would think that different team structures could be covered under this topic, but team dynamics might need its own session. Also pinging in @WDoranWMF who just confirmed to be the session leader for this session :-)

Bmueller reassigned this task from Bmueller to WDoranWMF.Oct 11 2019, 6:31 PM
TheDJ added a subscriber: TheDJ.EditedOct 12 2019, 2:59 PM

Not to be blunt but... this mostly seems like having to attend a homework session for WMF/WMDE :)
I'm not opposed to the concept of this, as a volunteer i'd love a more predictable method for me to interact with teams as well, but..... this doesn't seem like a session i'd join at the end of a long day...

Maybe if we approach it more as a hypothetical, idealistic situation where we step in, letting go of all limitations and preconceptions of WMF and WMDE situations, it might be worth it.

Bmueller added a comment.EditedOct 12 2019, 7:45 PM

Hey @TheDJ, yeah, you're right - current focus is mostly on fulltime-teams .. - the sessions are designed based on the input from the survey + relevance for developer productivity, and having a session around this topic got brought up (eventually from staff members ... :-)

I'm not opposed to the concept of this, as a volunteer i'd love a more predictable method for me to interact with teams as well

Sounds like this could be covered by T234662? - or do you have more aspects in mind?

Maybe if we approach it more as a hypothetical, idealistic situation where we step in, letting go of all limitations and preconceptions of WMF and WMDE situations, it might be worth it.

That's a great idea. We do have quite some folks in the tech community who at least occasionally work as teams together - the newsletter extension group comes to my mind, the Commons Mobile app people ... . Maybe something on the line of "best practices & useful methods for remote teams - volunteers and staff alike?"

pinging also @josephine_l & @WDoranWMF - what do you think?

I'm happy to retitle this :-)

Maybe something on the line of "best practices & useful methods for remote teams - volunteers and staff alike?"

Sounds fantastic to me. :)

Bmueller renamed this task from Wikimedia Technical Conference 2019 Session: Agile team practices to Wikimedia Technical Conference 2019 Session: Best practices & useful methods for remote teams - volunteers and staff alike.Oct 15 2019, 4:42 PM

@TheDJ and @Bmueller Yep, I really like that reframing to be broader in terms of discussing goals and aims of this kind of use of process. It would provide space for discussing across teams and needs without being prospective about the purpose of process. It would also ideally allow a lot of space for open conversation about what elements of process have and haven't worked, where and why.

@darthmon_wmde I would concur with @Bmueller that what your describing would likely work best as its own session. I'd be very interested in that one.

WDoranWMF updated the task description. (Show Details)Oct 15 2019, 10:54 PM

I've done a first pass, happy to adjust as needed also happy to discuss adjusting the questions.

Bmueller updated the task description. (Show Details)Oct 17 2019, 11:42 AM
debt triaged this task as Medium priority.Oct 22 2019, 7:07 PM
greg added a comment.Oct 23 2019, 9:39 PM

(Programming note)

This session was accepted and will be scheduled.

Notes to the session leader

  • Please continue to scope this session and post the session's goals and main questions into the task description.
    • If your topic is too big for one session, work with your Program Committee contact to break it down even further.
    • Session descriptions need to be completely finalized by November 1, 2019.
  • Please build your session collaboratively!
    • You should consider breakout groups with report-backs, using posters / post-its to visualize thoughts and themes, or any other collaborative meeting method you like.
    • If you need to have any large group discussions they must be planned out, specific, and focused.
    • A brief summary of your session format will need to go in the associated Phabricator task.
    • Some ideas from the old WMF Team Practices Group.
  • If you have any pre-session suggested reading or any specific ideas that you would like your attendees to think about in advance of your session, please state that explicitly in your session’s task.
    • Please put this at the top of your Phabricator task under the label “Pre-reading for all Participants.”

Notes to those interested in attending this session

(or those wanting to engage before the event because they are not attending)

  • If the session leader is asking for feedback, please engage!
  • Please do any pre-session reading that the leader would like you to do.
debt updated the task description. (Show Details)Oct 25 2019, 9:19 PM
WDoranWMF updated the task description. (Show Details)Nov 4 2019, 6:09 PM
WDoranWMF updated the task description. (Show Details)
Tpt added a subscriber: Tpt.Nov 4 2019, 9:20 PM
WDoranWMF updated the task description. (Show Details)Nov 11 2019, 5:17 PM
Bmueller updated the task description. (Show Details)Nov 11 2019, 5:18 PM
WDoranWMF updated the task description. (Show Details)Nov 11 2019, 7:56 PM
WDoranWMF updated the task description. (Show Details)Nov 12 2019, 11:37 PM
Quiddity updated the task description. (Show Details)Nov 13 2019, 10:23 PM
WDoranWMF updated the task description. (Show Details)Nov 13 2019, 10:42 PM
WDoranWMF updated the task description. (Show Details)Nov 15 2019, 4:16 PM
greg closed this task as Resolved.Dec 17 2019, 11:04 PM

Thanks for making this a good session at TechConf this year. Follow-up actions are recorded in a central planning spreadsheet (owned by me) and I'll begin farming them out to responsible parties in January 2020.