Slide 1

Slide 1 text

HOW TO IMPROVE COLLABORATION WHILE WORKING FROM HOME 1 Paul van der Slot

Slide 2

Slide 2 text

2

Slide 3

Slide 3 text

3 How to improve collaboration, now we don’t coincidentally work together?

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

Collaborative Design Developing Together 5 Benefits of collaboration Under- standing the problem

Slide 6

Slide 6 text

6 Why should we collaborate?

Slide 7

Slide 7 text

7 Why should we collaborate? More Joy

Slide 8

Slide 8 text

8 Why should we collaborate? More Joy Higher Quality

Slide 9

Slide 9 text

9 Why should we collaborate? Increased Shared Understanding More Joy Higher Quality

Slide 10

Slide 10 text

10 Why should we collaborate? Increased Shared Understanding More Joy Higher Quality Increased Learning

Slide 11

Slide 11 text

11 Why should we collaborate? Increased Shared Understanding More Joy Higher Quality Increased Learning More Engaged

Slide 12

Slide 12 text

12 Why should we collaborate? Increased Shared Understanding More Joy Higher Quality Increased Learning More Engaged Increased Buy-In

Slide 13

Slide 13 text

13

Slide 14

Slide 14 text

Treat others the way you want to be treated • Open attitude 14

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

Treat others the way you want to be treated • Open attitude • Listening • Respecting other ideas - Involving others • Trustworthy 17

Slide 18

Slide 18 text

Collaborative Design Developing Together 18 Benefits of collaboration Under- standing the problem

Slide 19

Slide 19 text

Responsibilities of a software engineer 19

Slide 20

Slide 20 text

Responsibilities of a software engineer 20

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

Role of the Product Owner (PO) PO as a requirements machine VS PO as a passionate visionair 25

Slide 26

Slide 26 text

Challenge your PO to be more like a passionate visionair • Start with why 26

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

Collaborative Design Developing Together 33 Benefits of collaboration Under- standing the problem

Slide 34

Slide 34 text

34 How to collaborate online?

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

36

Slide 37

Slide 37 text

37

Slide 38

Slide 38 text

Milestone design sessions 38

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

40

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

Techniques • Event Storming • Event Modeling • Example Mapping • Domain Storytelling • Etc. 45 Example Mapping Event Storming Domain Storytelling Event Modeling

Slide 46

Slide 46 text

Collaborative Design Developing Together 46 Benefits of collaboration Under- standing the problem

Slide 47

Slide 47 text

47

Slide 48

Slide 48 text

Unexpected problems will occur 48

Slide 49

Slide 49 text

Unexpected problems will occur 49

Slide 50

Slide 50 text

50

Slide 51

Slide 51 text

Making pair programming work 51 Blocking agendas to do pair programming multiple times a week

Slide 52

Slide 52 text

Making pair programming work 52 Blocking agendas to do pair programming multiple times a week Switching pairs regularly

Slide 53

Slide 53 text

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)

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

Pair programming online Tooling is getting better and better 55

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

57 Thank you!