►
From YouTube: UX Scorecard Creating an On-Call Schedule
Description
Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/337237
Slides: https://docs.google.com/presentation/d/1jmSpryH9dRbTrGxsd8AeFZy6CLdZ8GZ3MFq_JFTQHDs/edit?usp=sharing
Journey map: https://app.mural.co/t/gitlab2474/m/gitlab2474/1628838224425/7d69f84651be4ef52001d9cea688fc7052f591bf?sender=kcomoli8464
UX Heuristics: https://about.gitlab.com/handbook/engineering/ux/heuristics/
A
So
if
you're
not
familiar
with
the
us
call
card
process,
it's
basically
a
heuristic
process
when
we
start
by
identifying
the
job
to
be
done
for
the
user
and
what's
their
desired
outcome,
map
out
a
user's
journey.
So
what
is
the
current
process
to
get
to
the
desired
outcome?
A
And
we
end
up
by
grading
the
experience
based
on
ux
heuristics
and
a
grading
model
that
we
have
so
who
are
the
personas
and
jobs
to
be
done
for
creating
an
on-call
schedule
so
personalize
our
devops
engineers,
software
developer
and
system
administrator,
and
we
have
really
two
jobs
done
here,
so
one
for
the
on-call
schedule
and
one
for
escalation
policies,
but
they
really
work
together
so
for
on-call
schedule.
A
A
Is
that
because
on-call
schedules
and
investigation
policies
are
both
a
paid
feature
and
part
of
the
premium
plan,
and
also
to
be
able
to
use
those
features,
you
need
to
be
the
maintainer
of
your
group
or
project,
but
I
also
choose
to
look
at
it
from
the
angle
of
someone
that
doesn't
have
the
maintenance
permission
and
the
reason
for
that
is
because,
when
we
see
stage
adoption
and
feature
adoption
in
gitlab,
it's
mainly
driven
by
invited
users
and
these
users
may
not
have
the
proper
level
of
permission
to
access
the
feature.
A
Therefore,
you
kind
of
raise
the
question
of
like
how
can
they
perform
the
task,
but
the
main
aspect
here
is
from
the
maintainer
perspective.
So
let's
check
this
out,
so
I
have
here
one
of
my
test
project
that
is
on
the
trial,
so
I
can
access
all
features.
A
That's
that's
created
on-call
schedule
in
gitlab,
rogue
elders
directly
to
specific
members
of
your
team
at
a
schedule.
I
really
like
this
entire
step
because
it's
straightforward,
it's
really
getting
to
the
point
and
the
call
to
action
is
really
engaging.
A
The
only
thing
that
I
would
have
expected
from
a
feature
perspective
is
maybe
to
have
the
ability
to
import
a
schedule
from
a
third
party,
because
I
imagined
maybe
my
team
is
using
gitlab
as
a
tool,
but
maybe
you
already
have
like
on
our
or
on-call
schedule,
set
up
somewhere
else,
most
likely
in
google
calendar
or
maybe
in
an
excel
sheet,
and
I
would
have
liked
to
have
the
option
to
just
import
all
that
and
not
recreate
everything
from
scratch.
A
That
would
have
definitely
like
pushed
me
to
adopt
this
even
more,
but
for
the
sake
of
this
core
card,
I'm
just
going
to
create
it
from
scratch.
A
So
I'm
clicking
on
add
schedule
and
asked
to
name
the
schedule,
give
it
a
description
and
pick
a
time
zone.
I,
like
the
time
zone,
touch.
I
think
it's
really
nice
to
have
so
yeah.
So
for
the
name.
I
honestly
have
no
specific
idea
on
how
to
call
this,
and
I
kind
of
wish
that
I
had
some
kind
of
suggestion,
so
maybe,
as
a
helper,
we
kind
of
like
here
we
have
time
zone.
We
would
say
said
that
no
okay,
I
got
in
there.
A
I
set
the
default
time
zone
for
the
schedule
for
a
participant
like
I
wish.
I
would
have
something
for
a
name
like
a
suggestion
about
how
to
name
my
schedule
and
yeah
and
clicking
away
directly
fired
and
alerts.
So
that's
that's.
Okay.
I
mean
it's.
A
It's
kind
of
pushing
you
to
make
sure
that
you
filled
everything
before
submitting,
but
I
don't
know
I
mean
in
some
perspective
you
might
want
to
let
people
fill
everything
submit
and
then
tell
them
when
they
have
errors,
but
anyway
yeah
I'm
gonna
call
the
schedule.
I
don't
know
tag
on
calls
no
description
and
then
the
time
zone
is
gonna,
be
yeah,
amsterdam,
time
zone,
so
I'm
gonna
add
the
schedule.
A
Okay.
So
here
I
have
my
schedule
created
and
I
have
a
nice
tip
alert
here:
try
adding
a
rotation,
so
it's
basically
pushing
me
towards
the
next
action.
So
my
skill
has
been
successfully
created.
Now
I
need
to
add
people
to
schedule,
but
then
also
saying
I
need
to
enable
notification
for
the
schedule
by
creating
an
escalation
policy.
A
Okay,
so
that
makes
sense.
Okay,
so
let's
let's
try
it
out
yeah.
So
I
see
the
add
rotation
out
of
rotation
here.
I
just
I
don't
see
a
primary
cta
in
this
page
like
we
have
at
the
schedule,
but
maybe
add
a
rotation
should
be
a
primary.
I
I
don't
know
it's
just
it's
not
directly
clear.
What
is
the
next
step,
so,
thankfully,
the
tip
alert
is
here
to
tell
me
the
process.
A
Okay,
I'm
going
to
add
a
rotation,
so
I
have
to
add
a
name
say:
givens
rotation,
and
this
one
or
no,
maybe
maybe
this
one-
the
rotation
length
is
going
to
be
one
day.
Please
no
rotation
with
shifts
there
are
less
than
four
hours
or
currently
knows
very
end.
With
your
view,.
A
Okay,
oh
yeah,
okay,
we'd,
like
you
say
it
starts
on,
say
tomorrow
at
nine.
Yes,
I'm
going
to
enable
an
end
date,
I'm
going
to
say
the
same
day.
A
Rotation
and
daytime
must
come
after
start
time,
yeah
yeah.
Alright,
that
makes
sense.
I
just
I
just
wish
that
this
would
have
somewhat
pushed
the
hour.
I
said
here
from
like
one
more
so
that
I
don't
get
the
other
the
the
alert
here
I
mean
it's
nice
to
have
it
obviously,
but
I
just
wish
that
it
would
kind
of
take
into
account
that
it's
not
specifically
me
that
triggered
it
in
some
way
so
to
have
it.
A
For
example,
this
start
at
10.,
but
yeah,
I'm
gonna
say
that
I'm
on
call
until
12
restricted
time
intervals,
so
yeah.
So
that's
that's
why
I'm
a
bit
confused
between
what's
the
difference
between
starting
on
having
the
end
date
and
then
the
time
interval?
I
just
wish
that
we
had
a
little
bit
of
like
texts
around
here
to
explain
the
the
difference
between
all
these.
A
A
A
The
only
thing
is
that
it's
removing
the
edit,
the
tip,
alert.
Sorry
so
now
I
kind
of
remember
that
if
I
want
this
person
to
be
notified,
I
have
to
go
to
create
an
escalation
policy,
but
because
dealer
told
me-
and
if
I
were
to
do
this
in
two
different
days-
I
don't
know
if
I
would
have
remembered
that
this
is
where
I
needed
to
go.
So
I
wish
that
the
alert
that
was
here
previously
would
still
be
there
or
would
be
replaced
by
some
kind
of
text
so
that
it
doesn't
get
lost.
A
Basically,
but
okay,
I'm
gonna
create
my
escalation
policy,
okay
and
then
yeah
so
same
thing.
I
think
team
two
state
is
great
here.
What
I
just
feel
a
bit
disturbing
in
a
way
is
that
I
have
to
go
to
another
page
to
do
this
because
it
seems
like
uncle
schedule
and
collection
policies
are
tied
together
and
you
cannot
use
one
without
the
other.
So
I
don't
know
why
it's
a
separate
page.
A
A
The
only
thing
that
I
wish
I
would
specify
is
like
how
these
person
get
notified
for
now.
I
feel
like
this
is
not
clear.
Like
I
don't
know
if
they
receive
an
email,
I
don't
know
if
I
can
add
the
possibility
for
them
to
receive
a
text
as
well
so
yeah.
I
wish
that
would
be
specified
here,
but
other
than
that.
It's
again
it's
like
the
first
time
to
say
it's,
it's
pretty
straightforward
and
engaging
so
yeah.
I
guess
I
have
to
name
my
escalation
policy
again.
So
same
thing.
A
I
wish
I
would
have
some
kind
of
helper
around
here
to
give
me
a
hint,
because
this
can
be
a
bit
blocking
for
me
to
just
come
up
with
a
name,
so
I
don't
know
how
I'm
gonna
call
it
actually,
okay,
so
tests
escalation,
no
just
escalation,
one,
maybe
no
description
and
escalation
rules.
If
other
is
not
acknowledging
zero
minutes,
then
yeah.
I
really
like
this.
This
is
really
great.
A
A
15
minutes
no,
this
is
five
minutes.
A
Five
minutes,
then
email
on
call
user
schedule
select
the
schedule
they
want
calls
yeah
yeah,
that's
that's
what
I
want
and
then
I
can
add
an
additional
rule
as
a
fallback,
and
I
think
I'm
gonna
do
it,
because
the
job
to
be
done
was
about
paging
check.
Yeah.
The
chapter
of
dawn
was
about
painting
someone
else.
If
the
first
person
is
not
being
notified,
so
creating
the
fallback,
so
I'm
gonna
do
it.
I'm
gonna
add
an
additional
rule.
A
So
if
the
alert
is
not,
let's
say
resolved
in,
say
16
minutes
yeah,
so
yeah
again
like
the
deal
is
firing
a
bit
fast,
it's
better
to
have
another
than
no
alert,
but
I
would
just
prefer
that
it
come
after
I'm
trying
to
submit
so
then
I'm
gonna
email,
okay.
So
this
is
clear.
I
know
yeah
email
as
well
like
okay.
Now
now
I'm
gonna
be
sure
about
that.
A
I
know
that
people
are
gonna,
be
emailed
and
I'm
gonna
add
email,
another
person
yeah.
That
sounds
good
cool.
So
it
looks
like
I
created
my
escalation.
A
The
thing
is,
I
didn't,
have
any
some
kind
of
success
message
or
reassurance.
I
see
I'm
seeing
that
this
is
in
the
ui.
I'm
seeing
it
written
that,
if
dealer
is
not
acknowledged,
this
person
will
be
picked.
A
If
the
dealer
is
not
resolved,
another
person
would
be
paying.
I
I
see
that,
but
I
have
no
real
way
to
verify
this
and
the
ui
is
not
going
to
be
assuring
me
even
alert,
saying,
hey
everything
went
well
rest
assured
that
these
people
will
be
paying
because
right
now
it
feels
like
the
only
way
for
me
to
verify
if
this
works
is
to
basically
have
a
problem
during
an
on-call
and
see
if
the
alerts
are
triggering
are
firing.
A
Sorry,
so
I
just
wish
that
there
was
some
kind
of
way
to
test
the
escalation
policies
when
they're
created-
or
at
least
some
kind
of
reassuring
message
to
tell
you
that
everything
is
okay
and
ready
to
go
so
yeah.
That's
that's
the
experience
for
a
maintainer
in
a
paid
group
so
using
the
different
heuristics.
A
A
So
what
I
thought
was
really
good
in
this
experience
was
the
empty
states,
the
conditional
statements
for
the
escalation
policies
and
the
typically,
thankfully
I
had
it,
because
if
I
was
if
I
was
not
guided
by
this
alert,
I
don't
know
if
I
would
have
been
able
to
do
it
this
fast,
but
in
terms
of
potential
improvements
in
terms
of
the
visibility
of
system
status,
I
think
we
could
apply
the
pecan
rule
and
reassure
people
when
they
create
an
escalation
policies,
because
this
can
be
a
bit
stress
inducing
if
I'm
not
sure
that
those
scholarship
policies
are
gonna
work.
A
Then,
in
terms
of
setup
super
we
could
maybe
do
a
bit
better
in
helping
user
naming
their
scheduling
policy
and
specify
the
already
type
or
the
notification
type
beforehand,
because
I
would
have
expected
to
see
this
in
the
empty
state
and
not
in
the
conditional
statement
of
the
escalation
policy.
But
it's
it's
still
mentioned,
but
a
bit
late
in
my
opinion,
but
that's
that
again,
that's
not
a
big
deal
and
then
the
alert,
the
tip
on
the
page.
A
A
Then
we
could
also
improve
flexibility
and
efficiency
of
use
so,
like
I
said,
suggest
third-party
integration
to
streamline
a
bit
the
setup
phase
and
lower
down
the
adoption
barrier
and
try
to
solve
a
bit.
This
context
version
situation
to
have
a
scholarship
policy
in
the
schedule.
Maybe
so
I
don't
have
to
like
move
over
different
pages
and
lose
context
of
the
schedule
all
right,
so
this
is
for
this
degree
for
the
main
job
to
be
done
now
from
the
non-maintainer
perspective,
I'm
gonna
do
it
to
have
it.
A
I
have
it
here,
so
this
is
the
same.
Actually,
I
might
need
to
delete
things
or
not.
Maybe
it's
going
to
work.
This
is
the
exact
same
group.
The
only
difference
is
that
switch
on
a
different
user.
That
is
a
developer
of
this
group
and
I
have
the
same
empty
state
and
I'm
going
to
click
on,
add
a
schedule,
so
I
have
the
same
the
exact
same
model.
A
Add
the
schedule
yeah
and
then
I
have
an
error
and
there
is
graphql
error.
The
reasons
that
you're
attending
to
says:
there's
no
exit-
or
you
don't
have
permission
to
perform
this
action.
So
it's
okay,
it's
kind
of
clear.
So
it
seems
like
I
don't
have
the
permission
to
do
it.
So
at
least
that's
good
to
know,
but
I
just
wish
that
I
would
have
known
that
beforehand
before
starting
to
add
the
schedule,
because
that
I
wouldn't
have
engaged
with.
A
If
I
knew
I
would
have
tried
to
find
a
way
to
get
that
permission
first,
and
at
this
point
I
I
don't
have
like.
I
don't
know
too
much
how
to
do
it
besides,
trying
to
check
the
members
information
and
see
who's
the
maintainer,
so
this
person
is
the
owner,
so
he
would
be
able
to
give
me
the
maintainer
permission,
because
right
now,
I'm
just
a
developer,
so
we
probably
reach
out
to
him.
A
I
don't
know
either
with
slack
email
or
if
we're
working
together
in
the
same
office
just
trying
to
reach
out
to
this
person.
But
maybe
we
should
have
a
way
to
do
that
from
the
empty
states.
To
kind
of
request
access
to
a
specific
feature,
but
as
far
as
like
my
journey
goes
as
a
non-maintainer,
this
is
where
it
stops,
because
I
cannot
do
anything.
I
just
need
to
request
permission.
A
So
yeah
I
I
excluded
this
flow
from
the
grading
experience
but,
like
I
said,
I
think
it
was
important
to
just
check
it
out,
because
if
I
were
invited
to
this
project
without
the
proper
permission,
I
would
kind
of
expect
to
have
a
way
to
be
able
to
ask
for
it
so
yeah.
So
the
good
thing
is
like
at
least
I
have
another
telling
you
what's
going
on.
I
can
understand
that
I
don't
have
the
good
level
of
permission,
but
what
could
be
improved
is
probably
clarifying
it
earlier.
A
Another
thing
is:
maybe
lowering
down
the
permission
level.
I
don't
know
if
that's
possible,
but
I
I'm
not
sure
why
it
is
a
maintainer
level
permission
especially
like
if
we
think
again
back
to
the
personas
being
software
developer.
For
example,
I
don't
know
if
all
of
them
are
maintainer
of
the
project
or
if
the
one
that
should
set
the
on-call
schedule
on
maintainers,
so
maybe
the
permission
should
be
lower
down
and
then
yeah.
A
A
The
setup
support
is
pretty
good.
For
example,
this
alert
that
I
had
the
grey
alert
was
really
doing
a
good
job
at
explaining
me
the
different
steps
and
the
form
also
had
a
couple
of
helpers.
A
I
just
wish
that
there
were
more,
especially
for
naming
it
can
be
a
bit
blocking
when
you
don't
know
how
to
name
things
so
having
some
suggestion
would
be
definitely
helpful
to
move
forward
kind
of
faster
and
it
would
be
also
easier
and
then
we're
also
missing
the
peaking
rule
so
kind
of
celebrating,
but
also
reassuring
the
user
when
they
finished
to
set
up
escalation
policies.
A
Friction
inducing,
I
would
say,
like
I
might
be
a
bit
worried
as
to
is
this
going
to
work
or
not.
At
this
point
I
feel
like
I
should
be
assertive
that
this
is
going
to
work
moving
forward,
so
I
mentioned
a
way
to
test
the
escalation
policy,
but
that's
a
some
kind
of
a
big
feature
to
add.
So
maybe
a
simple
step
could
be
to
just
have
a
successful
message
when
the
user
completes
the
escalation
policy,
so
that's
it
for
this
scorecard.
Thank
you
for
watching.