Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to improve collaboration while working from...

How to improve collaboration while working from home

When the pandemic hit us, everybody started working from home. Things disappeared, like quick alignments at the coffee machine and spontaneous discussions at the whiteboard. This can lead to a decreased shared understanding, quality, engagement and buy-in. It became even more obvious that explicit actions are needed and moments to collaborate need to be created. In this talk I will share what I have learned in the past 1,5 year. On how important it is to do it together. On what you can do to understand the problem better. On ways to design together. And on how you can improve working together while developing. After this talk you can look at your own team with new insights on how to improve collaboration and build great products together.

Paul van der Slot

November 04, 2021
Tweet

More Decks by Paul van der Slot

Other Decks in Programming

Transcript

  1. 2

  2. Who am I? Paul van der Slot • Freelance Software

    Engineer • Fan of a lot of software practices and techniques like: DDD, Collaborative Modelling, Clean Code, Hexagonal Architecture, Refactoring, Agile, XP, TDD, Pair Programming, and way more 4
  3. 11 Why should we collaborate? Increased Shared Understanding More Joy

    Higher Quality Increased Learning More Engaged
  4. 12 Why should we collaborate? Increased Shared Understanding More Joy

    Higher Quality Increased Learning More Engaged Increased Buy-In
  5. 13

  6. Treat others the way you want to be treated •

    Open attitude • Listening 15
  7. Treat others the way you want to be treated •

    Open attitude • Listening • Respecting other ideas - Involving others 16
  8. Treat others the way you want to be treated •

    Open attitude • Listening • Respecting other ideas - Involving others • Trustworthy 17
  9. Responsibilities of a software engineer “Silicon Valley- like” companies think

    of engineers as value generators, and creative problem solvers. Traditional companies think of them as factory workers. - Gergely Orosz 21
  10. Responsibilities of a software engineer • Understanding needs (Business analist/Product

    Owner) • Designing solution (Architect) • Developing (Developer) • Testing (Tester) • Deploying (Operations) • Monitoring (Operations) • Maintaining (Operations) 22
  11. Responsibilities of a software engineer • Understanding needs (Software Engineer)

    • Designing solution (Software Engineer) • Developing (Software Engineer) • Testing (Software Engineer) • Deploying (Software Engineer) • Monitoring (Software Engineer) • Maintaining (Software Engineer) 23
  12. Responsibilities of a software engineer • Understanding needs (Software Engineer)

    creative problem • Designing solution (Software Engineer) solving • Developing (Software Engineer) • Testing (Software Engineer) • Deploying (Software Engineer) • Monitoring (Software Engineer) • Maintaining (Software Engineer) 24
  13. Role of the Product Owner (PO) PO as a requirements

    machine VS PO as a passionate visionair 25
  14. Challenge your PO to be more like a passionate visionair

    • Start with why • Roadmap with big milestones 27
  15. Challenge your PO to be more like a passionate visionair

    • Start with why • Roadmap with big milestones • Challenge the Roadmap and milestones 28
  16. Challenge your PO to be more like a passionate visionair

    • Start with why • Roadmap with big milestones • Challenge the Roadmap and milestones • Split up the milestones together 29
  17. Challenge your PO to be more like a passionate visionair

    • Start with why • Roadmap with big milestones • Challenge the Roadmap and milestones • Split up the milestones together 30 Monthly meeting about the roadmap, with focus on the ‘why’. Make it visual, make it open for participation
  18. Example – without why Requirement As a finance employee I

    want download a report in excel so I can judge if we are on schedule with received payments 31
  19. Example – with why Requirement As a finance employee I

    want download a report in excel so I can judge if we are on schedule with received payments 32
  20. Miro and Mural Realtime working together Stop at any time,

    continue at any time A lot of features and templates to help with any situation 35
  21. 36

  22. 37

  23. Milestone design sessions What worked for me? • Just start

    drawing • Ask questions and make them visible • Seek shared understanding • Update drawing with new insights 39
  24. 40

  25. Milestone design sessions 41 Plan time for this on a

    regular basis with dev team (once a week/sprint)
  26. Milestone design sessions 42 Plan time for this on a

    regular basis with dev team (once a week/sprint) Test your design with concrete examples
  27. Milestone design sessions 43 Plan time for this on a

    regular basis with dev team (once a week/sprint) Test your design with concrete examples Split the work up in product backlog items / user stories
  28. Milestone design sessions 44 Plan time for this on a

    regular basis with dev team (once a week/sprint) Test your design with concrete examples Split the work up in product backlog items / user stories Use it as a living artifact during implementation
  29. Techniques • Event Storming • Event Modeling • Example Mapping

    • Domain Storytelling • Etc. 45 Example Mapping Event Storming Domain Storytelling Event Modeling
  30. 47

  31. 50

  32. Making pair programming work 52 Blocking agendas to do pair

    programming multiple times a week Switching pairs regularly
  33. Making pair programming work 53 Blocking agendas to do pair

    programming multiple times a week Switching pairs regularly Switching roles during a session (driver/navigator)
  34. Making pair programming work 54 Blocking agendas to do pair

    programming multiple times a week Switching pairs regularly Switching roles during a session (driver/navigator) Use online tooling
  35. Be a teammate that is easy to collaborate with Design

    together using tools like MIRO and MURAL Focus on why you are building something Make Pair programming work 56 Take aways