WEBVTT

NOTE
This file was generated by Descript 

00:00:30.482 --> 00:00:31.262
Duke: Woo hoo.

00:00:31.262 --> 00:00:32.912
One week, two recordings

00:00:33.114 --> 00:00:35.814
CJ: Duke man, we are on a roll man.

00:00:35.814 --> 00:00:36.894
We are back

00:00:38.154 --> 00:00:39.564
Duke: helps when you
get a day off, though.

00:00:39.564 --> 00:00:40.134
It really does.

00:00:40.794 --> 00:00:41.184
CJ: man.

00:00:41.184 --> 00:00:41.844
Seriously.

00:00:42.864 --> 00:00:45.114
Duke: So we've ever recorded
at 11 in the morning

00:00:46.144 --> 00:00:46.359
CJ: N sh.

00:00:47.349 --> 00:00:48.879
Maybe during the pandemic,

00:00:49.284 --> 00:00:49.944
Duke: maybe.

00:00:49.944 --> 00:00:50.364
Yeah.

00:00:50.619 --> 00:00:51.009
Alright.

00:00:51.009 --> 00:00:51.694
What are we talking about today?

00:00:52.689 --> 00:00:53.139
CJ: All right, duke.

00:00:53.139 --> 00:00:55.659
Today we're talking about
the anatomy of an app.

00:00:56.589 --> 00:01:01.029
Duke: Yeah, so it's all stuff we've talked
about before on CJ and the Duke, but

00:01:01.089 --> 00:01:06.309
every once in a while it's good just to
like jot down your high level knowledge

00:01:06.339 --> 00:01:11.569
of things at least inspired it for me
on my side is, I work at ServiceNow.

00:01:12.349 --> 00:01:16.279
I help build release ops, which is
our awesome new tool that helps you

00:01:16.279 --> 00:01:21.109
push more stuff, more often of higher
quality with greater confidence.

00:01:21.409 --> 00:01:23.119
And in my,

00:01:25.759 --> 00:01:28.009
I'm not saying I built it,
I said I helped build it.

00:01:28.009 --> 00:01:32.559
They gave me the really tiny, pieces and,
somebody else created the big bad stuff.

00:01:32.859 --> 00:01:33.459
CJ: Uh.

00:01:36.564 --> 00:01:39.464
Duke: But it kind of made me think again,
if we forget for a moment how we get

00:01:39.464 --> 00:01:42.884
this thing from Dev to test, to prod.

00:01:43.061 --> 00:01:48.772
how do you build a comprehensive,
successful, long lived,

00:01:50.476 --> 00:01:52.166
awesome thing on ServiceNow?

00:01:52.941 --> 00:01:55.221
CJ: Man, you put a lot
of adjectives in that.

00:01:57.231 --> 00:02:01.257
Duke: Well, everybody's, built good apps,
and I would argue that people have built

00:02:01.257 --> 00:02:04.167
good apps that lasted not very long.

00:02:04.827 --> 00:02:05.247
You know what I mean?

00:02:05.247 --> 00:02:06.567
It just didn't hit the mark.

00:02:07.137 --> 00:02:07.497
Right?

00:02:07.827 --> 00:02:09.602
Everybody's built something awful.

00:02:11.562 --> 00:02:13.902
CJ: Oh, every single day.

00:02:14.277 --> 00:02:14.697
Duke: Yeah.

00:02:15.267 --> 00:02:17.657
Or at least,, maybe that's
a little bit broad, but

00:02:17.657 --> 00:02:19.187
everybody seems something awful.

00:02:20.657 --> 00:02:22.157
CJ: No, you were right the first time.

00:02:22.157 --> 00:02:25.364
Everybody's built something awful,
no matter how good you are, I think,

00:02:25.394 --> 00:02:30.044
you know, the whole, progression
of getting good necessitates that

00:02:30.044 --> 00:02:33.704
you have built something awful, at
least at one point to learn from it.

00:02:34.112 --> 00:02:36.182
Duke: Or accidentally
stumbled on something awful.

00:02:36.662 --> 00:02:37.487
CJ: Yeah, that too.

00:02:38.072 --> 00:02:41.279
Duke: I remember I was building
this app for a, compliance team

00:02:41.279 --> 00:02:43.019
at a strategic resource company.

00:02:43.019 --> 00:02:47.159
And this is like, they're being audited
by NSA and like all the three letter

00:02:47.159 --> 00:02:49.349
agencies are, have their fingers in this.

00:02:49.349 --> 00:02:50.729
'cause it's like, where's the oil?

00:02:50.729 --> 00:02:51.749
How, how much of it do we have left?

00:02:54.029 --> 00:02:58.619
And so they had these tight
restrictions again around What

00:02:58.619 --> 00:02:59.669
people are allowed to have.

00:02:59.669 --> 00:03:00.209
What stuff?

00:03:00.209 --> 00:03:03.149
Like, are you allowed to make calls from
your desk phone outside the country?

00:03:03.149 --> 00:03:04.289
This, this kind of stuff.

00:03:04.439 --> 00:03:05.189
CJ: Yeah, yeah,

00:03:05.219 --> 00:03:08.969
Duke: And they had this kind of, I
certify that I have this right and

00:03:08.969 --> 00:03:10.379
it's under these terms and conditions.

00:03:10.379 --> 00:03:12.209
This was like certification process

00:03:12.539 --> 00:03:12.899
CJ: yeah.

00:03:13.199 --> 00:03:14.849
Data cert, baby data cert.

00:03:15.179 --> 00:03:17.219
Duke: it felt super tasky.

00:03:17.579 --> 00:03:21.089
And so it would be like, okay,
let's do this, close it, and

00:03:21.089 --> 00:03:22.559
then in a year reopen it.

00:03:23.081 --> 00:03:27.037
see if it's still, anyway, that
was back in, legacy workflow

00:03:27.317 --> 00:03:27.607
CJ: Yeah.

00:03:27.997 --> 00:03:29.437
Duke: and there was
some job they had there.

00:03:29.437 --> 00:03:31.897
That'd be like every six months
if the flow is still there.

00:03:31.897 --> 00:03:34.961
And it's not like it hasn't been
touched in a while, just toss it.

00:03:35.876 --> 00:03:39.986
And so basically like a year a, a year
after I built this thing, it was like

00:03:39.986 --> 00:03:41.756
none of the flows existed anymore.

00:03:41.756 --> 00:03:44.006
So it wouldn't do what it
had to do a year later.

00:03:44.746 --> 00:03:45.851
CJ: Uh oh.

00:03:46.376 --> 00:03:46.886
Duke: Yeah.

00:03:46.986 --> 00:03:48.396
but it just exposes, right.

00:03:48.396 --> 00:03:51.216
There was probably two or three
smarter ways to build this.

00:03:51.727 --> 00:03:52.151
CJ: Yeah.

00:03:52.151 --> 00:03:54.241
And sometimes you don't
know . What you don't know.

00:03:54.431 --> 00:03:56.081
I feel the same way when I'm writing code.

00:03:56.271 --> 00:03:58.701
I write some code, I come back
a month later, I was like, who?

00:03:58.701 --> 00:03:58.941
What?

00:03:59.316 --> 00:04:02.826
Dummy built, wrote this, right,
and then I'll look in the comments.

00:04:02.886 --> 00:04:04.356
Oh, that was me.

00:04:04.596 --> 00:04:04.866
Duke: Yeah.

00:04:08.106 --> 00:04:09.576
Who was the last updated by?

00:04:09.666 --> 00:04:10.146
Oh,

00:04:13.696 --> 00:04:16.336
Anyway, it's not, this is
maybe not to make you a better.

00:04:17.566 --> 00:04:20.296
Like developer, you can
be a good or bad developer

00:04:20.521 --> 00:04:21.376
CJ: this us.

00:04:22.021 --> 00:04:22.711
Disagree.

00:04:22.867 --> 00:04:25.627
I think this episode will make
folks a better developer, right?

00:04:25.627 --> 00:04:27.997
Because it's not always just
about writing a code, right?

00:04:27.997 --> 00:04:29.887
Building an app is more holistic to that.

00:04:29.887 --> 00:04:33.594
That's the whole point of this,
But then a large part of that falls

00:04:33.594 --> 00:04:35.184
on the shoulders of the developer,

00:04:36.044 --> 00:04:36.964
Duke: I stand corrected.

00:04:37.374 --> 00:04:37.554
CJ: yeah,

00:04:38.384 --> 00:04:39.244
Duke: You're absolutely right.

00:04:41.334 --> 00:04:41.509
CJ: you know.

00:04:41.969 --> 00:04:45.259
these are things that often don't
get thought about , when the

00:04:45.259 --> 00:04:46.819
app build is requested, right?

00:04:46.819 --> 00:04:49.786
Or when the,  work is
ascribed to someone, right?

00:04:49.786 --> 00:04:50.086
It's like,

00:04:50.236 --> 00:04:50.746
Duke: Yeah.

00:04:51.016 --> 00:04:55.246
And something that maybe separates
a senior resource from a junior, one

00:04:55.246 --> 00:04:59.086
is the like, I think a junior might
presuppose that somebody's already

00:04:59.086 --> 00:05:01.216
done all this great thought onto.

00:05:01.349 --> 00:05:04.679
what does success mean in
its totality for this app?

00:05:04.679 --> 00:05:06.029
And we just need you, Mr.

00:05:06.029 --> 00:05:07.949
Junior, to plug in the build bits.

00:05:08.112 --> 00:05:10.782
And that is not always the case.

00:05:10.782 --> 00:05:12.612
That is in fact, rarely the case.

00:05:12.792 --> 00:05:17.172
And so especially for you, kinda like
early ServiceNow career people write the

00:05:17.172 --> 00:05:22.452
stuff down because like this is all the
check boxes that gotta get looked at.

00:05:22.662 --> 00:05:25.842
In order for this app to be
comprehensively successful.

00:05:26.181 --> 00:05:26.931
CJ: absolutely.

00:05:26.991 --> 00:05:31.341
And on top of that, being able to recount
this stuff in an interview, bonus points.

00:05:31.911 --> 00:05:34.937
Duke: Seriously, like imagine being
able to talk about what it takes

00:05:34.937 --> 00:05:37.907
to deploy a successful thing with
very few of them under your belt.

00:05:38.507 --> 00:05:43.757
So, without further ado, we are gonna
discuss the anatomy of an A app.

00:05:43.847 --> 00:05:46.127
And we're using app in big
air quotes here, right?

00:05:46.127 --> 00:05:47.447
Like that can mean a lot of things.

00:05:48.167 --> 00:05:50.657
. And again, we're just like,
we're just a couple guys.

00:05:50.687 --> 00:05:55.074
Like we did our best to research this
and, we hope it's pretty comprehensive.

00:05:55.074 --> 00:05:56.321
So, these are all

00:05:56.981 --> 00:05:58.991
CJ: people will tell us
about it in the comments.

00:05:59.051 --> 00:06:00.041
Duke: that's right with,

00:06:03.551 --> 00:06:05.651
uh, trust the haters to
tell you what you missed.

00:06:05.981 --> 00:06:06.671
CJ: Absolutely.

00:06:06.851 --> 00:06:08.621
Duke: That's why we, that's
why we love our haters.

