foreign
next up we have Peter Hall Peter is a
senior software engineering manager at
Expedia group he's been a software
engineer for 20 years and in that time
has written software to allow people
with vision impaired impairments to vote
secretly ensure to steady supply of
croissants and use lasers to send people
to places with chainsaws
among many projects his professional
experience is mostly with Java but and
he prefers python for personal Projects
please welcome Peter
thank you Jacinda
I begin today by acknowledging The
Gardener people the traditional
custodians of the land on which we have
gathered and pay my respects to their
Elders past and present I extend that
respect to Aboriginal and Torres Strait
Islander people here today
this artwork was commissioned by Expedia
group as part of our reconciliation
action plan and it was made by Charmin
mambola of mumbulla creative who was a
Garner and naronga woman
um and so I'm sort of glad to be
presenting art made by a gardener woman
on garana land
I have two questions for uh everybody
and my first question is
do you work in a team and like I can see
a few hands everybody works in a team
it's very common
um you know any group that is working
together on the same goal or towards the
same goal is a team they don't have to
be doing the same task you could have
you know a developer a designer and a
tester might be a team because they're
all working on the same piece of
software
my second question for you
does someone care about your output
um
you know
if you work in a team professionally
your boss probably cares about your
output but if you're
you know a team that's a sports team
maybe it's just the members of the team
that really care about winning that you
know it would be okay if you didn't win
your um
your uh you know Cricket competition
some teams their output's not what's
important you know social groups like
book clubs you know sure there's a book
to you read but nobody Minds if you
don't read the book right
um
they don't need to worry about this talk
so uh
if you do work in a team and somebody
cares about your output
then this talk is for you
so the problem with teams is that
things can go wrong when you work in a
team
um
there's a lot of questions that you need
to be able to answer like do you know
what to do and when I say you I mean
both you individually and you
collectively as a team like do you know
what to do yourself and does your whole
team know what to do
and think that's the same thing because
maybe some of your team have a different
idea to other members of video maybe
some of your team are saying yeah we're
doing this because it makes us a lot of
money and the other members of your team
are saying yeah we're doing this because
it helps people go places or transition
us to renewable energy or any of the
other wonderful talks that we've heard
this pipe on like there's been a lot of
things that teams are doing
um you know do you know why you're doing
it do you do you have good tools do you
know how to use it
is there conflict in your team people
don't always get along it's it's
you know we don't like it but it does
happen
so with all of these problems
you could be doing better
if only you knew how
hi my name's Peter and I'm here to tell
you about retrospectives uh
retrospectives are a tool for
um helping you solve some of those
problems of things that can go wrong in
teams they're not a silver bullet but
they are a tool in the tool belt
um they'll help I'm a senior engineering
manager at Expedia group I've worked in
tech for uh 20 years as you might have
heard in my bio for the last few years
I've been a manager so I'm sort of
responsible for keeping a team pointed
in the right direction and making sure
everyone's getting along and
that's what I do so what is a
retrospective
so
retrospective I've put it here as a team
meeting to discuss how the team operates
and how the team could improve
um
I use retro and retrospective
interchangeably they mean the same thing
retro is just short for retrospective
I'm Australian it's what we do
so I'm just gonna today I'll run us
through how I run a retro some digital
tools to help
run Retros I'll do a quick recap at the
end and hopefully have time for some
questions
so uh how I run a retro
um it's a fun place to be
and
I'm talking about how I run a retro it's
not the only way to run a retro there's
many competing ideas about how to run a
retro some people like
very frequent very short Retros some
people like to let them go wait a long
time and then do a really big one
um personally I find a 90 minute retro
is a good length of time and for that
length of time probably every six weeks
you don't want to do a 90 minute meeting
every week for a retro even every two
weeks for that long
um
but there's a few steps you can follow
if you would like to run a retro the
same way I run a retro
the first thing you do is prepare
get ready
book a room
invite your team gather supplies um the
main suppliers you would need would be
sticky notes pens to write on them
um
you know putting sticky notes on a wall
happens a lot in a retro
um
I mentioned 90 minutes as being a good
length of time to book a room for
um
60 Minutes is sort of it feels crowded
and you're having to rush at the end 30
minutes has never once been enough
so you know allow enough time
once you've done that
you can gather
bring your people to the room
welcome them
remind them what they're here for we're
here to have a retrospective we are
going to talk about how things are going
we're going to look for ways to improve
um
recap the actions from the last retro
you know say hey we've done this before
you know last time we decided to do some
things here's how that worked out
um that last step recap actions from the
last restaurant I didn't used to do that
and then one time in a retro people said
here's an action we'd like could you do
a recap at the start because because we
know wait to see if these actions that
we've come up with have been followed up
on
and I'm like that's a great idea so
retro it's self-improving right you can
use the Retro to improve the Retro as
well as improving everything else that
you're doing
so once you get everybody together
it's time to brainstorm
just ask everyone
thought things went well
what things not as good
is there anything else we need to talk
about that you wouldn't necessarily call
good or bad right there's
there's
um you know write these things down on a
sticky note just one thing on each note
put them up on the wall
um not having a discussion yet this is
really just getting ideas out where
people can see them not sort of debating
the merits of those ideas yet
um this sort of what's good what's bad
what else do we need to talk about
that's the way I
um like to use categories but there's
other options as well some people call
it The Good The Bad and The Ugly
uh some people call it stop start and
keep
um
there's options
do what works for you
um anyhow 10 or 15 minutes it takes and
usually that's enough time it's
generally pretty obvious when you're
ready to move on people will have
stopped writing and started sort of
reading what everyone else has put up
instead and when you get to the point
where no one seems to be frantically
scribbling and putting things on the
wall
time to move on to the next phase
so when you do this brainstorm you tend
to get
a big wall
full of things
sticky notes everywhere
you can't have an in-depth discussion
about every single thing your team has
thought of in 90 minutes in fact you
probably couldn't do it in like two
weeks
so you need a way to decide which of
these things are so important but we
want to address them in our 90 minutes
voting is a great way to do that let the
people decide
so
voting's pretty quick five minutes of
your retro Maybe
um
you can sort of
hmm
um
yeah I found you know just get people to
take their pen up put a mark on a on
which of those cards right because
when you say what things are good lately
there'll be things that they're good
everybody agrees they're good
but you don't need to have a full
in-depth discussion right when I say hey
we got a new member join our team and
that's great I'll put it in the good
column
um and people say yeah that is great
but don't vote for that right where you
don't need to have a discussion about
the fact that someone has joined our
team everybody already acknowledges it's
good
there's no actions that come from that
so when you're voting you're voting for
what needs to be discussed not what do I
agree with also good thing to remind
your teams
remind your team off there
once the votes are in
now is the time for discussion
one Topic at a time
most important topic first which is the
most important topic
it's the one with the most votes
so go grab grab the grab the ones with
the most votes pick a threshold for
votes to decide
you know how many topics you're going to
talk today you've probably got enough
time to get through four cards five
cards so you know if you find all right
this one got
five votes these three got four votes
the next thing got three votes and say
all right let's do that first one and
the next three Four's enough and then
we've got a neat threshold of if you've
got more than four votes we'll talk
about you
um
and you as the as the Retro organizer
are also going to be facilitating
discussion
um make sure people get a tone to speak
right the some people really like to
talk in a meeting some people tend to be
a bit quiet and reserved um
but being a naturally quiet person
doesn't mean your ideas aren't valuable
so
so you know you as the organizer
probably also the facilitator you could
nominate someone else to facilitate
um keep an eye out on who's talking make
sure that people who look like they want
to talk but haven't quite felt
comfortable jumping in um get a chance
to
um
and just sort of and keep notes you know
write things down like
you don't need a record of who said what
but you do need a record of what got
said
um
because these are these are important
topics right your team has voted and
decided and it's been Democratic you you
know that these are the things that
matter to you
you better write that down
now in that discussion
you're not
um
coming up with you're not deciding on a
solution yet right at the moment people
will propose solutions to things and you
can write them down
you're not agreeing that yes that's
definitely what we're going to do here
you're just sort of making sure people
have
explained what the problem is you're you
everybody who shares the same idea about
the problem are there different views
just some people say oh actually I've
never noticed that while other people
are saying oh that's a huge problem I
say that all the time
um the discussion draws that out and
gives you a good sense for
which of the things that really matter
you know who is this important to
um
is my idea of what the problem is from
the words on the sticky note actually
match what comes out when I give people
you know longer to explain and they can
speak a few sentences
and after that discussion
here one card at a time work your way
through all of them
then it's time to decide what to do
right we don't decide during the
discussion because sometimes we find hey
when we were talking about this card
it's kind of relevant to this earlier
card as well and if we just decided what
to do about that card when we were
talking about it we'd have missed things
that we sort of got to two cards later
so this is why decide is a separate step
to discuss
so have your have your decision say okay
we talked about
this thing that's wrong
here's some of the ideas we've proposed
what are we going to do
who's going to be responsible
um you know are there things we need to
not do keep doing do differently
you can
and at this point you can't sort of blur
together a bit because often there'll be
two cards that are related to each other
and you're
so you might you don't necessarily get
one action to address each card you
might find there's one action that
addresses two cards or you might decide
that actually after we had that
discussion
there's nothing we need to do it's not
as big of a problem we thought or we
think that problem will go away by
itself without us having to do anything
um so don't try to be a like all right
discard what do we do this card what do
we do just so yeah all right now that
we've had all these discussions what
things do we need to do like going back
through the cards can help to sort of
prompt people to make sure things don't
get um forgotten
but it's not going to be one card one
action
um so this is probably the bulk of your
retrospective meeting this is about 30
minutes
um this is why you can't do a 30 minute
retrospective is because you need 30
minutes just to decide what you're going
to do after you've had the discussion
about what um what things need
addressing
when you finish deciding
conclude wrap it up
do a quick recap you know tell people
okay we discuss these things we decided
on these things
when should we have the next next retro
who's going to organize it
um do we have it in six weeks do we
decide oh actually these problems are
big and urgent we need to have a sooner
one do we decide actually we can maybe
we can let it close for a little bit
longer maybe maybe six weeks is too soon
uh depends on your team depends on your
environment what you're doing
um
thank you to everyone thank everyone for
coming to your retro yo
it's good to have people there
um it's good to have people contributing
to the discussion
make sure they know that you're glad
that they turned up
and afterwards send out the minutes
you've taken a lot of notes there's been
a lot of discussion a lot of writing
send it out afterwards not the full
discussion notes that's not needed by
the entire team but what people do need
is
these are the topics we discussed right
here's the here's the things that we
thought were so important that we
dedicated time to them today here's the
actions we decided on and this time it's
time to add people you can you can say
we decided it's Peter's job to change
the way this thing operates maybe I have
to reconfigure jira maybe I have to have
a discussion with my manager lots of
ideas
that goes in the minutes afterwards
everybody should know what's being done
and who's going to do it
um
and sometimes
the actions are for everyone you might
decide that
the whole team needs to do something
differently
and often I find in Tech teams it's okay
everyone we need to write more
documentation
and
it never happens and it keeps coming up
if anybody has a solution for getting
documentation written please tell me
anyhow that was how I run a retro so uh
book a room get together
come up with topics to discuss vote to
decide what gets discussed discuss
decide on the actions wrap everything up
now I do want to give some credit for
this because the way I run a
retrospective was heavily inspired by a
conference talk I went to at Yao in
2019.
um I know Corey did retrospective
anti-patterns if you would like more
tips or a little bit more depth on the
things that I've just talked about um
is great I know it's also written a book
I haven't read the book
all right
I'll give you a moment longer to take a
photo of the QR code if you like
so
I talked a lot about
book a meeting room gather everyone in
person
who has seen their entire team in person
in the last month
the
some people I'm like maybe a quarter of
the room it's if I ask that question
four years ago it would be most of the
room it's not as common these days
which means
digital tools can help you right there's
there are ways to run this retrospective
over a video conferencing software
um you don't need to be in a room with
sticky notes there are alternatives
so um you know you might have
people who work from home you might have
a team that's split between two cities
um
let's have a look at what we can do for
them
uh trellor is the first tool I have used
for running retrospectives and it was
great it's basically a digital board for
digital sticky notes
um it has a board that's basically this
is a photo of a board
um that board is organized into lists
those are each of the columns and then
cards which are the blocks in the
columns
um the the board is basically like the
Whiteboard and the cards are like the
sticky notes and the lists are sort of
how you keep them organized
um there's templates this is what you
get if you sort of just generate
something from one of their
retrospective templates it gets the job
there is a free tier you don't have to
pay for it depending on exactly how
you're using it it has a lot of other
features that you don't need them for
running a retrospectives they're I'm
sure they have their uses
retrospectives don't need the full um
Suite
so
this is what I first used and it was
great I really like running
retrospectives with Trello but um the I
work in a very large company and the
licensing of software gets very
complicated and eventually they decided
it's too hard for you all to use to let
everyone use Trello we're taking it away
so I had to move on to a different tool
and now I use Miro
so um Miro is what I use these days
um it's like a digital whiteboard so
like Trello you can have sticky notes
and put them places and write on them
you can also draw on it like a
whiteboard you can't draw on trailer you
can draw a mirror you don't really need
the drawing for Retros this is sort of
Miro is overkill it's a bigger tool than
you need there's templates again this
screenshot is sort of what you get if
you use one of the templates for
retrospectives there is a free tier you
can use it without having to pay for it
there are a lot of other features and
again
I'm sure they have their uses not for
retrospectives they're they're not
needed retrospective is a simple
so that's another tool you can consider
finally I'll talk about Microsoft
whiteboard so uh
it's another digital whiteboard very
similar idea to mirror
um you know it's a whiteboard you can
put sticky notes on it you can type
notes on the sticky notes you can draw
all over the Whiteboard if you like it
has templates
um
here's a screenshot showing what it
looks like if you use one of their
retrospective templates to make a
retrospective board
it's not quite as polished as Miro I
tried it once I didn't like it quite as
much
um but it gets the job done and it is
included in Microsoft 365 so if you work
for an organization that's already got
an office subscription
um chances are you already have access
to this and it's a tool you can just
pick up and use without having to set up
accounts with something else
so um those are three of the tools that
I've used
um Trello Miro and Microsoft whiteboard
but there's also
every single other tool right
you don't need very much to run a retro
I haven't tried every single other tool
but I bet you could find a way to make
it work if you have a document that two
people can type into at the same time
you'll get there
um
you can you can improvise you
you need to modest
you could try running things without a
tool and just having just video
conferencing and saying all right
someone shout to me and I'll write
things down I wouldn't recommend that
it's a bit chaotic it doesn't work quite
as well you will need somewhere where
people can type to you
um
you know if you really wanted to you
could point a camera at a whiteboard I
wouldn't try that either too chaotic
so
I've talked about sort of what to do
with your team Works partially from home
or maybe from two Australian cities and
so you can't just get everyone into the
same room to have a thing but now moving
on to a topic that's
very close to my heart
time zones
what happens when your team is spread
all around the world like I'm a manager
of a team that has people in every major
U.S time zone the East Coast of
Australia India and Amsterdam
there is no good time to get everyone
together all at once right it's it's
always the middle of the night somewhere
so
you're going to have to make compromises
um
in general you should try and schedule
most of your Retros so that they work
for most of your teams your teammates
right for me that means first thing in
the morning Melbourne time because it
people from Seattle can join people from
Australia can join people from the rest
of the US can join if they're working
sort of a little bit beyond standard
office hours which
as long as you don't ask them to do it
too often people are usually willing to
do that
um and most of your Retros do that right
that's my team my team is mostly on the
west coast of the US and in Australia
but there are people in the rest of the
world there's people in India people in
Amsterdam people in the east coast of
the US
um
so some of your retros
should work for everyone like have the
occasional one at a different time you
know I can stay up late and run one at a
time that works for India and Amsterdam
um you know knowing that the people in
the US are going to miss out this time I
could stay up really late in run one
that works for Amsterdam and New York
um you know it's not as convenient for
me but people will sort of join
um so
you know maybe run two retros that work
for wherever the bulk of your team is
and then every third or so
run one at a different time that uh to
make sure everyone else can join in or
if it's inconvenient for you like you
know I'd have to stay up quite late to
run something that's you know first
thing in the morning in New York let
someone else on your team run a retro
teach them how you can get them to watch
the great talk you saw at pycon and
they'll know exactly what to do
so in case you've been in a hole for
this whole talk and not paying attention
to what I've been saying I'm just going
to do a very quick recap
so
retrospectives
you should run them they're good
how I run a retrospective is that I
prepare I gather everyone together we
brainstorm vote discuss
decide what to do and then conclude
there's some digital tools to help you
you could use Trello Miro Microsoft
whiteboard they will get the job done
any other tool will probably work too
whatever you're already comfortable with
for collaborating with your team
um
and now
there is a little bit of time for Q a
[Applause]
excellent question up here
hi um thanks for sharing
um my question is about whether or not
you have any thoughts or tips on how to
best run
inter-team Retros because we oftentimes
have dependency on each other and yeah
yeah sure so
I've been involved in some
retrospectives that were bigger that
involved you know multiple teams getting
together and basically you can use the
exact same process
um what I've described here will work
for a larger audience
um
it will scale up to a point right you
you're if you're getting you know 200
people in a room maybe this is going to
be not work anymore but when you've sort
of got
two or three teams so you've maybe up to
about 20 people this will this will
still work pretty pretty well
um the thing that changes is what topics
do people bring up when the context is
how how do we operate together as a team
um and the voting like which topics are
important to discuss like what gets
brought up what gets voted on will be
different in a retrospective that is
multiple teams coming together
compared to when it's just your team
right when it's just your team you talk
about what your team's working on but
when it's several teams then people tend
to talk about how we operate with each
other and the larger organization
hey um thanks Peter sorry me try this um
is there any red flags to look out for
I'm sorry if this question is putting
you on the spot um but in the way of the
environment or how the Retro is being
run is there any red flags that you
would suggest to look out for in case a
team isn't running a retro
um properly per se
yeah sure so
the two things that I would sort of look
out for
one of them is
sometimes one or two people like a
minority for a team will dominate the
discussion they will they will want to
be the people talking and the people who
get their cards voted for and discussed
and the people who come up with the
actions
and that's why it's important to have
someone actively facilitating like as
the organizer you'll be participating in
the discussion a bit but you should
always have half your mind on making
sure that everyone gets heard
um the other red flag is if there is
serious conflict in your team
um
which again happens I'm glad I haven't
had to deal with that myself
I'm not sure if this is the right tool
for the job because I haven't been there
um
although one thing that might be worth
trying then is instead of facilitating
it yourself
see if you can find an outside
facilitator who's a little bit further
from the conflict to um to keep things
rolling and that can sort of help to
keep things on track
um I'm interested in how big is the team
that you're running this for and are
there any changes that you would make if
you were scaling it down to a team of uh
say two to five people
um so the team that I'm running this for
now the full team spread across all the
time zones is
depends exactly how you count it but in
the ballpark of 20 or 30 people
um in any one meeting there'd usually be
about 8 10 maybe 12 if everybody really
wants to be there
um so that's sort of about the scale I'm
operating at I've run this exact same
thing on other teams that have been
smaller like going down to five I
haven't tried it at two I'm not sure if
it's the right structure but it
certainly works at five
okay well that's all we have time for
please join me in thinking Peter again
and we have a small gift for you
[Music]
thank you on behalf of the conference
all right thank you and if anybody wants
to continue this discussion I'm going to
pack up and then I'm going to step
outside that door and if you're Corner
me there I will keep this going thank
you very much
[Applause]