Teaching notes: Communication

GitLab: Choudhury et al. (2020)

Start: 10 Minutes to revisit your notes / compare with your neighbour

Explain p.3 / how it works:

  • show the gitlab repository/merge requests (highlight > 100.000 merged)
  • show decision rights: merge

Main challenges (after the background, p. 5-6, focusing particularly on the challenges relevant to organizational culture)

  • p. 6 - Professional isolation (lack of informal mentoring, including serendipitous face-to-face interactions)
  • p. 12 - Building a cohesive organizational culture (selection/onboarding/socialization, mentoring)
  • p. 14 - Absence of colocation: may hinder organizational identification and the development of shared mental models (identification is important for motivation/effort, mental models: conducive organizational culture with strong norms/values)

Organizing principles

  • Reduce coordination requirements (decomposability/minimum viable change, stigmergy: coordinate through the work product and environment, see what others are doing)
  • Granting operational autonomy (not strategic autonomy)
  • Input control (“selection at the gate” - select for abilities: structuring work days, digital skills,…) -> Illustrate: control (the GitLab-CEO mentioned the differences between a consensus/hierarchical culture) - input (hiring), process (behavior: shared norms/mental models, process/documentation), output (progress reports/meetings …)
  • Detailed onboarding process
  • Open and transparent documentation to build trust (remember: trust meta-analysis)

Boundary conditions

  • Document-based/digital work (not work on physical goods)
  • Visibility of the work process and outcome (for stigmergic coordination)
  • Transparent compensation only works when contributions are easily observable
  • Risks generated by transparency must be low (e.g., privacy concerns, regulatory requirements)

Communication at GitLab

Have students read the communication section in the Gitlab handbook:

  • split students in x groups
  • analyze sections, summarize guidelines as well as most surprising and most useful point (briefly present to the class)
  • share short abstract with GW, GW: create a summary and share for exams

Communication settings

  • Negotiate
  • Converge
  • Convey / present
  • Learn/problem-solve (interactive vs. how-to)
  • Cocreate (pair-program)
  • Socialize
  • Coordinate in small teams or broadcast

Discussion:

  • Means of communication/best practices, policies/guidelines
  • formalizing informal communication at Gitlab: examples
  • Short educational videos/explanations
  • Timing and choice of communication media (e.g., for conflicts)
  • Symbol sets: screen sharing, virtual reality, direct collaboration on code
  • synchronous: e.g., pair programming
  • Modes of collaboration (synchronous/asynchronous)
  • Live session sharing (have students try it/visualstudio) - mention the Kude/ISR paper on pair programming?
  • netiquette - be sensitive: all going well/busy time? (green/orange/red), meeting policy (remote meeting, ….)

  • How to facilitate small-talk? Put something personal in the background. Ask for opinions/help
  • How to connect? Humor? “Employee of the month” - not taking oneself too seriously… share your shortcomings/be vulnerable

  • Balance: efficiency (answer questions once/reprocessability), conflict, misunderstandings (task/relation)