00:06:09.024 --> 00:06:12.407
so we're just gonna list off
a bunch of things that should.

00:06:13.301 --> 00:06:16.681
Be considered or checked off
before, during, and after you build.

00:06:17.131 --> 00:06:20.001
And we got 'em roughly broken
down into , process factors,

00:06:20.091 --> 00:06:21.981
build factors and legacy factors.

00:06:22.769 --> 00:06:25.199
CJ: So first thing, let's
talk about Catalyst.

00:06:25.199 --> 00:06:27.059
And we've done an episode
on Catalyst before.

00:06:27.219 --> 00:06:28.959
, We'll have that in the show notes below.

00:06:29.149 --> 00:06:31.569
, But yeah, duke, this one I
know is one of your babies.

00:06:31.569 --> 00:06:33.369
So why don't you go
ahead and dive into it.

00:06:34.074 --> 00:06:35.484
Duke: I might have named it, but I think

00:06:37.944 --> 00:06:40.374
everybody knows how things
start in ServiceNow.

00:06:40.854 --> 00:06:42.954
So basically just keep a list of.

00:06:43.389 --> 00:06:49.119
The different ways things start in
ServiceNow and as you are studying

00:06:49.209 --> 00:06:53.589
the customer's process, see which
one of those make the most sense.

00:06:53.589 --> 00:06:56.709
So, you know, everybody knows
stuff can start with email.

00:06:57.159 --> 00:07:00.939
Everybody knows stuff can start
with with phone, with SMS messages,

00:07:00.939 --> 00:07:05.109
with integrations, with other
catalog items, with walkups.

00:07:06.249 --> 00:07:06.699
CJ: Yeah.

00:07:07.164 --> 00:07:12.054
Duke: With agents, you know, just
like put some thought into how do we

00:07:12.054 --> 00:07:15.114
know that this thing should start?

00:07:15.786 --> 00:07:16.416
CJ: Yes.

00:07:16.521 --> 00:07:17.541
Duke: of people take this for granted.

00:07:17.541 --> 00:07:18.411
Like it should be obvious.

00:07:18.411 --> 00:07:19.731
No, it's not obvious,

00:07:20.496 --> 00:07:20.976
CJ: Yeah.

00:07:21.026 --> 00:07:25.436
? Because not all apps are going to
be, , immediately interactive, If you

00:07:25.436 --> 00:07:30.036
are getting an email and then an email
is causing something to happen, maybe

00:07:30.036 --> 00:07:33.186
this app is self-contained, maybe you
never do anything once it's built.

00:07:33.654 --> 00:07:35.574
That doesn't mean that it's
still not an app, right?

00:07:35.864 --> 00:07:38.742
Catalyst can take on , all shapes and
forms and I think it's important to

00:07:38.742 --> 00:07:42.946
know what is actually causing the work
to be done so that you ensure that

00:07:42.946 --> 00:07:45.766
the work is being done, like being
kicked off, like the app's being kicked

00:07:45.766 --> 00:07:47.176
off when the work needs to be done.

00:07:47.379 --> 00:07:49.449
seems like it's circular, but, um.

00:07:49.674 --> 00:07:50.964
Duke: Yeah, exactly.

00:07:51.084 --> 00:07:52.554
Well, it's just knowing
when it should start.

00:07:52.554 --> 00:07:56.114
And the, the other reason why you want to
do careful consideration of Catalyst is

00:07:56.114 --> 00:08:02.367
that what exists today might not have the
benefit of what's available in service

00:08:02.652 --> 00:08:03.282
CJ: Oh man.

00:08:03.717 --> 00:08:07.564
Duke: Like, have you ever had a process
that ends and then the consumer has to

00:08:07.564 --> 00:08:09.724
go do something to start another process?

00:08:09.829 --> 00:08:10.549
CJ: Yep.

00:08:10.616 --> 00:08:14.246
Duke: like the, my very first Service Now
job was, , building an, a new employee

00:08:14.246 --> 00:08:18.936
onboarding process and literally none of
the backend teams took any accountability

00:08:18.936 --> 00:08:21.186
for the entirety of the result.

00:08:21.606 --> 00:08:24.606
And so it was literally the requester
who would be like, go to system A

00:08:24.786 --> 00:08:26.826
put in a request for systems access.

00:08:27.006 --> 00:08:31.626
Then once you get it, go to system
B and put in requests for hardware.

00:08:31.836 --> 00:08:33.756
Then once that's all there.

00:08:33.756 --> 00:08:35.676
go and make requests for software.

00:08:36.321 --> 00:08:36.741
CJ: Right.

00:08:36.756 --> 00:08:37.356
Duke: see what I mean?

00:08:37.356 --> 00:08:40.986
And so it's kind of like you could have
one catalyst, which is just fill out

00:08:41.106 --> 00:08:44.316
fricking everything and just make it go.

00:08:44.451 --> 00:08:47.361
Or those swivel seat ones where
like you're gonna receive an email

00:08:47.361 --> 00:08:50.511
from this external vendor and then
you're gonna turn around, take that

00:08:50.511 --> 00:08:51.831
email and plug it into ServiceNow.

00:08:52.611 --> 00:08:54.951
And the catalyst there can switch from.

00:08:55.341 --> 00:08:59.991
Mail to integration, and so that's why
like it's not just see what it is now,

00:09:00.141 --> 00:09:01.851
but see, see if it can be approved.

00:09:01.851 --> 00:09:02.961
We're going way over time.

00:09:02.966 --> 00:09:04.096
We're going over time.

00:09:10.326 --> 00:09:12.336
CJ: Yeah, I mean, yes.

00:09:12.606 --> 00:09:13.266
Let's just move on.

00:09:13.626 --> 00:09:15.456
You took me back to the
nineties there for a minute.

00:09:15.456 --> 00:09:16.686
You're like, yeah, swivel chair.

00:09:16.716 --> 00:09:16.956
I'm like,

00:09:17.266 --> 00:09:20.151
Duke: We're gonna do the whole Catalyst
episode over again right here, right now.

00:09:20.256 --> 00:09:20.916
CJ: Right.

00:09:22.391 --> 00:09:22.701
Duke: Okay.

00:09:22.881 --> 00:09:23.871
Remember description.

00:09:23.871 --> 00:09:25.791
In the description, we'll have
a link to this whole episode.

00:09:25.791 --> 00:09:27.651
We talked for a full on
half hour about this.

00:09:28.311 --> 00:09:28.521
Okay.

00:09:28.521 --> 00:09:29.151
What's the next one?

00:09:29.256 --> 00:09:32.346
CJ: flows, flows, duke, and look,
I know you're the flow master

00:09:32.346 --> 00:09:34.326
and I, am coming around, right?

00:09:34.326 --> 00:09:37.746
Like for me, like legacy workflow
editor was, that was my jam.

00:09:37.746 --> 00:09:38.646
I love that thing.

00:09:38.866 --> 00:09:39.736
, I am.

00:09:39.841 --> 00:09:44.911
Coming around to the perspective
that I can't just be an old guy

00:09:45.151 --> 00:09:46.681
who only likes the old things.

00:09:46.681 --> 00:09:51.041
And so Flow Designer is,
steadily becoming one of my more

00:09:51.041 --> 00:09:52.787
favorite, parts of the, platform.

00:09:52.997 --> 00:09:57.444
But, in context to this,  it's all
about what do you do next, right?

00:09:57.444 --> 00:09:59.574
I mean, that's what flows are, you know,

00:09:59.649 --> 00:10:03.489
Duke: Yeah, like, I mean in a whole
lot more abstract sense, right?

00:10:03.489 --> 00:10:04.419
You have to know.

00:10:04.472 --> 00:10:05.672
their process flow.

00:10:05.672 --> 00:10:10.082
If somebody says, I need you to build
me an app for X, and the X is, is based

00:10:10.082 --> 00:10:15.152
on a process, then wouldn't it be nice
to see like a Visio of the process?

00:10:16.277 --> 00:10:16.497
CJ: Yes.

00:10:16.712 --> 00:10:20.522
Duke: we can't make that up as
ServiceNow delivery experts.

00:10:21.197 --> 00:10:24.227
Some of us can help guide the customer
who maybe doesn't have experience doing

00:10:24.227 --> 00:10:28.727
such things, but ultimately the owners
of the process who are not us, have

00:10:28.727 --> 00:10:31.127
to tell us how that process works.

00:10:31.157 --> 00:10:35.507
It is up to us to apply the
tools in ServiceNow accordingly.

00:10:35.507 --> 00:10:36.877
And it's not just flow designer.

00:10:36.877 --> 00:10:41.734
It could be playbooks, it could be,
chained business rules or whatever.

00:10:42.227 --> 00:10:44.757
I hope it wouldn't be, but
think of it in a broad sense.

00:10:44.787 --> 00:10:45.237
CJ: It used to

00:10:45.297 --> 00:10:47.397
Duke: gotta know how this works.

00:10:48.237 --> 00:10:49.317
CJ: Yeah, no, absolutely.

00:10:49.317 --> 00:10:49.527
Duke.

00:10:49.527 --> 00:10:51.747
I think one of the ways that I
like to think about, flows, or

00:10:51.747 --> 00:10:54.527
at least in terms of, , capturing
that while you're , talking to.

00:10:54.867 --> 00:10:56.807
The client is and then what, right?

00:10:56.807 --> 00:10:59.467
And this is one of the things that Warren
Buffet always asks when he's considering

00:10:59.467 --> 00:11:05.287
an investment, if Apple, launches a new
iPhone on in September, and then what?

00:11:05.687 --> 00:11:08.807
And you ask that until you get to the
end, to the logical end of the process.

00:11:09.317 --> 00:11:09.497
Right.

00:11:09.497 --> 00:11:10.637
And then now you got the flow.

00:11:10.667 --> 00:11:10.877
Right.

00:11:10.877 --> 00:11:13.337
Now you know exactly what's gonna
happen and now you know how to build it.

00:11:13.727 --> 00:11:16.217
And I only throw that in there,
there, because I think sometimes

00:11:16.217 --> 00:11:20.585
folks get into this, situation where
they don't know how to ask the client

00:11:20.645 --> 00:11:24.605
what their process looks like or how
to assist the client and building

00:11:24.605 --> 00:11:25.985
out what their process looks like.

00:11:26.135 --> 00:11:29.855
I think for me, the simple thing is
just to ask and then what or what next.

00:11:29.855 --> 00:11:30.275
Right.

00:11:30.960 --> 00:11:35.190
Duke: Last point on flow is that if
your goal in the ServiceNow ecosystem

00:11:35.190 --> 00:11:40.684
is to become a ServiceNow ba, you
had better know how to run Visio or,

00:11:40.764 --> 00:11:42.024
what are some of the other ones now?

00:11:42.054 --> 00:11:44.844
I think Figma does flows, but

00:11:45.219 --> 00:11:45.509
CJ: Miro.

00:11:46.091 --> 00:11:48.874
Duke: Miro  yeah, you had
better understand how.

00:11:49.076 --> 00:11:52.706
A flow diagram works so that you
can build it because , not a lot

00:11:52.706 --> 00:11:56.177
of customers do know this, and it
might be that you have to walk them

00:11:56.177 --> 00:12:00.137
through and actually build out what
this looks like irrespective of tool.

