NOTE
This file was generated by Descript <www.descript.com>
1

00:00:00,000  -->  00:00:01,590
Hi guys and welcome back.

2

00:00:01,590  -->  00:00:05,406
Every project needs users
otherwise, why build it right?

3

00:00:05,736  -->  00:00:08,916
So in this video, let's take a
look at what it means to become

4

00:00:08,916  -->  00:00:11,046
a user or to interact with users.

5

00:00:11,316  -->  00:00:12,786
What users normally want?

6

00:00:12,996  -->  00:00:16,836
What to do if other similar software
to what you're building already exists?

7

00:00:16,880  -->  00:00:19,910
And I'll give you a few examples
of how you can use what users

8

00:00:19,910  -->  00:00:22,460
tell you to plan your projects.

9

00:00:22,710  -->  00:00:24,930
Normally users will be part of your team.

10

00:00:25,175  -->  00:00:27,875
Usually in most teams, you have
a person who is responsible

11

00:00:27,875  -->  00:00:29,644
for representing the users.

12

00:00:29,945  -->  00:00:33,175
Basically talking to them,
understanding their wants and needs

13

00:00:33,355  -->  00:00:36,785
and communicating that to the team as
well as normally planning the project.

14

00:00:36,991  -->  00:00:39,601
Maybe you're already the lucky position
and you get to actually talk to your

15

00:00:39,601  -->  00:00:43,471
customers or your users often, but
most people are not in that position.

16

00:00:44,071  -->  00:00:46,921
For our personal projects,
like this one where we're going

17

00:00:46,921  -->  00:00:49,051
solo, we don't have users.

18

00:00:49,051  -->  00:00:53,721
We are the users so it's important
to spend some time becoming a user.

19

00:00:53,721  -->  00:00:57,591
It's too easy for us developers to
sit down and start worrying about

20

00:00:57,591  -->  00:01:00,231
how are we going to implement this
or that, what database we're going to

21

00:01:00,231  -->  00:01:01,671
use, how are we going to code that?

22

00:01:02,081  -->  00:01:05,951
And forget about, you know,
the reason why we are creating

23

00:01:05,951  -->  00:01:07,181
the project in the first place.

24

00:01:07,241  -->  00:01:08,891
And it's all too easy to do that.

25

00:01:08,921  -->  00:01:12,491
That's why I always recommend
that every time you complete some

26

00:01:12,491  -->  00:01:13,781
functionality in your project.

27

00:01:13,991  -->  00:01:14,681
You sit down.

28

00:01:14,861  -->  00:01:17,621
You think about what you've
accomplished so far and you

29

00:01:17,621  -->  00:01:19,211
plan your next steps as well.

30

00:01:19,536  -->  00:01:24,306
In the last lecture, I showed you the
process that teams normally use for

31

00:01:24,346  -->  00:01:28,566
doing that, which is planning and then
implementing, and then reviewing, quite

32

00:01:28,566  -->  00:01:30,156
frequently every two to three weeks.

33

00:01:30,246  -->  00:01:33,246
So I recommend you do something like
that in your personal projects as well.

34

00:01:33,496  -->  00:01:36,646
When I was thinking about this project,
I realised I wanted to be able to keep

35

00:01:36,646  -->  00:01:39,436
track of small notes or journal entries.

36

00:01:39,796  -->  00:01:43,066
I also want it to be able to view
past entries, to know what I have

37

00:01:43,066  -->  00:01:44,806
been up to earlier on in time.

38

00:01:45,076  -->  00:01:48,856
And I wanted an easy way to
access this using a website.

39

00:01:48,856  -->  00:01:49,876
I know that's not much.

40

00:01:49,906  -->  00:01:53,536
It's not a lot of stuff to get started
on with a project, but I promise you

41

00:01:53,536  -->  00:01:58,039
that as we implement these features,
we're going to come up with more things.

42

00:01:58,190  -->  00:02:02,930
Inspiration isn't a matter of, you know,
a sudden lightning strike is more of a

43

00:02:02,930  -->  00:02:06,890
continuous process where you sit down,
you think about what you've done so far,

44

00:02:07,039  -->  00:02:08,600
and you think about what you can do next.

45

00:02:08,690  -->  00:02:11,930
So take your time, become a
user and think about how your

46

00:02:11,930  -->  00:02:13,460
project is going to develop.

47

00:02:13,893  -->  00:02:18,113
It's important to note that users are
not going to jump into, create my own

48

00:02:18,143  -->  00:02:23,333
app for this, if a competitor already
exists that does everything they need.

49

00:02:23,728  -->  00:02:27,078
So it's very important for you whenever
you're starting a project, be that a

50

00:02:27,078  -->  00:02:31,368
personal project or a enterprise project
that you research your competitors.

51

00:02:31,368  -->  00:02:32,568
You see what they do.

52

00:02:32,568  -->  00:02:33,468
What they do well.

53

00:02:33,498  -->  00:02:34,878
Maybe what they don't do so well.

54

00:02:35,118  -->  00:02:37,308
What features they've got and
which ones they're missing.

55

00:02:37,668  -->  00:02:40,098
Through this, you'll be
able to find two things.

56

00:02:40,278  -->  00:02:44,873
The first one is, maybe a competitor
exists that does things very well

57

00:02:44,873  -->  00:02:47,963
and it does everything that you can
think of that you could possibly need.

58

00:02:48,443  -->  00:02:51,773
In that case, you might be in a little
bit of trouble in terms of the project.

59

00:02:51,833  -->  00:02:53,663
Maybe you only need to
implement it after all.

60

00:02:54,143  -->  00:02:58,283
But more often than not, in fact, I'm
confident in 99% of the time, you're

