-
Not Synced
(woman) Hello there everyone,
-
Not Synced
we're about one minute before the start
of our webinar,
-
Not Synced
and we'd like to do a quick audio check,
just to make sure everyone can hear us ok.
-
Not Synced
So, I have put a poll up on the screen
-
Not Synced
about our audio levels,
if you could please just let us know.
-
Not Synced
(man) Okay.
-
Not Synced
(woman) Great. It looks like we
are in good shape then for our audio.
-
Not Synced
So we are right at 12:00,
and we will go ahead and get started.
-
Not Synced
First up, I'd like to introduce myself,
my name is Cynthia Rich.
-
Not Synced
I am a trainer with GitHub
and I am joined today by Allen Smith,
-
Not Synced
another trainer...
I'm from GitHub
-
Not Synced
and we're going to trade off today
as we go through this topic
-
Not Synced
and share some of our relevant
experience with you.
-
Not Synced
Today's session is about project
management and how we use GitHub
-
Not Synced
to manage projects within GitHub.
-
Not Synced
So really quick, just so we know who
we have on the phone with us,
-
Not Synced
on the webinar with us, excuse me,
-
Not Synced
a little more about you,
I've put a poll up to tell us
-
Not Synced
a little bit about your project
management experience.
-
Not Synced
While you're doing that
I'm going to tell you
-
Not Synced
a little bit about
what we hope to accomplish today.
-
Not Synced
So during today's webinar
we'd like to share with you
-
Not Synced
some of the best practices
that we've found
-
Not Synced
for managing projects using
the GitHub architecture.
-
Not Synced
So we as a company manage
all of our projects within this platform
-
Not Synced
and we store all of our conversations,
communication, everything goes here,
-
Not Synced
and so we want to share with you
the secrets that we use
-
Not Synced
to make this effective and to ensure
that we can collaborate effectively
-
Not Synced
and communicate effectively
across our team.
-
Not Synced
So it looks like, okay great...
-
Not Synced
So it looks like we have a good split
of folks who do alot of project management
-
Not Synced
and then some folks who
are interested in the topic.
-
Not Synced
If you have someone on your team
that you'd like to share this webcast with
-
Not Synced
we will be recording this and we'll send
you a link after we finish up.
-
Not Synced
So I'm gonna go ahead and close the poll.
-
Not Synced
And, I'd like to jump right in and show
you what we're going to accomplish today.
-
Not Synced
The project we've set up that we'd like
to show you today
-
Not Synced
is a very basic GitHub Pages page.
-
Not Synced
Now if you're not familiar
with GitHub Pages
-
Not Synced
GitHub Pages is our,
essentially free web hosting platform.
-
Not Synced
It allows you to connect
your GitHub repository directly
-
Not Synced
to this GitHub Pages and set up
a project webpage,
-
Not Synced
something that you can communicate
with the outside world about your project.
-
Not Synced
So again, these are free to set up.
-
Not Synced
There are instructions on this page
we're showing you here pages.github.com
-
Not Synced
You can go there and it'll tell you
everything you need to know for how
-
Not Synced
to set up your repository
to communicate with this page.
-
Not Synced
The page that we have set up
is actually a little cookbook
-
Not Synced
So let's go back over,
and if you'll, there we go...
-
Not Synced
Our Project Management Cookbook,
-
Not Synced
and you can see there this is
a really simple page
-
Not Synced
just something we set up for example sake
-
Not Synced
with a few links to some
different recipes,
-
Not Synced
hopefully this isn't lunch time
for everyone,
-
Not Synced
we'll all be hungry when we get done.
-
Not Synced
But like I said,
a really, really simple page
-
Not Synced
'cause what we really want to show you
is what's under the hood,
-
Not Synced
or what's behind the scenes that's
helping us to manage this project.
-
Not Synced
So, as you know, everything within GitHub
is managed within a repository
-
Not Synced
and that repository is the collection
of everything relating to your project.
-
Not Synced
So your project files, your project
communications, all of the metrics
-
Not Synced
involving your project.
-
Not Synced
Everything within your project is stored
in this repository.
-
Not Synced
Now in order to do some of the things
that we are going to show you today,
-
Not Synced
we had to make a few assumptions,
-
Not Synced
and one of those is that you're an owner
on the repository that you're working on.
-
Not Synced
So if you're not an owner
on the repository
-
Not Synced
there may be a few things
we're gonna show you along the way
-
Not Synced
that you won't be able to do
-
Not Synced
and so you might want to either look into
changing your permissions level
-
Not Synced
or how to work out getting some of these
tasks accomplished
-
Not Synced
with someone that has
the appropriate permissions.
-
Not Synced
So, I'm gonna start by just walking you
through the interface
-
Not Synced
showing you how we use some
of the different sections within GitHub
-
Not Synced
and I'm gonna start on the right hand side.
-
Not Synced
Right now you can see that we're
on the Code tab over there on the right
-
Not Synced
and the Code tab is exactly what it sounds
like, these are your source files.
-
Not Synced
This is all the content that belongs
to the repository,
-
Not Synced
that is then shown on that webpage.
-
Not Synced
Below that we're gonna see Issues
and Poll requests.
-
Not Synced
We're gonna talk a lot about those
in just a minute,
-
Not Synced
so we'll come back to those.
-
Not Synced
But one of the things that's really useful
within the project is the Read Me file.
-
Not Synced
The Read Me file...
-
Not Synced
There are a couple of magic words,
the Read Me file being one of them,
-
Not Synced
and with the Read Me file,
-
Not Synced
this is a page that's automatically gonna
render on the front page of your project.
-
Not Synced
So when someone comes to visit you
they can see all of the information
-
Not Synced
in your Read Me file
just as its shown here.
-
Not Synced
Now in our Read Me file we've decided
to put some more information about
-
Not Synced
how to add recipes to our cookbook,
-
Not Synced
so a little information about
how to contribute to it.
-
Not Synced
We've even provided a recipe template
so if someone wants to contribute a recipe
-
Not Synced
they can just copy and paste that
into a text file, put in their recipe
-
Not Synced
and then commit it
and do a poll request back to us.
-
Not Synced
We tried to make it really easy for people
who wanted to join in.
-
Not Synced
THere is another type of file that you
may see commonly,
-
Not Synced
called a CONTRIBUTING.md,
-
Not Synced
and that file tells people
how to contribute.
-
Not Synced
This page is a little different because
this page is only going to show up
-
Not Synced
when somebody tries to submit
a poll request,
-
Not Synced
to actually contribute a recipe
to the cookbook.
-
Not Synced
So we'll see that in action
in a little while.
-
Not Synced
Now you'll notice that we do have some
basic formatting on all of these pages
-
Not Synced
and if we click the little pencil button
there, we can see, that all of these pages
-
Not Synced
are written in a very lightweight language
called Markdown.
-
Not Synced
Markdown is really basic, really simple
-
Not Synced
as you can see the header there is just a
hash mark and a space
-
Not Synced
and then your header.
-
Not Synced
Our bullets are created
with simple dash marks.
-
Not Synced
There are actually guides
on using Markdown
-
Not Synced
we won't get into that in the course
but we will include a link
-
Not Synced
in the course notes for you
so you can go in and find out how
-
Not Synced
to do Markdown on your own.
-
Not Synced
So like I said, really simple language
to use and we're gonna show you
-
Not Synced
a couple pretty cool things you can do
with it in just a little while.
-
Not Synced
So, another option
I'd like to show you
-
Not Synced
that is particularly useful
for project managers is the wiki.
-
Not Synced
Not gonna get into this too much,
I think most of you probably know
-
Not Synced
what wikis are,
just a collection of pages,
-
Not Synced
but these are really good for if you want
to store a project schedule maybe,
-
Not Synced
or a budget, or maybe a team charter,
something like that
-
Not Synced
you can put that here.
-
Not Synced
And like I said, we won't spend a ton
of time on that.
-
Not Synced
On the top bar, lets look up there
where we talk about
-
Not Synced
watching and starring and forking,
and what are those things.
-
Not Synced
One of the things as a project manager
you're probably going to be pretty
-
Not Synced
interested in what's going on
in your project,
-
Not Synced
so you'll want to watch the communications
and conversations that are coming through
-
Not Synced
and any of the actions that are happening.
-
Not Synced
So if that's the case, then you'd want
to select this option here to be watching.
-
Not Synced
So you would get literally a notification
any time someone creates a poll request,
-
Not Synced
commits something, closes something,
you're gonna get a notification.
-
Not Synced
But maybe you decide you don't want
that much information about your project,
-
Not Synced
you can choose Not watching,
-
Not Synced
and if you choose Not watching,
notice there that you'll still be notified
-
Not Synced
if you participate in a conversation,
-
Not Synced
so if you add something to a discussion
you'll continue to get notifications
-
Not Synced
about that discussion.
-
Not Synced
The other key there is if someone
@ mentions you.
-
Not Synced
So if someone is entering an issue
and specifically says,
-
Not Synced
"Hey, I need your help with this Bill,
can you give me your opinion",
-
Not Synced
then you'll still get a notification.
-
Not Synced
So Not watching doesn't mean
you'll never find out anything,
-
Not Synced
it just means its a more limited set
of information.
-
Not Synced
And then of course, you could ignore it,
which I don't think you'd want to
-
Not Synced
as a project manager, but I guess that's
always your option.
-
Not Synced
The other option there is to Star
a repository.
-
Not Synced
Starring is a little bit more
like bookmarking.
-
Not Synced
So we get this question a lot, what is the
difference between Watching and Starring.
-
Not Synced
Starring essentially will add these stars
to your homepage.
-
Not Synced
So if we star this page and then go back
and look at GitHub teachers homepage
-
Not Synced
you'll notice down here
on the left hand side there's a Starred
-
Not Synced
and you could click that link to see any
of the pages you've starred.
-
Not Synced
So its just a way to keep track of pages
that look interesting to you,
-
Not Synced
and a nice way to bookmark those pages
to come back to them later.
-
Not Synced
So, what I'd like to do
is run back to the main repository
-
Not Synced
and we're gonna jump right in to talking
about some of these core
-
Not Synced
communication tools we use within
our projects.
-
Not Synced
We're gonna start with Issues
and Poll requests
-
Not Synced
and I'm gonna ask Allen to jump in here
and help me with these
-
Not Synced
and I'm gonna have Allen tell us
a little bit more about Issues.
-
Not Synced
Before I do, I just want to say
the difference between these two
-
Not Synced
to conceptually think about these,
if you think about Issues as
-
Not Synced
"I have a question,
or I see something that's wrong,
-
Not Synced
but I don't know what to do about it",
then you'd enter an Issue.
-
Not Synced
If on the other hand, you have a question
you know how to fix it,
-
Not Synced
or already have fixed it,
then you're gonna use a Poll request.
-
Not Synced
So that's how we think about these
-
Not Synced
to kinda separate what goes
in each of these buckets.
-
Not Synced
And now I'm gonna turn it over to Allen,
-
Not Synced
to give you more information about Issues.
-
Not Synced
(Allen) Alright, yeah, thank you Cynthia.
-
Not Synced
So let's dive right in and take a look
at our Issues here, on the Issues tab.
-
Not Synced
And, its right there under our Code tab,
go ahead and click that.
-
Not Synced
So traditionally when you think
about issues
-
Not Synced
in terms of software development
-
Not Synced
you think that issues represent
problems, represent bugs,
-
Not Synced
and that's certainly the case.
-
Not Synced
Depending on how your project is set up,
you may be using Issues to track bugs,
-
Not Synced
or possibly even enhancements.
-
Not Synced
If this is sort of a general project
-
Not Synced
you may want to use this to track your
project requirements for instance.
-
Not Synced
And that's sort of what we've done
in our example here.
-
Not Synced
So if you notice in our Issues list,
we have several different recipes
-
Not Synced
that are to be added to our cookbook.
-
Not Synced
So we have recipes for Mexican
hot chocolate, or holiday punch,
-
Not Synced
but then we also have other issues
that have been entered by other people.
-
Not Synced
For instance, this one is a problem,
-
Not Synced
so the lemon icebox pie directions
are missing steps.
-
Not Synced
So in this case it is an issue,
-
Not Synced
I'm sorry, it is a bug, or an error
that needs to be corrected,
-
Not Synced
so issues are very flexible and you can
use them to manage
-
Not Synced
different types of issues.
-
Not Synced
But ultimately what we're talking about
here is workload management.
-
Not Synced
So Issues track the work to be done.
-
Not Synced
and GitHub has tools that let you manage
that work at a high level,
-
Not Synced
and then also with a kind of fine grain
focus when you need to.
-
Not Synced
So, I think the best step for us right now
is to dive in and create a new Issue.
-
Not Synced
So, we click the green New Issue button
-
Not Synced
and we're presented with this screen here
where we enter a title for our issue,
-
Not Synced
so we want to have something
that is descriptive,
-
Not Synced
or as descriptive as possible,
so we would say for instance,
-
Not Synced
maybe, add new lunch menu items,
something like that.
-
Not Synced
And down below we have a comment section
and just like other areas of GitHub,
-
Not Synced
this comment section does support Markdown
-
Not Synced
so we're gonna leverage that power to help
us do a couple of things to manage
-
Not Synced
our tasks related to this issue.
-
Not Synced
For instance, I think we need to have
a lunch section, so here are some ideas.
-
Not Synced
And we can use the Markdown syntax
to create to-do list items
-
Not Synced
within this issue.
-
Not Synced
So, for instance, we have hoagies,
we have, oh, I don't know,
-
Not Synced
strawberry salad,
everybody likes strawberry salad,
-
Not Synced
so, we'll create our checklist here
of items that are suggested
-
Not Synced
and you can even,
if you'll notice at the bottom there,
-
Not Synced
you can drag and drop images directly in.
-
Not Synced
So, for instance, if you are reporting
an issue, you can take a screen shot
-
Not Synced
and drag it straight over to your browser
window and it will automatically
-
Not Synced
upload to GitHub and post it to the Issue.
-
Not Synced
It kinda lets you communicate the issue
as you see it, in a little bit better way.
-
Not Synced
Just like other areas, if you @ mention
someone here
-
Not Synced
GitHub is going to send that person
a notification as well,
-
Not Synced
and that feature is useful for pulling
people into the conversation,
-
Not Synced
like Cynthia said.
-
Not Synced
Especially people who are not necessarily
watching the repository.
-
Not Synced
And so we'll enter another comment here,
-
Not Synced
and in this case, GitHub Student
is going to receive a notification
-
Not Synced
that they've been pulled into
this conversation by GitHub Teacher,
-
Not Synced
and GitHub Teacher is requesting
input from them.
-
Not Synced
So, if we go back to our Issue screen
we can see that the new Issue
-
Not Synced
has been created there.
-
Not Synced
Now one thing I want to show you here,
is that you'll notice to the right
-
Not Synced
of that Issue description,
we have a little check box,
-
Not Synced
and then we have 0 of 3.
-
Not Synced
So let's hop into that menu item
one more time,
-
Not Synced
and if you'll notice, GitHub did create
these check boxes
-
Not Synced
based on those we created in Markdown.
-
Not Synced
So let's check hoagies off for instance,
-
Not Synced
so let's say that hoagies have been added
to the cookbook,
-
Not Synced
if we navigate back to that Issues page
we can see that GitHub has updated
-
Not Synced
that task list to show us that one
of the three tasks from that Issue
-
Not Synced
has been completed.
-
Not Synced
So, if you think about it,
that's a really powerful feature
-
Not Synced
for digging down into these Issues,
-
Not Synced
that may have subtasks
associated with them.
-
Not Synced
It lets you break your work up
and manage it, but still,
-
Not Synced
track the progress,
which is super valuable.
-
Not Synced
Let's take a look at how GitHub
lets you manage this list.
-
Not Synced
Because we have how many items?
-
Not Synced
We have 20 open items
and 6 closed items,
-
Not Synced
so let's say we wanted to track certain
things about certain items.
-
Not Synced
We can use Labels,
and assign them to Issues.
-
Not Synced
So let's hop back in to our
new lunch menu item Issue
-
Not Synced
Over on the right-hand side of the screen
we have a Labels option.
-
Not Synced
So Labels are pretty powerful
because what they let you do,
-
Not Synced
is essentially tag an Issue
with a particular category or context,
-
Not Synced
you can use for filtering later.
-
Not Synced
So there are a couple different examples
you might use for this,
-
Not Synced
You could use it to track progress,
-
Not Synced
so for instance in our repository here,
-
Not Synced
we have different labels for marking
how far an Issue has progressed,
-
Not Synced
if its in backlog, or if its in progress,
-
Not Synced
or even if its completed,
we can label it that way,
-
Not Synced
and then filter by that tag, I'm sorry,
filter by that Label later.
-
Not Synced
Other ways you might use Labels
-
Not Synced
You can use it to track priority.
-
Not Synced
So for instance,
if you have a critical issue,
-
Not Synced
or something maybe that's low priority,
-
Not Synced
you could use Labels for that as well.
-
Not Synced
You can also check Labels
for the nature of the issue,
-
Not Synced
and in this case we have
different departments.
-
Not Synced
So we have Content,
or Design, or Editorial.
-
Not Synced
So we can check those issues and then
-
Not Synced
filter by them later,
which is what we will do right now.
-
Not Synced
So, if we navigate back to our Issues page
-
Not Synced
and click on the Labels header,
-
Not Synced
and then let's see everything
that is maybe, in progress,
-
Not Synced
that is also critical.
-
Not Synced
So if we click the Labels header again,
-
Not Synced
we can see
that these filters are additive.
-
Not Synced
So, this is terrific because there's
nothing in progress that's critical.
-
Not Synced
But it could be bad, because there could
be critical issues in the Backlog.
-
Not Synced
So, lets take a look and see
if there's anything critical
-
Not Synced
in our Backlog.
-
Not Synced
So, nothing there,
so that's definitely good news.
-
Not Synced
So you can see how you can use
these Labels to kinda filter
-
Not Synced
your Issue list down,
and manage a large number of Issues,
-
Not Synced
in a very small way,
-
Not Synced
to kinda focus in on where
you want to work.
-
Not Synced
(silence)
-
Not Synced
So, another thing we can do with GitHub
-
Not Synced
is we can manage those Labels in bulk.
-
Not Synced
Which is really helpful, right?
-
Not Synced
Because you wouldn't necessarily want
to go into every single Issue,
-
Not Synced
just to change one Label on say,
60 different Issues.
-
Not Synced
So if you use the check boxes
to the left of the Issues,
-
Not Synced
you can select multiple Issues,
-
Not Synced
and then you can assign a label
to all of those Issues.
-
Not Synced
So for instance, if we wanted to mark
these as In Progress
-
Not Synced
We could click In Progress and it would
add that Label to any of the Issues
-
Not Synced
that don't already have it.
-
Not Synced
And you can do this for unassigning
Labels as well.
-
Not Synced
Another thing we can do
when we select multiple items,
-
Not Synced
is we can assign multiple items
to a particular user.
-
Not Synced
So this is one thing that's helpful
-
Not Synced
if you have several issues
that have reached an end point
-
Not Synced
where they need to be escalated
to a different user.
-
Not Synced
For instance, if all of these Issues
need to be viewed or managed
-
Not Synced
by GitHub Teacher now, instead of both
GitHub Teacher and GitHub Student
-
Not Synced
you could click that and it would
reassign those Issues,
-
Not Synced
uh, it should,
-
Not Synced
to Git Hub Teacher.
-
Not Synced
But it looks like anything
that was assigned to GitHub Teacher
-
Not Synced
has now been unassigned.
-
Not Synced
But again, you can use
the Bulk Add feature
-
Not Synced
to go in an reassign it to GitHub Teacher,
-
Not Synced
and in this case GitHub Teacher will get
an email notification on GitHub
-
Not Synced
that they have been assigned
to this Issue.
-
Not Synced
One more way that we can manage our tasks,
-
Not Synced
over on the right-hand side
of that top bar we have a Sort option.
-
Not Synced
And it let's us sort by a couple
of different criteria.
-
Not Synced
So, we can sort by newest or oldest.
-
Not Synced
So this is a great way of letting us see
what's coming in.
-
Not Synced
If we sort by newest, we can see these new
Issues that have come in.
-
Not Synced
If we sort by oldest, we can actually see
the Issues that have stuck around
-
Not Synced
our Repository for a long time.
-
Not Synced
So maybe if there are Issues there
that aren't getting resolved,
-
Not Synced
we can sort by that and see
what's been here the longest.
-
Not Synced
Another way we can sort is by
Most or Least Commented.
-
Not Synced
And a great way to use this,
is for instance, if you see an Issue
-
Not Synced
that has a ton of comments on it,
but it's not really progressing,
-
Not Synced
that might be an opportunity for maybe
potential conflict resolution.
-
Not Synced
Maybe people are talking about an Issue
that needs to get resolved,
-
Not Synced
but nobody has really moved
that Issue forward.
-
Not Synced
So that's a great way to drill down
into those Issues
-
Not Synced
that a lot of people are talking about
but not necessarily solving.
-
Not Synced
Alternatively, if you sort by Issues
that don't have a lot of comments,
-
Not Synced
that means that those Issues are maybe
not getting the attention they deserve.
-
Not Synced
Maybe you need to @ mention somebody
-
Not Synced
in some comments and say hey,
can you guys weigh in on this.
-
Not Synced
And the final way we can sort,
-
Not Synced
is by Recently Updated,
or Not Recently Updated.
-
Not Synced
And this is a great way of seeing
which Issues are active
-
Not Synced
which have a lot of activity on them,
-
Not Synced
and also which activities don't have a lot
of activity on them.
-
Not Synced
Again, maybe they're kind of stale,
-
Not Synced
and they need to be moved forward.
-
Not Synced
So, we'll mention GitHub Student here,
-
Not Synced
and we'll ask GitHub Student
to work on this.
-
Not Synced
(Silence)
-
Not Synced
So let's go ahead and take a step back
and talk about what we're working toward,
-
Not Synced
in a bigger picture view.
-
Not Synced
So we've kinda drilled down
into the way that you can manage
-
Not Synced
individual tasks on Issues.
-
Not Synced
But now if we wanna step back and look
at our larger goals or our objectives.
-
Not Synced
We use a feature called Milestones.
-
Not Synced
So, if we click the Milestone link,
on our Issue,
-
Not Synced
we have a couple of different Milestones
-
Not Synced
I guess we just have one Milestone here,
its our Third Edition.
-
Not Synced
So, Milestones let you organize
your Issues into groups
-
Not Synced
that satisfy objectives
within a particular timeframe.
-
Not Synced
So this kind of dovetails nicely
with project management in general
-
Not Synced
because that's a typical workflow
that you would have.
-
Not Synced
You'd have milestones that have to be met
-
Not Synced
with a certain amount of work
that has to be done, by a deadline.
-
Not Synced
So let's go back to our Issues list,
-
Not Synced
and up at the very top
we'll click on Milestones,
-
Not Synced
and get a better view of this.
-
Not Synced
So, in our Repository we have one
open Milestone called Third Edition.
-
Not Synced
And what we're using Milestones
for in this case
-
Not Synced
is to manage publication editions
of our cookbook.
-
Not Synced
So in this case we have four open Issues
-
Not Synced
that need to be completed
by March 21st of 2015.
-
Not Synced
So if we click on Third Edition,
-
Not Synced
this will drill down in and apply filters
so that we can see all of the Issues
-
Not Synced
that are assigned
to that particular Milestone.
-
Not Synced
So we have our Lemon Ice Box pie
directions are missing steps,
-
Not Synced
the recipes are showing up duplicated,
-
Not Synced
there's a request to add more side
dishes with vegetables.
-
Not Synced
So let's say that Holiday Punch Issue
down at the bottom,
-
Not Synced
that's in our Backlog right now,
-
Not Synced
but maybe that's too much work for us
-
Not Synced
to get into this Milestone
by mid-March here.
-
Not Synced
So what we can do,
-
Not Synced
is we can change that Milestone,
-
Not Synced
and what GitHub let's us do
is actually create a Milestone on the fly
-
Not Synced
from this page right here.
-
Not Synced
So if your Milestone doesn't exist
you can type in the name,
-
Not Synced
so we'll say Fourth Edition, perhaps.
-
Not Synced
And if you'll notice GitHub automatically
gives you the option to create and assign
-
Not Synced
this Issue to a new Milestone,
which is a terrific shortcut.
-
Not Synced
So if we go back to our Issues page
-
Not Synced
and let's go back to our
Milestones page again,
-
Not Synced
and take a look.
-
Not Synced
So we now have our Third Edition
and our Fourth Edition Milestones.
-
Not Synced
So we can click into our Fourth Edition.
-
Not Synced
Oh I'm sorry, let's go back into our
Milestones page.
-
Not Synced
We'll click Edit under our Fourth Edition.
-
Not Synced
So if you'll notice when you create
a Milestone you can create a title,
-
Not Synced
and add a description,
and you also have an optional due date.
-
Not Synced
And the description itself
is optional as well,
-
Not Synced
but its helpful to add it
because again,
-
Not Synced
coming back to project management
-
Not Synced
we're always looking to increase
communication,
-
Not Synced
just to communicate our goals clearly
and transparently.
-
Not Synced
And so we see that deadline
has now updated.
-
Not Synced
So one way to apply this, you know,
depending on the context of your project,
-
Not Synced
you know, if you're working
maybe in an agile environment,
-
Not Synced
you might use Milestones to organize
your Issues into sprints.
-
Not Synced
So you could have a sprint for the month,
or for the two-week period.
-
Not Synced
However you have it organized.
-
Not Synced
And that let's you as a project manager
come in and see what types
-
Not Synced
of Issues still need to be completed
for that particular sprint.
-
Not Synced
(silence)
-
Not Synced
And then again, if you have completed
all of your Issues,
-
Not Synced
you can always close a Milestone.
-
Not Synced
And then if we go
over to our closed section,
-
Not Synced
we can see all of the Milestones
that we've closed out.
-
Not Synced
In this case, it looks like
there are a few Milestones
-
Not Synced
that didn't get completed
-
Not Synced
and that's okay
for demonstration purposes,
-
Not Synced
but again this let's you see
-
Not Synced
what was completed and what wasn't.
-
Not Synced
So its a nice way of looking at your work
at a higher level.
-
Not Synced
And so with Issues, we've looked at ways
to manage the work that needs to be done.
-
Not Synced
Right? So, I'm gonna turn it back
over to Cynthia,
-
Not Synced
and now we're going to explore some
of the ways the work is being done.
-
Not Synced
(Cynthia) Great, thank you Allen.
-
Not Synced
So we're gonna jump over now...
-
Not Synced
we've reviewed what to do when we
don't know how to fix the problem
-
Not Synced
but now let's take a look at what to do
when we do know how to fix the problem.
-
Not Synced
Maybe its something really simple,
-
Not Synced
You know, I'm a project manager, I can add
instructions to a recipe,
-
Not Synced
So, I don't need someone,
a developer to do that for me,
-
Not Synced
I can actually go in and fix this problem.
-
Not Synced
So let's go back to that recipe,
that didn't have instructions,
-
Not Synced
and we can find that in our Issues.
-
Not Synced
And we can see that its our Lemon Ice Box
pie that's missing directions.
-
Not Synced
So we're gonna keep in mind
-
Not Synced
that we have an Issue
open on this for just a second,
-
Not Synced
and let's navigate over,
using our code view,
-
Not Synced
let's navigate to that
Lemon Ice Box pie recipe.
-
Not Synced
So we're gonna click on recipes,
go to desserts,
-
Not Synced
grab our Ice Box pie.
-
Not Synced
Now you can see here
this is the actual file,
-
Not Synced
its again written in Markdown
-
Not Synced
GitHub allows you to write all of your
content in Markdown
-
Not Synced
and then it uses Jekyll to display
those on the web for you.
-
Not Synced
But in this case, we're just going to edit
this Markdown file.
-
Not Synced
So you can see that on the top bar there,
there's a pencil,
-
Not Synced
and we're just going to click that.
-
Not Synced
And here's our nice Markdown,
-
Not Synced
again you can see some other formatting
options with Markdown here,
-
Not Synced
you've got the double asterisks
which provide the bold text,
-
Not Synced
the triple hashmarks,
which create a third level heading.
-
Not Synced
So let's go down here to the preparations
-
Not Synced
and oh yeah, we definitely need
to fix these.
-
Not Synced
Put all the ingredients for the crust
together and bake it.
-
Not Synced
I think we're missing a couple of steps.
-
Not Synced
So let's make sure that we also combine
the ingredients for the filling,
-
Not Synced
and put those in the crust
before we bake it.
-
Not Synced
(Typing sounds)
-
Not Synced
Perfect. So now that we've made
some changes,
-
Not Synced
the nice thing about GitHub
is that its going to version control
-
Not Synced
everything that you do.
-
Not Synced
So, we've created a new version
of this document.
-
Not Synced
In order to save that and put that into
version control,
-
Not Synced
we need to commit these changes.
-
Not Synced
So, it's really nice, GitHub knows
that we've made a change to this document,
-
Not Synced
so it's automatically gonna give us
the option to commit those changes
-
Not Synced
right here, you don't have to go
anywhere else to do it.
-
Not Synced
So, it even is nice enough to give you
a recommended title for your commit
-
Not Synced
so this is where you're going to put
a descriptive title there,
-
Not Synced
so that everybody else knows
what you did in this commit.
-
Not Synced
So for this commit I'm gonna
say something simple like
-
Not Synced
'added preparation instructions'.
-
Not Synced
The extended description is optional
you don't need to use that
-
Not Synced
we are not going to use it today.
-
Not Synced
And then I want you to notice
at the bottom
-
Not Synced
there's two different changes, er,
two different options.
-
Not Synced
Notice that the first option says
that you can commit directly
-
Not Synced
to the GH Pages branch.
-
Not Synced
Well we haven't talked
a lot about branches just yet,
-
Not Synced
but essentially the branch
is the set of code.
-
Not Synced
And for this particular example GH Pages
is the set of code that's displaying
-
Not Synced
on our external website.
-
Not Synced
So if we commit this directly
to the GH Pages branch,
-
Not Synced
then its gonna go live right away,
-
Not Synced
and everyone who's visiting
our recipe website
-
Not Synced
will see the changes that we've made.
-
Not Synced
Well we don't quite want to do that.
-
Not Synced
We actually want to have some other folks,
-
Not Synced
maybe our cooks are going to look
at the recipe, and make sure
-
Not Synced
that we got this right.
-
Not Synced
So what we're going to do instead
is we're gonna create a new branch.
-
Not Synced
What a new branch does
is it isolates these changes
-
Not Synced
from our live code