00:12:00.827 --> 00:12:01.127
CJ: Yeah.

00:12:01.157 --> 00:12:04.817
95% of the clients that I've had don't
have their process is documented.

00:12:05.237 --> 00:12:05.627
Right.

00:12:05.657 --> 00:12:09.797
And, I always try to start there because
you can't build what you don't understand.

00:12:10.212 --> 00:12:12.162
Duke: Just think about all the
steps in a new hire, right?

00:12:12.372 --> 00:12:15.402
How could you possibly know you were
done unless you had a flow that says

00:12:15.792 --> 00:12:17.502
this, then this, then this, then done.

00:12:18.192 --> 00:12:21.362
All right, next thing
we got is, integrations.

00:12:21.362 --> 00:12:21.512
And

00:12:21.562 --> 00:12:25.639
sometimes it's obvious, where this
system is literally feeding us.

00:12:25.939 --> 00:12:28.009
But you might be in the middle
of discussion of an app and they

00:12:28.009 --> 00:12:29.989
just say, oh, and then you fill
out this field with this data.

00:12:29.989 --> 00:12:30.619
Hold on a second.

00:12:30.619 --> 00:12:31.639
Where do we get that data,

00:12:32.494 --> 00:12:32.554
CJ: Yeah.

00:12:32.959 --> 00:12:33.319
Duke: right?

00:12:33.319 --> 00:12:34.039
Do we have it?

00:12:34.089 --> 00:12:37.239
, We're gonna talk a little bit about
this later during the build part, but

00:12:37.239 --> 00:12:43.089
integration is the cognizance of where
does the data that we need come from?

00:12:43.629 --> 00:12:47.049
And also do we need integration
for either a catalyst.

00:12:47.224 --> 00:12:52.954
Or part of the middle tier of the process,
or as something we send as an exit.

00:12:53.157 --> 00:12:54.792
So understand your integration points.

00:12:55.167 --> 00:12:58.670
CJ: this, brings me back to one
of, ServiceNow's previous brand

00:12:58.670 --> 00:13:00.857
messages,  platform of platforms,

00:13:01.002 --> 00:13:01.422
Duke: Mm-hmm.

00:13:01.557 --> 00:13:02.557
CJ: This is , one of the things that.

00:13:03.172 --> 00:13:06.832
ServiceNow has always excelled at
just being that hub of being able to

00:13:06.832 --> 00:13:10.882
integrate with practically everything
out there  And so knowing that,

00:13:10.882 --> 00:13:14.692
those integrations could potentially
exist or likely will exist based on

00:13:14.692 --> 00:13:18.332
the way that, , the platform gets,
, embedded in someone's organization.

00:13:18.692 --> 00:13:21.392
Looking out for those integrations
is always one of the things you

00:13:21.392 --> 00:13:22.532
wanna have on your checklist.

00:13:22.995 --> 00:13:27.685
Duke: The next thing we have to understand
for processes is, , expectations of work.

00:13:27.685 --> 00:13:27.895
Okay.

00:13:27.895 --> 00:13:31.555
So the idea is like, we gotta have
the, we gotta have this work done.

00:13:31.585 --> 00:13:32.185
Why?

00:13:32.605 --> 00:13:35.632
So that this other team can
get their stuff done in time.

00:13:35.662 --> 00:13:37.372
'cause this all has to
get done in five days.

00:13:37.402 --> 00:13:37.582
Okay.

00:13:37.582 --> 00:13:41.642
Well, Anytime your stakeholders are
talking about intensity of time or

00:13:41.642 --> 00:13:45.332
expectation of delivery, then we
have a mechanism , in ServiceNow it's

00:13:45.332 --> 00:13:48.722
called SLAs, NOLAs and underpinning
contracts and all that kind of stuff.

00:13:48.722 --> 00:13:52.502
But you want to be cognizant of those
upfront before you start to build.

00:13:52.502 --> 00:13:56.132
So just put this on your checklist
of things to ask when you're

00:13:56.132 --> 00:13:59.162
sitting down at that table kind of
negotiating , the build of an app.

00:13:59.597 --> 00:13:59.807
CJ: Yeah.

00:13:59.807 --> 00:14:01.847
And I think you soft sold this
one a little bit, duke, right?

00:14:02.117 --> 00:14:06.737
Uh, work, because work expectations
are probably one of the things gonna

00:14:06.737 --> 00:14:10.037
make or break your app, your client's
gonna ask you to build something, you're

00:14:10.037 --> 00:14:13.587
gonna build it, but you're building it
because they want an outcome out of it.

00:14:13.587 --> 00:14:13.737
Right?

00:14:13.737 --> 00:14:14.937
And how do you manage the outcome?

00:14:14.937 --> 00:14:17.817
Well, you gotta manage the work
expectations in order to understand

00:14:17.817 --> 00:14:20.757
the outcome so that you can ensure
that , you're hitting the, points

00:14:20.757 --> 00:14:21.612
that the client wants you to hit.

00:14:22.542 --> 00:14:24.559
So, this one's phenomenally important.

00:14:24.589 --> 00:14:28.039
SLAs are, are a great way to, keep
track of it, but just know this

00:14:28.039 --> 00:14:29.509
isn't something that you can skip,

00:14:30.454 --> 00:14:30.874
Duke: No.

00:14:30.919 --> 00:14:34.465
CJ: This is, this is absolutely,
a necessity to the process.

00:14:34.570 --> 00:14:37.990
Duke: And again, people come to you who
don't know ServiceNow won't know to ask

00:14:37.990 --> 00:14:43.035
for SLAs, and so just Take that need to
know outta the equation for them, just by

00:14:43.035 --> 00:14:46.485
asking them about expectations, how they
work, so that you can build it in SLA.

00:14:46.485 --> 00:14:48.705
So they'd be like, oh my
God, that's super awesome.

00:14:49.050 --> 00:14:51.150
CJ: Yeah, but they will know
to ask you in six months,

00:14:51.187 --> 00:14:52.537
whether or not the app's working

00:14:53.092 --> 00:14:53.452
Duke: Yep,

00:14:54.067 --> 00:14:54.427
CJ: right?

00:14:54.427 --> 00:14:55.777
And so how are you gonna tell them?

00:14:55.777 --> 00:14:56.107
Right?

00:14:56.167 --> 00:14:56.497
So.

00:14:56.647 --> 00:14:57.037
Duke: All right.

00:14:57.187 --> 00:15:02.084
Second last thing in process that
you have to understand is, closure.

00:15:02.434 --> 00:15:05.344
we might get this in terms of like
flows and knowing how the thing flows,

00:15:05.344 --> 00:15:09.395
but most people have a bias for the
happy path,  this is how it works and

00:15:09.395 --> 00:15:13.295
it works every single time, but does
it really, like what if we get to the

00:15:13.295 --> 00:15:17.402
middle of it and something happens
that prevents it from proceeding?

00:15:17.609 --> 00:15:19.979
you just have to think about all
the different ways you can close.

00:15:19.979 --> 00:15:23.069
So we look at things like
graceful closure, something

00:15:23.069 --> 00:15:24.599
else, like a disgraceful closure.

00:15:24.599 --> 00:15:26.929
Like what if we couldn't
close the incident?

00:15:26.959 --> 00:15:28.579
Like we just don't have a resolution.

00:15:28.579 --> 00:15:30.529
You're just gonna have to live
with the way this thing is now.

00:15:31.189 --> 00:15:32.299
Like, we hate that, but.

00:15:32.314 --> 00:15:34.534
It's, it's a disgraceful closure.

00:15:34.534 --> 00:15:36.364
And then we have cancellations.

00:15:36.664 --> 00:15:38.284
Some work is timeout.

00:15:38.284 --> 00:15:41.650
Like I think about, anything that's
like a daily task that resets every day.

00:15:41.680 --> 00:15:44.800
Like, if you didn't do it today,
you missed today's task, tomorrow

00:15:44.800 --> 00:15:47.080
you have another task that you
can do for that same thing.

00:15:47.582 --> 00:15:47.942
CJ: Yeah.

00:15:48.032 --> 00:15:50.192
Oh man, that's, yeah, absolutely.

00:15:50.750 --> 00:15:53.810
Duke: so just think about the
ways things close and you have

00:15:53.810 --> 00:15:56.092
to, factor for both the graceful.

00:15:56.687 --> 00:15:59.297
And the disgraceful, the unexpected, the,

00:15:59.822 --> 00:16:00.042
CJ: Yes.

00:16:00.167 --> 00:16:00.617
Duke: kind of things.

00:16:00.677 --> 00:16:00.887
Yep.

00:16:01.187 --> 00:16:02.477
CJ: Yeah, because that's
incredibly important.

00:16:02.927 --> 00:16:05.117
Duke: And don't be afraid, they
might not have it articulated

00:16:05.117 --> 00:16:06.587
on the process flow diagram.

00:16:06.587 --> 00:16:10.220
So be the best consultant
you can be and say, okay, you

00:16:10.220 --> 00:16:11.600
say that there's a task here?

00:16:11.600 --> 00:16:14.840
But what happens if the task
doesn't close as we expect?

00:16:14.900 --> 00:16:15.800
What happens?

00:16:16.505 --> 00:16:16.925
CJ: Yeah.

00:16:16.985 --> 00:16:19.445
Duke: Sometimes that's an easy
thing to answer, and sometimes it's

00:16:19.445 --> 00:16:22.745
like you open up a can of worms
and let's think about it some more.

00:16:23.525 --> 00:16:23.795
CJ: Yeah.

00:16:23.795 --> 00:16:26.015
And sometimes you only
have the successful path.

00:16:26.015 --> 00:16:27.155
This is what we wanna see.

00:16:27.155 --> 00:16:30.425
And , and it's like pulling teeth to
figure out what happens when things don't,

00:16:30.575 --> 00:16:32.465
don't go down that, that happy path.

00:16:32.645 --> 00:16:36.845
Well then you hold for the everything
else scenario, this is success

00:16:36.965 --> 00:16:41.795
and then everything else is not
success no matter what it is.

00:16:41.795 --> 00:16:42.095
Right?

00:16:42.095 --> 00:16:47.739
And then, you can always pick
that apart over time to tease out,

00:16:47.739 --> 00:16:49.299
okay, well this was a timeout.

00:16:49.644 --> 00:16:54.174
This was a cancellation, this was a
disgraceful end to the task, right?

00:16:54.324 --> 00:16:57.114
Like sometimes you might not have that
and your client's not necessarily being

00:16:57.114 --> 00:16:59.004
very, forthcoming about those things.

00:16:59.004 --> 00:17:02.634
Then I would say the way I, typically
do is then I fall back on the

00:17:02.634 --> 00:17:04.194
success and then everything else

00:17:04.589 --> 00:17:04.949
Duke: All right.

00:17:04.954 --> 00:17:08.817
The last, area in process that you
gotta, put a little effort into.

00:17:09.415 --> 00:17:13.435
This is one area that I can, do hours and
hours and hours and hours of episodes.

00:17:13.585 --> 00:17:16.555
All on its own is outcomes and reporting.

00:17:16.555 --> 00:17:18.775
I believe we have
several episodes on this.

00:17:19.735 --> 00:17:21.535
We'll link them all in a description.