61

00:02:58,283  -->  00:03:01,298
going to find other people have done
similar projects but they just don't

62

00:03:01,298  -->  00:03:04,948
have the feature you're looking for, or
maybe the product just isn't that good.

63

00:03:05,098  -->  00:03:05,628
In that case.

64

00:03:05,988  -->  00:03:06,518
Go for it!

65

00:03:06,618  -->  00:03:07,668
Remake the project.

66

00:03:07,668  -->  00:03:08,388
Make it better.

67

00:03:08,568  -->  00:03:09,438
Add more features.

68

00:03:09,438  -->  00:03:12,078
Do the thing that you
want to use as a user.

69

00:03:12,108  -->  00:03:14,478
That's what users are
normally looking for.

70

00:03:14,478  -->  00:03:18,608
At this stage though we're still learning
so it's always worth implementing

71

00:03:18,608  -->  00:03:21,188
things, even if they're similar to
something that's been implemented before.

72

00:03:21,688  -->  00:03:26,518
It's also worth remembering that a
lot of startups begin as competitors

73

00:03:26,518  -->  00:03:28,468
to projects that already exist.

74

00:03:28,558  -->  00:03:30,028
They just do them better.

75

00:03:30,418  -->  00:03:35,008
For example, Slack was an improvement
over IRC and Discord was seen

76

00:03:35,008  -->  00:03:35,968
as an improvement over Slack.

77

00:03:35,998  -->  00:03:37,138
They have different features.

78

00:03:37,138  -->  00:03:38,458
They do things slightly differently.

79

00:03:38,738  -->  00:03:43,208
Cater for different audiences but overall,
the core technologies are the same.

80

00:03:43,708  -->  00:03:46,588
So now let's say you have become a user.

81

00:03:46,588  -->  00:03:48,238
You thought about what you want for a bit.

82

00:03:48,658  -->  00:03:51,448
You've researched your competitors
and you see what they can do.

83

00:03:51,748  -->  00:03:56,368
Now, it's time to start planning what
you will actually do in your project.

84

00:03:56,871  -->  00:04:01,521
And the outcome of this should be what
you as a user wants or what your users

85

00:04:01,521  -->  00:04:02,931
would want and descriptions of that.

86

00:04:03,441  -->  00:04:07,071
So I like writing these in the
form of user stories like this one.

87

00:04:07,251  -->  00:04:10,461
As a user, I would like to be
able to add new journal entries

88

00:04:10,581  -->  00:04:13,101
so that I can keep track of my
programming learning over time.

89

00:04:13,656  -->  00:04:18,336
This is a user story that's very specific
to me why I want this journal app.

90

00:04:18,786  -->  00:04:21,156
Some users might not want to keep
track of the programming learning

91

00:04:21,156  -->  00:04:24,066
for example, but that's irrelevant
because I'm building this project

92

00:04:24,066  -->  00:04:26,046
for a specific user, which is me.

93

00:04:26,546  -->  00:04:27,416
Another user story.

94

00:04:27,656  -->  00:04:30,656
As a user, I would like to be
able to easily see past journal

95

00:04:30,656  -->  00:04:33,356
entries in a simple way so that
I can remember what I've learned.

96

00:04:33,856  -->  00:04:36,226
And finally, as a user, I would
like to be able to access my

97

00:04:36,226  -->  00:04:39,826
journal using a website, so that I
can do so from any of my devices.

98

00:04:40,326  -->  00:04:43,386
It's important when you're writing user
stories that they look as though they're

99

00:04:43,396  -->  00:04:47,326
written by users and they normally
contain what you want to implement

100

00:04:47,506  -->  00:04:49,276
and a why you want to implement it.

101

00:04:49,786  -->  00:04:53,716
That way, whenever you read the user
story, you can remember how it came to be.

102

00:04:54,256  -->  00:04:57,276
But it's important that user
stories don't will contain a how.

103

00:04:57,426  -->  00:04:58,956
How something is going be implemented.

104

00:04:58,956  -->  00:05:01,596
What technologies you're going to use
or what code you're going to write

105

00:05:01,866  -->  00:05:03,726
because that can be too prescriptive.

106

00:05:04,066  -->  00:05:08,776
User stories are more reminders for you
to have a conversation later on, either

107

00:05:08,776  -->  00:05:11,956
with yourself if you're coding on your
own or maybe with your user or with other

108

00:05:11,956  -->  00:05:13,756
team members if you're working in a team.

109

00:05:14,236  -->  00:05:18,676
By having those conversations later on,
you can flesh out more details rather

110

00:05:18,676  -->  00:05:22,046
than trying to write them initially in
the first user story you come up with.

111

00:05:22,546  -->  00:05:23,446
However with that said.

112

00:05:23,476  -->  00:05:27,496
A development team or yourself does
need to keep track of how you're

113

00:05:27,496  -->  00:05:28,336
going to implement something.

114

00:05:28,336  -->  00:05:29,476
That's unavoidable.

115

00:05:29,506  -->  00:05:30,736
It is our job after all.

116

00:05:31,006  -->  00:05:35,206
So when we create these user stories
in a tool that we use to keep track

117

00:05:35,206  -->  00:05:39,606
of user stories, we can of course add
more detail, write there how we intend

118

00:05:39,606  -->  00:05:43,546
to implement it, and then come back to
it and review that later on when we do

119

00:05:43,546  -->  00:05:45,976
start work on any particular user story.

120

00:05:46,946  -->  00:05:48,721
Alright, thank you guys for
joining me in this video.

121

00:05:48,871  -->  00:05:50,101
I'll see you in the next one.