00:17:21.535 --> 00:17:26.509
That's how important it is, but that we
put this in the process area for a reason

00:17:26.809 --> 00:17:28.849
because it's happening before the build.

00:17:29.584 --> 00:17:33.214
We should know the
outcomes of this process.

00:17:33.244 --> 00:17:36.334
We might know exactly how the
process works, but we need to know

00:17:36.334 --> 00:17:40.660
the outcomes of the process before
we start building because we need

00:17:40.660 --> 00:17:42.130
to start building for the outcomes.

00:17:42.130 --> 00:17:45.460
If you know the outcomes, again, all
kinds of benefits, not only can you

00:17:45.460 --> 00:17:49.720
like build reports in so that day
one we can find out if the process

00:17:49.720 --> 00:17:51.135
is working the way we want or not.

00:17:52.645 --> 00:17:53.125
CJ: Yep.

00:17:53.440 --> 00:17:58.504
Duke: But also it's like a litmus
test for the inevitable, nice to

00:17:58.504 --> 00:18:02.524
haves, being disguised as need to
haves midway through the project.

00:18:02.940 --> 00:18:04.320
We really, really need this.

00:18:04.350 --> 00:18:04.890
Okay.

00:18:05.160 --> 00:18:09.150
If we gave you that tomorrow, how does
it underpin one of these outcomes?

00:18:09.390 --> 00:18:12.720
Or which of these outcomes are you willing
to give up in order to get that feature?

00:18:13.560 --> 00:18:17.490
CJ: Oh man, that's, yeah, dude,
that's, oh, we, I don't even

00:18:17.490 --> 00:18:20.490
think we have prioritization
of, deliverables in here, man.

00:18:20.490 --> 00:18:23.887
But we could definitely go, on the tangent
about that, but I a hundred percent agree.

00:18:24.267 --> 00:18:25.377
outcomes and reporting.

00:18:25.377 --> 00:18:27.717
If you don't know what you're
trying to accomplish, how do you

00:18:27.717 --> 00:18:28.572
know when you accomplish that?

00:18:28.674 --> 00:18:32.747
And how do you measure that, and what is
the mechanism by which your client would

00:18:32.747 --> 00:18:36.967
measure it, And how are you presenting
that to them, these are all things, look,

00:18:37.177 --> 00:18:41.224
, I know we, largely talk to a technical
audience, but  I've said this before.

00:18:41.734 --> 00:18:43.564
You're not getting paid the
right code, you're getting

00:18:43.564 --> 00:18:45.484
paid to solve problems, right?

00:18:45.514 --> 00:18:45.964
Duke: Bingo.

00:18:46.714 --> 00:18:50.907
CJ: So like the outcomes, that's your
pay dirt,  that is your evidence that

00:18:50.977 --> 00:18:54.307
the checks that were written to, pay for
your work, were worth it to the client,

00:18:54.647 --> 00:18:56.657
? So don't shortchange on this one.

00:18:56.657 --> 00:18:59.417
This one is probably one of the most
important things on these lists.

00:19:00.482 --> 00:19:04.085
Duke: Yeah, I mean, how many times have
you sat with a stakeholder who's kind

00:19:04.085 --> 00:19:06.785
of been told, okay, you gotta move your
stuff to ServiceNow, and it's like.

00:19:06.854 --> 00:19:07.304
you come in?

00:19:07.304 --> 00:19:07.484
Okay.

00:19:07.484 --> 00:19:08.654
Why do you want this app on ServiceNow?

00:19:08.924 --> 00:19:09.944
Because it needs to be on ServiceNow.

00:19:10.414 --> 00:19:11.764
Why do you wanna do incident management?

00:19:11.764 --> 00:19:13.174
'cause everybody does incident management.

00:19:13.174 --> 00:19:14.044
Why do you need CMDB?

00:19:14.074 --> 00:19:16.914
'cause everybody needs to
CMDB, but you don't know , what

00:19:16.914 --> 00:19:18.294
you're looking to measure.

00:19:18.294 --> 00:19:18.954
You know what I mean?

00:19:18.954 --> 00:19:21.294
Like, what questions are you gonna answer?

00:19:21.294 --> 00:19:23.514
What value are you
gonna squeeze out of it?

00:19:24.324 --> 00:19:27.684
So at the very least, on incident
management, we should be able to look

00:19:27.684 --> 00:19:30.324
at some graph that shows us, you know.

00:19:31.224 --> 00:19:35.214
Our volume, like our volume metrics as
well as our performance against them.

00:19:35.979 --> 00:19:36.354
CJ: Yeah.

00:19:36.644 --> 00:19:38.384
Duke: how long is it
taking us to close these?

00:19:38.384 --> 00:19:41.504
Hey, look, our volume has increased, but
it's taking us no longer to close 'em.

00:19:41.504 --> 00:19:42.229
We're doing pretty good.

00:19:42.529 --> 00:19:44.179
CJ: you're, you're just gonna
throw money away if you don't

00:19:44.179 --> 00:19:45.469
have these things done, right?

00:19:45.469 --> 00:19:48.169
If you don't know what the outcomes
are and the reporting is, you're just

00:19:48.169 --> 00:19:51.802
throwing money down a hole, Because
you're, you're inevitably going to

00:19:51.802 --> 00:19:55.229
build the wrong thing and have to go
back and make some changes, right?

00:19:55.229 --> 00:19:57.119
And, and now that's just cost extra.

00:19:57.584 --> 00:19:57.794
Duke: Yeah.

00:19:58.094 --> 00:19:59.594
And it's how you get invited back, right?

00:19:59.594 --> 00:20:02.594
If you can deliver something where
day one, they can start saying,

00:20:02.594 --> 00:20:04.844
see, wasn't this a great decision?

00:20:05.194 --> 00:20:05.414
CJ: Yes.

00:20:06.224 --> 00:20:09.614
Duke: You know, let's get that person to
come back and solve another thing for us.

00:20:09.704 --> 00:20:10.784
Alright, on to build

00:20:11.364 --> 00:20:14.364
CJ: So good practices validated
by, in instance, scan.

00:20:14.514 --> 00:20:17.154
I love that we here are
saying good practices.

00:20:17.154 --> 00:20:19.254
Note that, ? That we're
not saying best practices.

00:20:19.450 --> 00:20:20.020
because

00:20:20.104 --> 00:20:23.986
best practices can fluctuate, depending
on what you're doing or depending on

00:20:23.986 --> 00:20:26.746
who you are, depending on where you
are in the lifecycle of a product.

00:20:26.912 --> 00:20:29.822
like best practices today
are different than they were

00:20:29.827 --> 00:20:31.577
when I started 10 years ago.

00:20:31.917 --> 00:20:32.217
You know,

00:20:32.372 --> 00:20:36.436
Duke: Not to mention that it is not like
some, vast governing body that says this

00:20:36.436 --> 00:20:38.716
is best practice, thus say it the Lord,

00:20:38.911 --> 00:20:39.131
CJ: Yes.

00:20:39.136 --> 00:20:44.476
Duke: know, but, and so it's kind
of this weird collection that we all

00:20:44.476 --> 00:20:46.786
maintain in our own minds collectively.

00:20:46.939 --> 00:20:50.949
and so it's easy to confuse common
practice with good practice, but I  The

00:20:50.949 --> 00:20:55.892
key here is we have an excellent tool
in ServiceNow to capture, you know,

00:20:55.892 --> 00:20:59.752
more legit granular, like you shouldn't
do this,  and it's called instant

00:20:59.752 --> 00:21:01.822
scan and you should be running it.

00:21:02.009 --> 00:21:05.589
if you are a ServiceNow , resource,
if you're a ServiceNow product

00:21:05.619 --> 00:21:08.439
owner at a customer, you should
be getting people to run it.

00:21:08.799 --> 00:21:11.619
You should be automating it,
so that your scan can look

00:21:11.619 --> 00:21:12.907
for, stuff that shouldn't be.

00:21:13.542 --> 00:21:14.262
CJ: Absolutely.

00:21:14.817 --> 00:21:16.317
Duke: Stuff that exposes you to risk.

00:21:16.782 --> 00:21:17.082
CJ: Yeah.

00:21:17.502 --> 00:21:18.507
So then you can change that.

00:21:19.164 --> 00:21:22.524
Duke: so the next one in build is
failure detection and remediation.

00:21:22.674 --> 00:21:27.594
I worked for 15 years in the ServiceNow
ecosystem to become a air quotes

00:21:27.594 --> 00:21:33.054
real developer at ServiceNow, and
I started learning about failure

00:21:33.054 --> 00:21:35.109
detection and remediation that day.

00:21:35.859 --> 00:21:36.699
Wow.

00:21:36.939 --> 00:21:38.919
I, you, you know, those things
where you think, you know,

00:21:40.239 --> 00:21:40.329
CJ: Yep.

00:21:40.569 --> 00:21:42.229
Duke: and then someone
tells you, no, no, no.

00:21:42.229 --> 00:21:44.739
The start line is way over there.

00:21:46.344 --> 00:21:47.244
CJ: Absolutely, dude.

00:21:47.304 --> 00:21:47.484
Right?

00:21:47.484 --> 00:21:50.934
I got a bunch of like proco
developer friends, right?

00:21:50.934 --> 00:21:51.684
And they're all right.

00:21:51.684 --> 00:21:54.732
They're, deep in it and I'm like,
man, I just play a developer on tv.

00:21:54.942 --> 00:21:59.802
Duke: It's, yeah, it is so
easy to assume it's gonna work.

00:21:59.989 --> 00:22:01.249
I have a catalog.

00:22:01.249 --> 00:22:02.449
It's gonna call a flow.

00:22:02.539 --> 00:22:06.559
It's gonna take this as an input, and then
that's gonna get fed to this flow action.

00:22:06.559 --> 00:22:08.979
It's gonna output this, which
is gonna feed another piece of

00:22:08.979 --> 00:22:10.389
the activity, and it just works.

00:22:10.389 --> 00:22:11.739
'cause that's what happens, right?

00:22:11.739 --> 00:22:12.879
Just takes that value of the field.

00:22:12.999 --> 00:22:15.729
And so I'm talking to my
developer peers in ServiceNow.

00:22:15.729 --> 00:22:17.139
They're like, yeah,
but what if it doesn't?

00:22:17.349 --> 00:22:18.459
I'm like, how could it not?

00:22:18.879 --> 00:22:19.389
I don't know.

00:22:19.389 --> 00:22:20.139
Well, what if it doesn't?

00:22:21.669 --> 00:22:24.399
I'm like, because the interface
makes that field mandatory and it's

00:22:24.399 --> 00:22:25.719
gonna force you to put something in.

00:22:25.719 --> 00:22:27.279
Or like what if they don't
do it through the interface?

00:22:27.279 --> 00:22:28.329
What if it's done by a script?

00:22:28.329 --> 00:22:30.519
I'm like, I don't know why
somebody would do it by a script.

00:22:30.519 --> 00:22:31.659
Yeah, but what if they do?

00:22:34.839 --> 00:22:42.309
And it's hilarious after the fact,
but you really do have to build in

00:22:42.309 --> 00:22:47.049
a skepticism or a paranoia almost

00:22:47.154 --> 00:22:47.994
CJ: Yes.

00:22:48.126 --> 00:22:52.506
Duke: I'm expecting this input, but what
if I don't get the input I'm expecting?

00:22:52.899 --> 00:22:56.889
I'm expecting this output, but what if I
don't get the output that I'm expecting?

00:22:57.249 --> 00:23:02.502
And at the very least, at the very least,
what this will do is help you isolate.

00:23:02.559 --> 00:23:05.606
Where things have gone wrong,
everybody's the 500 line script

00:23:05.606 --> 00:23:10.076
include that mostly works, you
know, except for when it doesn't and

00:23:10.076 --> 00:23:11.696
it's like, where did it go wrong?

00:23:11.696 --> 00:23:14.746
And then you're having to invent
testing scenarios to try and

00:23:14.746 --> 00:23:16.936
figure out what went wrong.

00:23:17.116 --> 00:23:21.789
But if you start with a paranoia of
things can go wrong, and so let's

00:23:21.789 --> 00:23:25.209
handle almost every case where I'm
dealing with inputs and outputs.

00:23:25.474 --> 00:23:30.097
Just assume it can fail and what do I do
in the failure case, it's gonna be so much

00:23:30.097 --> 00:23:32.987
easier when things break and things break.

00:23:33.528 --> 00:23:37.628
CJ: Duke, I think it's important too, the
way that we arrange these things, right?

00:23:37.628 --> 00:23:38.063
Is that we put.

00:23:38.993 --> 00:23:43.013
Closure, disgraceful and graceful
closure, timeouts, cancellations,

00:23:43.193 --> 00:23:44.273
outcomes, and reporting.

00:23:44.273 --> 00:23:45.263
We put that in the stage.

00:23:45.263 --> 00:23:49.133
That is before building failure,
detention and remediation, right?

00:23:49.133 --> 00:23:49.493
Because the

00:23:49.573 --> 00:23:49.793
Duke: Hmm.

00:23:50.543 --> 00:23:54.239
CJ: of those processes,
Determine how you build the app.

00:23:54.466 --> 00:23:57.959
so all this stuff is related and,
you'll start to see that sprinkled in

00:23:57.959 --> 00:23:59.732
as we go through, a few more of these.

00:24:00.964 --> 00:24:03.904
, Duke: Now that we talked about failure
detection, remediation, we also

00:24:03.904 --> 00:24:06.034
gotta talk about data governance.

00:24:06.034 --> 00:24:10.090
So I think most people that got
into ServiceNow understand the

00:24:10.090 --> 00:24:12.127
concept of a data structure, but.

00:24:12.515 --> 00:24:16.055
The next level is understanding
the governance of the data.

00:24:16.055 --> 00:24:20.165
So whenever we think we need a new table,
like sometimes we don't, sometimes that

00:24:20.165 --> 00:24:21.905
did, like we need to store locations.

00:24:21.905 --> 00:24:23.435
Well great, we already store those.

00:24:23.649 --> 00:24:24.489
or computers.

00:24:24.489 --> 00:24:24.759
Great.

00:24:24.759 --> 00:24:25.719
We already store those.

00:24:25.932 --> 00:24:28.332
so when you're talking about data
governance, you gotta ask yourself

00:24:28.332 --> 00:24:33.042
questions like, do we need new data
or does it exist in ServiceNow?

00:24:33.072 --> 00:24:35.445
Or do we maybe need a
new property of the data?

00:24:35.919 --> 00:24:36.459
CJ: Yeah.

00:24:36.705 --> 00:24:40.159
Duke: also, if it's a thing that
we're talking about, real or

00:24:40.159 --> 00:24:42.379
abstract, can it go in the CMDB?

00:24:42.902 --> 00:24:43.442
CJ: Oh man.

00:24:43.502 --> 00:24:43.992
Exactly.

00:24:44.087 --> 00:24:44.387
Duke: Yeah, yeah.

00:24:45.112 --> 00:24:48.352
Or, or, or is it addressed
by the CSDM somehow?

00:24:48.442 --> 00:24:51.262
Do we have to build some new
service table, or does CSDM have

00:24:51.262 --> 00:24:52.972
something ready made for it?

00:24:53.242 --> 00:24:55.702
And on top of that,
where do we get the data?

00:24:55.762 --> 00:24:57.982
We're not just hand keying
into a ServiceNow, are we?

00:24:58.717 --> 00:24:59.317
Are we,

00:25:00.097 --> 00:25:01.357
CJ: flat files, baby.

00:25:03.787 --> 00:25:04.627
Duke: where do we get it?

00:25:04.627 --> 00:25:09.404
And then who owns it,  all these things
together, data governance, and let's

00:25:09.404 --> 00:25:13.364
just pour one out for data certification
app, which made it all so much easier.

00:25:13.379 --> 00:25:14.069
CJ: Yeah.

00:25:14.129 --> 00:25:14.339
Yeah.

00:25:14.339 --> 00:25:14.819
We miss you.

00:25:14.819 --> 00:25:15.509
Data cert.

00:25:15.889 --> 00:25:17.839
I won't speak for
everyone who's listening.

00:25:18.079 --> 00:25:21.952
I personally have encountered, several
instances where I'm, logged into an

00:25:21.952 --> 00:25:27.082
instance and I've seen a table recreated
that already exists out of the box.

00:25:27.082 --> 00:25:30.022
And you know, it's a large part
because of a lack of data governance.

00:25:30.635 --> 00:25:34.335
I've worked with a client and,,
they're using contracts, But they're

00:25:34.335 --> 00:25:39.735
using contracts as a custom app that
does exactly the same thing as the

00:25:39.825 --> 00:25:41.985
out of the box contract module does.

00:25:42.185 --> 00:25:44.795
and that's because the folks
who built that app didn't

00:25:44.795 --> 00:25:46.355
understand ServiceNow at the time.

00:25:46.595 --> 00:25:49.519
It was the, they didn't understand,
like there was no, data governance

00:25:49.519 --> 00:25:51.849
portion of the, the requirements done.

00:25:51.849 --> 00:25:54.249
And so no one knew that
there was a contracts.

00:25:54.387 --> 00:25:56.337
module that was already
there, so they rebuilt it.

00:25:56.787 --> 00:25:57.237
Awesome.

00:25:58.422 --> 00:26:01.762
Duke: There's also kind of the case
of ,  oh, this body of users is

00:26:01.762 --> 00:26:02.839
the team that, does the approval.

00:26:03.619 --> 00:26:09.295
So I've seen people try and build another
user table that stores user information

00:26:09.549 --> 00:26:11.289
you gotta think about the ways , to do it.

00:26:11.709 --> 00:26:15.542
So if I'm looking at an approval
group, build a group, you know,

00:26:15.937 --> 00:26:16.217
CJ: Right.

00:26:17.162 --> 00:26:19.952
Duke: having a group doesn't necessarily
mean it's an assignment group.

00:26:20.779 --> 00:26:22.189
the main key there is just.

00:26:22.999 --> 00:26:24.589
Does the data exist?

00:26:24.739 --> 00:26:28.804
If so, do everything you can to use
that data versus create a new table.

00:26:29.329 --> 00:26:29.929
CJ: Absolutely.

00:26:29.959 --> 00:26:35.152
, And then this is just all architectural
in nature,  it is all about understanding

00:26:35.152 --> 00:26:37.469
the data that you have in your
instance, the, way that instance is

00:26:37.469 --> 00:26:41.279
set up, and then also how that aligns
with the business as a whole, right?

00:26:41.279 --> 00:26:44.299
So that you understand how you
can utilize that to build an

00:26:44.299 --> 00:26:45.739
effective and streamlined app.

00:26:46.229 --> 00:26:49.319
Duke: once this starts happening,
then you're really rapidly gonna

00:26:49.319 --> 00:26:54.659
go into groups, roles, acls,
and other security concerns.

00:26:54.899 --> 00:26:55.519
CJ: Ooh Lord.

00:26:56.489 --> 00:27:00.149
Duke: yeah, like, I'll, I'll give you
an example from release ops, right?

00:27:00.149 --> 00:27:02.839
We have this concept of, a pipeline.

00:27:02.952 --> 00:27:08.402
And a pipeline is a set of records that
determines at this company we go from dev

00:27:08.402 --> 00:27:12.122
to test, to quality assurance, to prod.

00:27:12.410 --> 00:27:16.670
And so since everybody's got
different instances and different

00:27:16.670 --> 00:27:21.020
amounts of instances and different
ways things travel from Dev to prod,

00:27:21.020 --> 00:27:23.840
it's something that everybody has
to define for themselves, right?

00:27:24.710 --> 00:27:25.730
but who defines it?

00:27:25.730 --> 00:27:30.327
Like there's probably a user of release
ops that has that knowledge that isn't

00:27:30.327 --> 00:27:34.557
necessarily the ServiceNow admin could
be like, it could be overlap, might not

00:27:34.557 --> 00:27:38.697
also be, but for that matter, everybody
else who's using release ops, like the

00:27:38.697 --> 00:27:40.287
developers are saying, my stuff's done.

00:27:40.287 --> 00:27:41.337
Like please release it.

00:27:41.847 --> 00:27:44.787
they have no business going
and managing the pipeline.

00:27:45.407 --> 00:27:45.697
CJ: Yeah.

00:27:45.927 --> 00:27:46.217
Yeah,

00:27:46.467 --> 00:27:48.537
Duke: You know, no business whatsoever.

00:27:48.537 --> 00:27:52.650
And so in the data governance, you'll
start seeing that, these types of

00:27:52.650 --> 00:27:54.540
people can do these types of things.

00:27:55.050 --> 00:27:59.374
And we call it crud access, create,
read, update, delete,  and those form

00:27:59.374 --> 00:28:04.354
the basis of your groups, your roles,
and any acls that you might need.

00:28:04.354 --> 00:28:08.314
But  more often than not, I'd say you have
to coax this outta the customer with your

00:28:08.314 --> 00:28:11.625
questions  because they can't even see
the tables in their mind half the time.

00:28:12.215 --> 00:28:14.891
CJ: This is so true, duke,
and, this ties back to that

00:28:15.011 --> 00:28:16.421
the first part of this process.

00:28:16.421 --> 00:28:19.426
Well, when we're going through the
process and you're building out the flow.

00:28:20.291 --> 00:28:23.761
Of your app, ? And it's gonna
be decision points in that flow,

00:28:24.001 --> 00:28:26.671
typically in those decision points
of where are you gonna be asking

00:28:26.671 --> 00:28:28.951
yourself, alright, now who sees this?

00:28:29.071 --> 00:28:30.211
Or who can do this?

00:28:30.211 --> 00:28:33.675
Or who needs to be notified
about  that's where you surface.

00:28:33.675 --> 00:28:36.285
The groups or the rows and acls, right?

00:28:36.285 --> 00:28:39.468
That will be needed to, uh,
be associated with this app

00:28:39.795 --> 00:28:40.065
Duke: Yep.

00:28:40.095 --> 00:28:42.885
And Groups covers the
operational aspect of it too.

00:28:42.885 --> 00:28:45.345
Like if it's a task
app we're dealing with.

00:28:45.930 --> 00:28:47.760
Who are the support teams, right?

00:28:47.760 --> 00:28:50.790
Who are the teams that
can get this stuff right?

00:28:50.790 --> 00:28:52.980
And so that would be your
roles anyway, your groups.

00:28:53.070 --> 00:28:55.590
And then , you defacto lump
that with roles because

00:28:55.950 --> 00:28:57.180
that's how roles get defined.

00:28:57.180 --> 00:28:59.610
Don't let me catch you
assigning roles to humans.

00:29:00.060 --> 00:29:00.720
CJ: Oh my God.

00:29:00.935 --> 00:29:01.285
Duke: Don't.

00:29:03.450 --> 00:29:04.770
CJ: Oh, please don't do that.

00:29:04.980 --> 00:29:05.640
Oh my God.

00:29:07.080 --> 00:29:10.516
I will tell you though, the
ServiceNow does make it a little

00:29:10.516 --> 00:29:15.616
easy to like uns sortt that, to when
you, if that is screwed up, right?

00:29:15.616 --> 00:29:20.066
Because it shows whether or not a role
was inherited, to a user or not, right?

00:29:20.066 --> 00:29:23.553
So you can see some things that have been
directly assigned, but man, just don't,

00:29:24.003 --> 00:29:25.398
Duke: It's just effort and Right.

00:29:25.473 --> 00:29:26.583
It's just effort and risk.

00:29:26.853 --> 00:29:29.583
You know, you have to know that Bob
got fired so that you can manually

00:29:29.583 --> 00:29:33.843
take the roles away, like, and,
you know, and, and then the risk.

00:29:34.023 --> 00:29:36.086
It's just the risk maybe you missed it.

00:29:36.236 --> 00:29:38.156
Maybe the user didn't get ACT deactivated.

00:29:38.156 --> 00:29:39.386
Maybe they still got access.

00:29:39.775 --> 00:29:42.908
CJ: And then there's encryption,  And
you know when you need encryption,

00:29:43.943 --> 00:29:46.133
Duke: No, well do you, you might not know.

00:29:47.018 --> 00:29:47.468
CJ: right?

00:29:48.218 --> 00:29:48.348
That's fair.

00:29:48.908 --> 00:29:51.886
Duke: luckily every time I've
been, in a situation where we

00:29:51.886 --> 00:29:54.246
needed it, like the customer knew,

00:29:54.990 --> 00:29:56.190
CJ: Yes, that's true.

00:29:56.280 --> 00:29:56.850
That's good.

00:29:57.116 --> 00:30:00.326
but sometimes the customer doesn't
know because sometimes it's dependent

00:30:00.326 --> 00:30:04.730
upon, regulations, ? That, your
particular stakeholder might not

00:30:04.730 --> 00:30:06.746
have any line of sight to, and

00:30:06.776 --> 00:30:06.896
Duke: I,

00:30:08.396 --> 00:30:08.936
CJ: Right.

00:30:10.361 --> 00:30:14.535
Duke: I remember having talks with the
hedge fund , they had just like data by

00:30:14.535 --> 00:30:19.245
compliance process where it's like, oh,
some dude in Saudi Arabia says he can

00:30:19.245 --> 00:30:22.635
get me all the information on how much
reserves they have in all the oil wells.

00:30:22.728 --> 00:30:26.141
And there's some legal traceability
that they need can I buy and

00:30:26.141 --> 00:30:27.371
trade off this information?

00:30:27.691 --> 00:30:28.061
CJ: Right.

00:30:28.766 --> 00:30:32.113
Duke: And so how do we put this
on ServiceNow but guarantee that

00:30:32.113 --> 00:30:34.183
nobody even ServiceNow can see it,

00:30:35.233 --> 00:30:35.593
CJ: Well,

00:30:35.863 --> 00:30:37.363
Duke: and know what I mean?

00:30:37.723 --> 00:30:39.553
And I was like, I don't know.

00:30:40.513 --> 00:30:42.823
mean like, does it matter that much?

00:30:42.823 --> 00:30:45.103
And they're like, oh yeah, our
enemies would buy ServiceNow

00:30:45.103 --> 00:30:46.123
just to get to that data.

00:30:46.123 --> 00:30:47.383
I'm like, oh, okay.

00:30:47.713 --> 00:30:48.073
CJ: Oh.

00:30:48.073 --> 00:30:48.258
Oh, okay.

00:30:48.283 --> 00:30:50.323
Duke: was a, it was, it
was a while ago, but.

00:30:50.713 --> 00:30:52.903
CJ: No, man, I, I mean,
I totally get it right.

00:30:52.903 --> 00:30:55.498
I've worked with a, hedge fund
too, I think a different one than

00:30:55.498 --> 00:30:56.818
the one you're talking about here.

00:30:57.088 --> 00:31:01.821
And, we had a similar thing where we were,
doing group management and there's concept

00:31:01.821 --> 00:31:03.261
in trading called, uh, Chinese wall.

00:31:03.261 --> 00:31:04.071
I think that's what it's called.

00:31:04.341 --> 00:31:09.021
And, people on one side of the wall can't
see things on the other side of the wall.

00:31:09.321 --> 00:31:11.391
and it like, not just can't see things.

00:31:11.928 --> 00:31:14.635
legally, under the penalty, right?

00:31:14.665 --> 00:31:15.415
Must not.

00:31:15.415 --> 00:31:15.955
Thank you.

00:31:16.855 --> 00:31:22.511
Legally must not see things on the
other side of the wall, And, talk

00:31:22.511 --> 00:31:26.981
about pressure when you're trying to
build a system that ensures that, by

00:31:26.981 --> 00:31:30.491
default you're not breaking the law,
and that's where one of the other places

00:31:30.491 --> 00:31:31.991
where encryption can come in handy.

00:31:33.385 --> 00:31:35.725
, Duke: Last thing on build is a TF test.

00:31:35.915 --> 00:31:36.335
Yes.

00:31:36.365 --> 00:31:37.565
It's a ton of extra work.

00:31:38.025 --> 00:31:39.915
And it's getting easier every year.

00:31:40.515 --> 00:31:45.178
However, it's not just about you,
there's the amount of time it takes us

00:31:45.178 --> 00:31:50.385
to build a fully, robust application,
And we argue that robust application

00:31:50.505 --> 00:31:56.625
would include a TF tests, so that
as this app changes, we just push a

00:31:56.625 --> 00:31:58.150
button and and see if it still works.

00:31:58.645 --> 00:31:59.095
CJ: Yeah.

00:31:59.095 --> 00:32:04.341
Duke: and that might mean I work more
or there's more expectation for me, And

00:32:04.341 --> 00:32:08.661
yeah, it's always like, uh, doing more
with less and can we just cut this out?

00:32:09.261 --> 00:32:12.891
But the payoff when everybody does it,
is that you just have push button tests

00:32:13.956 --> 00:32:15.816
CJ: No, dude, that's,
that's not the payoff.

00:32:16.881 --> 00:32:17.301
Duke: It isn't.

00:32:17.496 --> 00:32:18.246
CJ: No.

00:32:18.336 --> 00:32:22.326
The payoff is when it breaks
and you've gotta fix it.

00:32:22.716 --> 00:32:25.381
You've got a much easier
way to locate what's broken.

00:32:28.896 --> 00:32:30.186
Duke: Yeah, I hadn't.

00:32:31.476 --> 00:32:33.141
I do need to think about it evidently.

00:32:36.555 --> 00:32:37.755
CJ: push button testing, great.

00:32:37.755 --> 00:32:37.935
Right?

00:32:37.935 --> 00:32:38.625
Absolutely.

00:32:38.805 --> 00:32:41.291
But the, the whole point
of testing is yeah.

00:32:41.291 --> 00:32:43.721
I mean, you hope that when you press the
button, everything's gonna come up green.

00:32:43.871 --> 00:32:44.685
But what if it doesn't?

00:32:45.015 --> 00:32:48.225
If you don't have those tests, all
you're gonna have is a broken system.

00:32:49.005 --> 00:32:52.125
If you have those tests, you got something
that's gonna turn red at, and you know

00:32:52.125 --> 00:32:53.505
where you need to go, start looking.

00:32:53.505 --> 00:32:54.315
That's gonna save you.

00:32:54.315 --> 00:32:56.145
That gonna save you hours of time.

00:32:56.505 --> 00:32:57.585
It can save you days

00:32:57.615 --> 00:32:58.575
Duke: think about it that way.

00:32:59.880 --> 00:33:00.230
CJ: right?

00:33:00.345 --> 00:33:01.125
Duke: didn't think about it that way.

00:33:01.125 --> 00:33:04.875
I just assumed like, oh, I got my
everyday normal operations and oh,

00:33:04.875 --> 00:33:08.325
I just brought in this third party
vendor and they're changing stuff

00:33:08.325 --> 00:33:12.015
and like I, every time they change I
just wanna push the button and test.

00:33:12.165 --> 00:33:14.985
I don't wanna have to call my users
and say, okay, everybody jump back on

00:33:14.985 --> 00:33:16.665
the system and see if it still works.

00:33:18.015 --> 00:33:20.895
I just want, I just want to like
press a button and do the test.

00:33:21.208 --> 00:33:23.158
especially, I'm just gonna say it.

00:33:23.575 --> 00:33:26.755
With release ops, which
can automate the A TF part.

00:33:26.755 --> 00:33:29.545
Hey, just take this update set and
move it to test and then run the tests.

00:33:29.545 --> 00:33:30.145
CJ: Yes,

00:33:31.045 --> 00:33:34.345
Duke: And no, don't need
nobody to remember, remember?

00:33:34.375 --> 00:33:35.725
Did you remember to do?

00:33:39.835 --> 00:33:40.225
CJ: Yeah.

00:33:40.225 --> 00:33:43.435
If you got kids, you know
exactly how, foolproof that is.

00:33:43.795 --> 00:33:44.845
Duke: Yeah, exactly.

00:33:44.850 --> 00:33:45.505
Exactly.

00:33:45.505 --> 00:33:45.865
So,

00:33:45.955 --> 00:33:47.695
CJ: Did you remember
to take out the trash?

00:33:47.905 --> 00:33:48.955
No, I didn't.

00:33:49.045 --> 00:33:51.265
Do you realize you're sitting
next to the trash can?

00:33:52.075 --> 00:33:53.755
Duke: Can you smell that?

00:33:53.935 --> 00:33:54.865
Ah, alright.

00:33:55.255 --> 00:33:57.055
One more category to
go and then we're done.

00:33:57.381 --> 00:33:59.451
CJ: End user documentation, duke.

00:33:59.631 --> 00:34:03.171
All right, everyone at home
take a shot for documentation,

00:34:04.911 --> 00:34:06.291
Duke: Oh, there's multiple types, right?

00:34:06.291 --> 00:34:09.036
And so we're not talking about
documenting what you built.

00:34:09.036 --> 00:34:09.081
Right?

00:34:09.731 --> 00:34:14.658
end user documentation specifically, . Is
okay, somebody's gotta use this new app,

00:34:14.958 --> 00:34:18.438
or somebody's gotta understand how to
use it now that we moved it off of legacy

00:34:18.438 --> 00:34:20.448
forms and onto workspace or something.

00:34:20.988 --> 00:34:21.188
CJ: Absolutely.

00:34:21.798 --> 00:34:24.408
? Duke: These people aren't
ServiceNow admins who are using it.

00:34:24.528 --> 00:34:26.988
So do they understand how it works?

00:34:27.558 --> 00:34:29.718
Do they understand when
to press what button?

00:34:30.093 --> 00:34:30.608
CJ: No, they don't.

00:34:31.023 --> 00:34:35.461
If they don't, duke and man,
and they never, they never do.

00:34:35.901 --> 00:34:36.921
That's the thing, right?

00:34:36.921 --> 00:34:40.635
And like this is just such a pet
peeve for me right now, right?

00:34:40.635 --> 00:34:45.168
Is that,, I am encountering so many folks
out there who are, ServiceNow customers.

00:34:45.168 --> 00:34:47.358
And they are, not getting
the value outta the system.

00:34:47.538 --> 00:34:48.588
I'm like, okay, show me.

00:34:48.828 --> 00:34:50.478
And I was like, yeah,
we got these processes.

00:34:50.478 --> 00:34:50.658
All right.

00:34:50.658 --> 00:34:51.408
So how do you use them?

00:34:51.528 --> 00:34:52.518
We don't know.

00:34:53.043 --> 00:34:55.278
It's like, how, how do you not know?

00:34:55.278 --> 00:34:56.538
Like, where's the documentation?

00:34:56.688 --> 00:34:57.858
We don't have any.

00:34:58.188 --> 00:35:01.181
It's like, okay, so what happens
when you land , on the page, right?

00:35:01.181 --> 00:35:02.501
With all the data and the data?

00:35:02.711 --> 00:35:03.671
Like, we don't know.

00:35:03.671 --> 00:35:04.811
We don't know what's next.

00:35:04.811 --> 00:35:06.401
We don't like, no.

00:35:07.061 --> 00:35:10.061
Duke: you take somebody who's
been using Microsoft Project since

00:35:10.061 --> 00:35:12.641
forever ago and oh, congratulations.

00:35:12.641 --> 00:35:18.051
You have this new red hot SPM tool
and Suddenly they have absolutely

00:35:18.051 --> 00:35:21.501
zero knowledge on how to create a
baseline, how to build a project from

00:35:21.501 --> 00:35:23.331
a template, how to add a resource plan.

00:35:23.481 --> 00:35:24.681
Like it is all different.

00:35:24.741 --> 00:35:25.731
It's all different.

00:35:26.151 --> 00:35:27.861
And they're not the ServiceNow admin.

00:35:27.861 --> 00:35:30.351
They ain't seen this even once beforehand.

00:35:30.351 --> 00:35:33.021
So the good news here, this is
just a checkbox that you have to

00:35:33.021 --> 00:35:35.991
make sure to make sure you get
a robust, capable app, right?

00:35:36.321 --> 00:35:41.578
Most of the time, luckily this won't
be your responsibility, but we talk

00:35:41.578 --> 00:35:43.408
about maximizing your agency, right?

00:35:43.873 --> 00:35:48.546
If you can make sure you drive this
is completed by somebody, it just

00:35:48.546 --> 00:35:50.166
makes your app a lot more successful.

00:35:50.196 --> 00:35:52.506
'cause your users will
know what to do with it.

00:35:53.361 --> 00:35:56.215
CJ: Yeah, and this is  how you
ensure that your app actually

00:35:56.215 --> 00:35:58.105
gets used instead of just built.

00:35:58.443 --> 00:35:59.793
. Duke: Use instead of just built.

00:35:59.793 --> 00:36:00.273
I love that.

00:36:00.663 --> 00:36:03.973
Okay, next thing on the Legacy uh.

00:36:05.323 --> 00:36:06.043
Guided tours.

00:36:06.043 --> 00:36:10.113
This is an older feature in service
now, but it's still valuable even if

00:36:10.113 --> 00:36:12.873
you have the documentation sitting
in front of them, , very few people

00:36:12.873 --> 00:36:14.223
are gonna open up the how to PDF.

00:36:14.223 --> 00:36:17.973
So if your app is simple enough, you
can add a guided tour to it and this

00:36:17.973 --> 00:36:19.503
buttons for this, this buttons for that.

00:36:19.503 --> 00:36:20.583
Like go ahead and do it.

00:36:20.583 --> 00:36:21.753
it's worth the time.

00:36:22.281 --> 00:36:23.871
CJ: Yeah, I a hundred
percent agree with this.

00:36:23.871 --> 00:36:26.541
I've used these in the past and
they've been very successful, I think.

00:36:26.745 --> 00:36:30.495
so I a hundred percent agree that
guided tours are, functionality.

00:36:30.495 --> 00:36:31.515
They've been around for a while.

00:36:31.515 --> 00:36:33.095
That means they're, a
bit more mature, right?

00:36:33.095 --> 00:36:36.005
Which means they, are gonna work
more often than not in terms of

00:36:36.005 --> 00:36:37.325
like bugs and things like that.

00:36:37.488 --> 00:36:38.505
and, they're good.

00:36:38.655 --> 00:36:41.505
They are very self-explanatory
for, uh, end users.

00:36:41.855 --> 00:36:45.220
Duke: and they don't even have to be a
hundred percent thorough to be useful.

00:36:45.595 --> 00:36:47.940
They can just be very
thorough and useful, you know?

00:36:48.340 --> 00:36:48.683
CJ: Yeah.

00:36:48.693 --> 00:36:51.183
Here's the best selling point I
can, I can give for 'em, right?

00:36:51.183 --> 00:36:55.733
ServiceNow includes so many guided tours
out of the box,  If you, , load up a PDI

00:36:55.733 --> 00:36:58.953
and load up a module that you've never
used, go use the guided tour, Once you

00:36:58.953 --> 00:37:01.593
get through the guided tour, I guarantee
you you're gonna know a lot more about

00:37:01.593 --> 00:37:03.243
that module than you did when you started.

00:37:03.533 --> 00:37:05.508
that's the best selling point
I could give you right there.

00:37:06.233 --> 00:37:08.833
So if you do it well, your end
users will love you for it.

00:37:09.378 --> 00:37:11.268
Duke: And people are like,
oh, it just takes a lot more

00:37:11.268 --> 00:37:12.408
effort to add it to the app.

00:37:12.438 --> 00:37:12.828
Yep.

00:37:12.858 --> 00:37:14.508
But you want your app to be used, right?

00:37:15.183 --> 00:37:15.723
CJ: Yes

00:37:18.243 --> 00:37:18.573
man.

00:37:18.573 --> 00:37:21.063
This, we might be able
to retitle this episode.

00:37:21.063 --> 00:37:22.473
, Building a usable app or

00:37:22.578 --> 00:37:22.758
Duke: Yeah.

00:37:22.818 --> 00:37:23.478
Building an app.

00:37:23.628 --> 00:37:24.228
People actually,

00:37:24.483 --> 00:37:24.963
CJ: Yes.

00:37:24.963 --> 00:37:26.553
Building an app people actually use.

00:37:27.048 --> 00:37:27.588
Duke: Okay.

00:37:27.768 --> 00:37:28.938
God, my voice is wearing out.

00:37:29.235 --> 00:37:32.341
next point on legacy,
platform owner documentation.

00:37:32.401 --> 00:37:33.001
Surprise.

00:37:34.456 --> 00:37:35.296
CJ: Take a shot.

00:37:35.821 --> 00:37:38.731
Duke: How is it that I, that
I ended up talking about this?

00:37:38.821 --> 00:37:39.091
Huh?

00:37:39.616 --> 00:37:39.766
CJ: I

00:37:40.081 --> 00:37:40.501
Duke: Um,

00:37:41.311 --> 00:37:42.136
CJ: it like.

00:37:44.611 --> 00:37:47.475
Duke: so listen, building out all
the objects that you touched is

00:37:47.475 --> 00:37:50.745
one thing, but you must describe.

00:37:51.450 --> 00:37:53.950
The why of the app, ? Capture that now.

00:37:54.130 --> 00:37:55.570
Capture its major features.

00:37:55.570 --> 00:37:59.030
Write it like an essay, write it, as
if it's being consumed by a human.

00:37:59.330 --> 00:38:04.253
There are platform owners out there that
don't know all of the special things

00:38:04.253 --> 00:38:08.273
that have been built onto their app
because nobody bothered to write it down.

00:38:08.513 --> 00:38:11.903
I'm Chad, I'm the ServiceNow
admin for a company X, Y, z.

00:38:12.083 --> 00:38:14.543
I know what's going on,
but Chad hits lotto.

00:38:14.543 --> 00:38:19.355
Chad goes off, does whatever, Then
you're the new person that comes

00:38:19.355 --> 00:38:22.205
in to own it, and you got a team
underneath you, and it's like, what

00:38:22.205 --> 00:38:24.648
do we have on the system right now?

00:38:24.688 --> 00:38:29.068
Unfortunately, there's no push button,
receive a gigantic memorialized list

00:38:29.068 --> 00:38:32.758
of the things that were built and why,
which is why it's imperative that we

00:38:32.788 --> 00:38:34.738
memorialize the things that we build.

00:38:35.668 --> 00:38:37.228
We've talked about it a
hundred thousand times.

00:38:37.228 --> 00:38:37.528
We did,

00:38:40.523 --> 00:38:42.148
did a dedicated episode on it.

00:38:42.368 --> 00:38:42.588
CJ: Yep.

00:38:43.288 --> 00:38:44.848
Duke: We'll put that in the description.

00:38:44.848 --> 00:38:46.108
Oh, we can have a huge description.

00:38:46.108 --> 00:38:46.798
I hope we have enough room.

00:38:48.793 --> 00:38:51.403
CJ: We're gonna do a separate
episode on the description below.

00:38:55.828 --> 00:38:57.778
Duke: We should have an index
of all the things that we've

00:38:57.778 --> 00:38:59.068
ever added to our description.

00:38:59.323 --> 00:38:59.803
CJ: Man.

00:38:59.803 --> 00:39:01.093
Dude, that would be awesome.

00:39:01.678 --> 00:39:03.028
Duke: Okay, buddy, take the last one.

00:39:03.223 --> 00:39:04.303
CJ: Uh, succession plan.

00:39:04.333 --> 00:39:07.306
All right, so what happens when
you're gone, somebody's gotta

00:39:07.306 --> 00:39:08.746
take this thing over, right?

00:39:08.746 --> 00:39:11.776
You've built it, you've deployed
it to production is in use now,

00:39:12.136 --> 00:39:14.416
and you now have been promoted.

00:39:14.446 --> 00:39:19.760
You're now VP of software engineering,
so you're not doing dev anymore, so

00:39:19.760 --> 00:39:21.225
who's going to take over that app?

00:39:22.205 --> 00:39:25.415
How do they know how to take
it over and how to run with it?

00:39:25.635 --> 00:39:27.945
Those are things , that really
do need to be talked about

00:39:27.945 --> 00:39:29.921
before you win the lottery.

00:39:30.986 --> 00:39:32.066
Duke: Yeah, exactly.

00:39:32.066 --> 00:39:33.356
Or get hit by bus.

00:39:33.356 --> 00:39:33.626
Right?

00:39:33.626 --> 00:39:35.156
There's always the, the anti-lock.

00:39:35.406 --> 00:39:35.696
CJ: Yeah.

00:39:35.786 --> 00:39:36.206
Duke: Um,

00:39:38.021 --> 00:39:40.211
CJ: Was trying to keep
it less morbid, but yes.

00:39:40.616 --> 00:39:40.916
Duke: yeah.

00:39:41.576 --> 00:39:44.966
Hey, listen, if you've been in this
space long enough, you've been at one

00:39:44.966 --> 00:39:46.136
of those customers where it's like.

00:39:46.515 --> 00:39:48.435
I don't understand how this app works.

00:39:48.465 --> 00:39:49.005
Yeah.

00:39:49.005 --> 00:39:53.775
Jane built that app and Jane's now on a
separate team that does stuff just for hr.

00:39:54.045 --> 00:39:58.125
But now you're begging Jane for her time,
taking away Jane's time from her current,

00:39:58.195 --> 00:40:02.635
outcome she's trying to deliver so she
can come and explain to you how she built

00:40:02.635 --> 00:40:04.375
this thing, if she can even remember.

00:40:04.375 --> 00:40:05.755
'cause it was eight years ago.

00:40:06.605 --> 00:40:10.060
CJ: Yeah, which again highlights
the importance of documentation.

00:40:10.595 --> 00:40:14.465
, Duke: How do we sustain knowledge
of what we have over the long run?

00:40:14.465 --> 00:40:18.181
Because newsflash, the
stuff we build is invisible.

00:40:18.606 --> 00:40:18.826
CJ: Ooh,

00:40:18.901 --> 00:40:20.461
Duke: It's intangible.

00:40:20.461 --> 00:40:21.631
, It's abstract.

00:40:21.631 --> 00:40:26.671
And unless you mindfully build
something to encapsulate it, a document.

00:40:27.011 --> 00:40:30.251
It's the whole reason we
invented writing and numbers,

00:40:30.816 --> 00:40:34.216
, CJ: I was watching a, comedian on,
, YouTube, Facebook somewhere, . And,

00:40:34.216 --> 00:40:38.053
and he was like explaining, school
from the perspective of, the people

00:40:38.053 --> 00:40:41.713
who first invented it and it was really
very much like what you just said.

00:40:42.150 --> 00:40:45.390
hey kid, we're going to take
you out of what you're doing and

00:40:45.390 --> 00:40:47.585
come put you in this building for
eight hours and teach you things.

00:40:48.330 --> 00:40:49.440
Why, why, why?

00:40:49.470 --> 00:40:50.340
Why do we have to change?

00:40:50.340 --> 00:40:53.160
Well, because we're going to
die and someone needs to know

00:40:53.160 --> 00:40:56.280
these things after we die.

00:40:57.853 --> 00:40:59.833
but that's pretty much what it is, right?

00:41:00.070 --> 00:41:04.910
succession planning is we're going
to move on, Whether that's inside the

00:41:04.910 --> 00:41:08.450
company or out, and somebody needs
to know this stuff, before we leave.

00:41:08.990 --> 00:41:13.380
And I will tell you though, I'm still
stuck on the stuff we build is invisible.

00:41:13.620 --> 00:41:15.090
Like I really like that.

00:41:15.090 --> 00:41:18.120
I'm, my whole, I got half my
brain working on that right now.

00:41:18.120 --> 00:41:19.470
That might be a future episode.

00:41:19.830 --> 00:41:25.943
Duke: I mean, getting into like DIY, car
repair with my son has just opened up.

00:41:25.943 --> 00:41:29.273
I've always talked about the invisibility
problem, but it's just a whole new world.

00:41:29.273 --> 00:41:31.320
Like we changed our brake
pads and our rotors.

00:41:31.975 --> 00:41:35.095
couple weeks ago, you take the wheel off a
car and you're like, oh yeah, there it is.

00:41:35.218 --> 00:41:36.958
that's how they built the rotor.

00:41:37.041 --> 00:41:40.461
The brake pads, the mechanisms that
compressed them and keep them in

00:41:40.461 --> 00:41:43.311
place and stop them from sitting
on the wheel the entire time.

00:41:43.531 --> 00:41:48.091
you can see it, you can see the inside
of a car, you can know jack squat about

00:41:48.091 --> 00:41:51.961
cars, take off a wheel and be like, that
is probably meant for stopping a car.

00:41:52.381 --> 00:41:55.771
You know, like you can't open service now.

00:41:56.296 --> 00:41:57.016
As easily.

00:41:57.016 --> 00:41:57.346
Yeah.

00:41:57.346 --> 00:41:58.996
I mean, yeah, you got the records, right?

00:41:58.996 --> 00:42:03.136
The script includes the business rules,
the flows, but there's so many of these

00:42:03.136 --> 00:42:05.566
things in so many different places.

00:42:05.956 --> 00:42:08.836
what if the owner's manual of your
car was the only way you could

00:42:08.836 --> 00:42:10.066
understand how your car worked?

00:42:10.096 --> 00:42:13.786
Except every page of it is in a different
cabinet somewhere in your house.

00:42:14.366 --> 00:42:15.056
CJ: Yes.

00:42:15.296 --> 00:42:15.986
I mean, I mean,

00:42:19.346 --> 00:42:21.111
it would be impossible
for you to figure it out.

00:42:22.466 --> 00:42:25.286
Duke: It is impossible to
figure out if you come in sight

00:42:25.286 --> 00:42:27.146
unseen to a brand new customer.

00:42:27.430 --> 00:42:29.860
Everybody hates doing
the legacy planning work.

00:42:30.700 --> 00:42:35.770
It sucks like it's a slog, but they
don't hate it as much as when it's all

00:42:35.770 --> 00:42:38.920
screwed up years later and somebody
new is trying to take care of it.

00:42:38.920 --> 00:42:43.510
You don't hate documentation and legacy
planning nearly as much as you hate

00:42:43.510 --> 00:42:45.070
the consequences of not doing it.

00:42:45.070 --> 00:42:46.150
You just don't know it Now.

00:42:46.795 --> 00:42:47.545
CJ: Yeah, absolutely.

00:42:47.605 --> 00:42:51.171
I'll tag on to this one too, duke,  I
was just talking to a client, and,

00:42:51.441 --> 00:42:54.111
you know, we were talking about they
were gonna do an audit to understand

00:42:54.111 --> 00:42:57.021
who owns all various different
services in the, in the company.

00:42:57.511 --> 00:43:00.931
, And I said, okay, so once you do
that audit, you also then have to

00:43:00.931 --> 00:43:04.801
set up a process to ensure that you
never have to do that audit again.

00:43:06.016 --> 00:43:06.436
Right.

00:43:06.856 --> 00:43:09.896
You know, because doing that manual
audit's gonna , take a lot of time.

00:43:09.896 --> 00:43:12.956
It's gonna take a lot of effort, but now
that you've collected all those individual

00:43:12.956 --> 00:43:17.503
pages from all those individual file
cabinets and put them in a book, you

00:43:17.503 --> 00:43:21.665
need somebody to ensure that the book is
kept up to date, and so, that is another

00:43:21.665 --> 00:43:26.735
one of those things that is invisible
typically until you have to do it again.

00:43:27.303 --> 00:43:28.413
Duke: gosh, it's been a long episode.

00:43:28.722 --> 00:43:30.652
CJ: Man, dude, we were just
like, this is what happens when

00:43:30.652 --> 00:43:32.122
you get a day off and record.

00:43:35.107 --> 00:43:35.377
Duke: all right.

00:43:35.377 --> 00:43:38.104
Let's just do a quick roll up
of all the concepts we covered.

00:43:38.104 --> 00:43:38.509
Write 'em down.

00:43:39.169 --> 00:43:42.335
Take notes, especially beginners, so
you can start how do I know I've got a

00:43:42.335 --> 00:43:45.095
good, solid, comprehensive application?

00:43:45.395 --> 00:43:45.695
CJ: Yeah.

00:43:45.695 --> 00:43:46.055
And,

00:43:46.055 --> 00:43:46.835
Duke: in your own blanks here.

00:43:46.985 --> 00:43:50.392
CJ: and, and, and I wanna, and let
me jump in on that,  do this roll

00:43:50.392 --> 00:43:54.112
up , and have this so you can build
your applications on the build with

00:43:54.112 --> 00:43:55.852
challenge that kicks off tomorrow

00:43:56.362 --> 00:43:56.842
Duke: Oh, bingo.

00:43:56.872 --> 00:43:58.857
Well, hey, let's put a link
to that in description below.

00:43:59.857 --> 00:44:00.907
CJ: Absolutely.

00:44:01.087 --> 00:44:04.274
Absolutely this one's is,
targeted around the build agent.

00:44:04.424 --> 00:44:05.924
But if you go to ServiceNow
community, right?

00:44:05.924 --> 00:44:08.710
Like you can get a whole lot of
information on, what's going on there.

00:44:08.710 --> 00:44:12.630
And this list, will help you
build whatever you're gonna build

00:44:12.630 --> 00:44:13.315
in the build with challenge.

00:44:13.770 --> 00:44:14.880
Duke: here's a recap.

00:44:15.150 --> 00:44:19.560
We have process areas, understanding
your catalysts, trying to

00:44:19.560 --> 00:44:20.520
improve the catalyst you have.

00:44:21.550 --> 00:44:25.300
, Understanding the process and
how flows, playbooks, ServiceNow

00:44:25.300 --> 00:44:27.400
Logic can execute those.

00:44:27.880 --> 00:44:32.624
Understanding your integration points
with, , external systems, beginning,

00:44:32.624 --> 00:44:36.934
middle, and end, managing any work
expectations, , especially in terms

00:44:36.934 --> 00:44:40.974
of time, understanding how everything
closes, and then understanding

00:44:40.974 --> 00:44:42.684
the outcomes and reporting.

00:44:42.684 --> 00:44:43.824
Corey, you wanna cover the build ones.

00:44:44.265 --> 00:44:44.840
CJ: Yeah, duke.

00:44:44.840 --> 00:44:45.620
Absolutely.

00:44:45.704 --> 00:44:48.434
, So we got good practices
validated by instant scan.

00:44:48.854 --> 00:44:51.014
We've got failure
detection and remediation.

00:44:51.614 --> 00:44:57.450
You got data governance, Groups, roles
and acls, encryption and ATFs tests,   and

00:44:57.450 --> 00:45:00.780
note, as you listen to this, how these
things are all interconnected, right?

00:45:00.780 --> 00:45:02.820
So build relies upon process.

00:45:03.030 --> 00:45:06.090
Duke: And then remember your legacy, like
nobody's gonna be in their jobs forever.

00:45:06.585 --> 00:45:09.465
We want this product to
last as long as possible.

00:45:09.795 --> 00:45:12.525
We want people to remember that we
were the ones that did it for them.

00:45:13.005 --> 00:45:13.365
Okay?

00:45:13.365 --> 00:45:16.035
So pay attention to your
end user documentation.

00:45:16.282 --> 00:45:19.419
Use guided tours as you're able
to, , be obsessive about your

00:45:19.419 --> 00:45:22.779
platform owner documentation, and
be sure to have a succession plan

00:45:22.779 --> 00:45:24.699
to pass on everything you know.

00:45:25.082 --> 00:45:27.302
CJ: And with that, we will
kick it over to the outro.