< Return to Video

Webcast • Github for Project Management

  • 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 Pull 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 Pull 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 Pull 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 pull 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 Pull 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 Pull 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
    from what's displayed on the website,
  • Not Synced
    so we can make changes to the code
  • Not Synced
    maybe have a conversation about it,
    discuss what we need to do,
  • Not Synced
    but we can do that completely separate,
  • Not Synced
    so that we don't harm that code,
    that's out there on the website.
  • Not Synced
    We can even decide,
  • Not Synced
    you know what, we decided that we don't
    want to do this after all,
  • Not Synced
    and we can delete this branch
    and those changes will never go
  • Not Synced
    to the main site.
  • Not Synced
    So in this case,
    we're gonna create a branch for this,
  • Not Synced
    and call this branch
    'Updating Recipe',
  • Not Synced
    and we can go into proposed file change.
  • Not Synced
    Now the very next step its going to ask
    us to do is create a pull request.
  • Not Synced
    And you remember
    a little while ago we looked at
  • Not Synced
    that CONTRIBUTING.md document,
  • Not Synced
    well you'll notice in the yellow box here,
  • Not Synced
    you'll see some guidelines
    for contributing,
  • Not Synced
    this is where that file appears.
  • Not Synced
    So if I wanted to click on that link,
    which we won't do now,
  • Not Synced
    that's where you would see those
    contributing instructions.
  • Not Synced
    So in this case, we've made a change
  • Not Synced
    we want to have some discussion about it.
  • Not Synced
    The next thing we need to do
  • Not Synced
    is we need to ask for feedback
    from our coworkers.
  • Not Synced
    And the way we do that within GitHub
    is to create a Pull Request.
  • Not Synced
    And so you can think of a Pull Request
  • Not Synced
    as sort of pulling in comments,
  • Not Synced
    pulling in feedback
    before you make a change.
  • Not Synced
    So we have the option here to write
    a comment,
  • Not Synced
    we could perhaps put a comment here like,
  • Not Synced
    'I added some instructions
    please take a look at this'.
  • Not Synced
    There ya go.
  • Not Synced
    And so we can even, if we wanted to here,
  • Not Synced
    notice we can still drop images
    just like we could in the Issues,
  • Not Synced
    just like Allen showed us
    a few minutes ago.
  • Not Synced
    So I think this note is pretty good.
  • Not Synced
    We can go ahead and click
    the big green button
  • Not Synced
    that says Pull Request.
  • Not Synced
    So notice that GitHub has automatically
    created a conversation for me.
  • Not Synced
    It has added that original commit.
  • Not Synced
    So if you'll notice there is says
  • Not Synced
    added preparation instructions
  • Not Synced
    and there's that number
    over there at the side,
  • Not Synced
    that's the commit,
    so it saved that version,
  • Not Synced
    and it has added some comments
    so that your peers can come back,
  • Not Synced
    or so your friends can come back,
  • Not Synced
    and they can give you feedback.
  • Not Synced
    You'll notice that we have to option here
  • Not Synced
    we can immediately merge this
    if we want to,
  • Not Synced
    but we actually want some feedback,
  • Not Synced
    we want some discussion.
  • Not Synced
    So if you scroll down,
  • Not Synced
    you'll notice there's the option there
  • Not Synced
    to leave comments,
    just like you saw in Issues,
  • Not Synced
    and we can continue to comment,
    make changes to that file,
  • Not Synced
    and it'll all stay in this safe place
    in this branch,
  • Not Synced
    where we can get it absolutely perfect
  • Not Synced
    before we publish it
    to our main page.
  • Not Synced
    The nice thing about the Pull Request
  • Not Synced
    is that it also gives us the option
    to see what has changed.
  • Not Synced
    So if you go up to the top
    and you look at the Files Changed
  • Not Synced
    you'll notice that it shows you a view here
  • Not Synced
    that is the original file on the left
  • Not Synced
    then what's been added
    or changed on the right.
  • Not Synced
    So in this case we've just added
    a couple of things
  • Not Synced
    so that's highlighted in green for us
    to show that its new.
  • Not Synced
    If we had deleted anything
    it would be shown in red
  • Not Synced
    to show you what was taken out.
  • Not Synced
    So this is just a really nice way
  • Not Synced
    if someone puts a Pull Request in,
  • Not Synced
    to see what actually changed,
    what are they doing that's different.
  • Not Synced
    This is also really good in a more complex
    project to do code review,
  • Not Synced
    Where you might want to show...
  • Not Synced
    You might want to be able
    to look at the code
  • Not Synced
    and understand what's changed on that.
  • Not Synced
    You can integrate other tools with this.
  • Not Synced
    There are tools,
    continuous integration tools
  • Not Synced
    that will allow you to automatically check
  • Not Synced
    the code as soon as you submit
    the Pull Request
  • Not Synced
    to see if its gonna build or not.
  • Not Synced
    So those are some really nice tools.
  • Not Synced
    You can find out more about those at
    github.com/integrations
  • Not Synced
    So in this case, you know what,
  • Not Synced
    I think maybe we need
    more instructions here.
  • Not Synced
    I feel like putting the ingredients
    in the crust and baking it
  • Not Synced
    isn't the end of the process.
  • Not Synced
    So I'm gonna put a note
    on this line down here
  • Not Synced
    So, 'putting ingredients in crust,
    feels like there needs to be more here',
  • Not Synced
    and so by clicking on that line
  • Not Synced
    I'm able to insert a line comment.
  • Not Synced
    Again, really helpful if you're
    commenting on code.
  • Not Synced
    And again Markdown is supported here.
  • Not Synced
    You could also enter pictures
    if you wanted to into this comment,
  • Not Synced
    and then just click Comment.
  • Not Synced
    So in this case we really do need to add
    some more instructions,
  • Not Synced
    so let's go back over to our file,
  • Not Synced
    (silence)(clicking)
  • Not Synced
    and it's gonna give us the option here,
  • Not Synced
    to change it again
    using our online editor.
  • Not Synced
    So in this case we need to put
    the ingredients in the crust and bake it,
  • Not Synced
    but then we probably need
    to make that meringue.
  • Not Synced
    So let's go down to the bottom
  • Not Synced
    and let's add some instructions there
    to make the meringue topping.
  • Not Synced
    And...
  • Not Synced
    Here we go, add the meringue.
  • Not Synced
    Now you'll notice that this time
    its asking us
  • Not Synced
    do we want to commit directly
    to that Updating Recipe branch.
  • Not Synced
    So it knows because we went to this file
    through that Pull Request,
  • Not Synced
    that we're making these updates
    on the branch,
  • Not Synced
    and not on the main
    GitHub Pages website.
  • Not Synced
    In this case, yes, that is exactly
    what we want to do.
  • Not Synced
    We want to update that branch
    and we're gonna commit those changes.
  • Not Synced
    So now we're back at our view
    where we can see the difference
  • Not Synced
    between the two,
  • Not Synced
    and you can see that we've added
    this meringue topping.
  • Not Synced
    So I think this looks pretty good now.
  • Not Synced
    So let's go back to the conversation.
  • Not Synced
    And one of the things that we like to do
    to kind of sign off
  • Not Synced
    and let each other know that we think
    something is ready to go,
  • Not Synced
    is we go down into the comment field
  • Not Synced
    we love emoji,
  • Not Synced
    and so we'll enter a little +1 emoji
    to give the thumbs up.
  • Not Synced
    And Comment.
  • Not Synced
    So perfect, it looks like we're ready
    to take the next step.
  • Not Synced
    So in this example,
    let's look back up at the top,
  • Not Synced
    back up for just a second,
  • Not Synced
    we can see the complete story
    of this recipe.
  • Not Synced
    What's happened to this recipe
    since we started making changes to it.
  • Not Synced
    So we can see that GitHub Teacher added
    some preparation instructions,
  • Not Synced
    then someone made some comments
    on those instructions,
  • Not Synced
    that says we feel there should be more
    information there,
  • Not Synced
    there's been a second commit
    that added those instructions.
  • Not Synced
    So at this point
    we're in pretty good shape.
  • Not Synced
    So I feel like we're ready to go ahead
    and merge this Pull Request.
  • Not Synced
    So let's click the big green button.
  • Not Synced
    And by merging this Pull Request,
  • Not Synced
    what we are doing is we're actually taking
    this recipe now and we're moving it back
  • Not Synced
    to that main GitHub Pages branch,
  • Not Synced
    so that it will show to the world.
  • Not Synced
    So everyone will be able to see
    the changes that we've just made.
  • Not Synced
    The other really nice feature here
  • Not Synced
    is GitHub wants to save you some time.
  • Not Synced
    So if you reference that original Issue,
  • Not Synced
    so you remember we had that Issue that said
  • Not Synced
    we needed to add instructions
    to our lemon merigue pie?
  • Not Synced
    There are a few keywords you can use,
    Fixes is one of those.
  • Not Synced
    And so you can say, 'this fixes
    or this closes',
  • Not Synced
    and then you can use the hashmark,
  • Not Synced
    and you'll notice now it pulls up
    the open Issues that you have.
  • Not Synced
    So you can find the Issue,
  • Not Synced
    that's related to this Pull Request
  • Not Synced
    or the Issue that you were trying to fix,
  • Not Synced
    you can, if the list is really long,
  • Not Synced
    you can type in a word
    that you remember from the Issue,
  • Not Synced
    like we've done here so you can see.
  • Not Synced
    There's our Lemon Ice Box pie directions,
  • Not Synced
    its Issue number 32,
    I'm gonna click on that,
  • Not Synced
    and I'm gonna confirm merge.
  • Not Synced
    Now it says the Pull Request
    was successful,
  • Not Synced
    its been merged and closed.
  • Not Synced
    We don't really need that branch anymore,
  • Not Synced
    there's nothing on it, its empty,
  • Not Synced
    so we can go ahead and delete that.
  • Not Synced
    But not to worry,
    you can always restore it if you need to
  • Not Synced
    as you can see the option there.
  • Not Synced
    So let's see what's happened,
    to this Pull Request.
  • Not Synced
    So if we scroll back to the top
    of the Pull Request,
  • Not Synced
    we can see that the Pull Request
    has been merged.
  • Not Synced
    So that's done.
  • Not Synced
    But what about that Issue?
  • Not Synced
    So let's go back over to the Issues,
  • Not Synced
    and we'll have to go to Closed,
  • Not Synced
    and there's that Issue,
  • Not Synced
    so that Issue has now been moved
    into Closed
  • Not Synced
    as you can see on the right-hand side.
  • Not Synced
    So that's just a really quick walk-through
  • Not Synced
    of how you'd handle making changes.
  • Not Synced
    As I mentioned its very intuitive
    as you go through,
  • Not Synced
    it'll tell you exactly what you need to do
    for the next step,
  • Not Synced
    its just a matter of following along
    and remembering your primary steps here.
  • Not Synced
    You're gonna edit the file.
  • Not Synced
    You're gonna commit those changes.
  • Not Synced
    You're gonna create your Pull Request,
  • Not Synced
    and then after the changes
    have been finalized,
  • Not Synced
    you're gonna merge that Pull Request
    back in with the main branch.
  • Not Synced
    So with that...
  • Not Synced
    We have a few more things that we want
    to show you for managing your project,
  • Not Synced
    and I'm gonna hand it back over to Allen,
  • Not Synced
    who is gonna take you through
    how to add team members,
  • Not Synced
    and see how the team members
    are progressing.
  • Not Synced
    (Allen) Yeah. Thank you Cynthia.
  • Not Synced
    So with the time that we have left,
  • Not Synced
    I wanted to take a little bit of time
  • Not Synced
    to walk through some of the tools
    that you can use
  • Not Synced
    to manage the human resources
    on your project,
  • Not Synced
    as opposed to the code resources,
    and the tools that you have
  • Not Synced
    at your disposal.
  • Not Synced
    The first way that we can help manage
    this increased communication,
  • Not Synced
    as Cynthia said,
    is by using teams.
  • Not Synced
    So in our example
    we're assuming a few things.
  • Not Synced
    We are assuming that you have
    an organization account,
  • Not Synced
    as opposed to just a personal account.
  • Not Synced
    So if we go back to our repository
  • Not Synced
    and we click on our settings,
    over on the right-hand side,
  • Not Synced
    there's an option of Collaborators.
  • Not Synced
    And, I'll type in our password here.
  • Not Synced
    And you'll notice on our repository
    right now we have one team
  • Not Synced
    associated with it.
  • Not Synced
    So that's our owner's team,
  • Not Synced
    and in that case the owners control
    everything on the repository.
  • Not Synced
    But let's say we want to create a new team
  • Not Synced
    to kind of group people together.
  • Not Synced
    And that's one of the ways
    that groups really shine.
  • Not Synced
    If you think of teams,
    they're kind of a hybrid
  • Not Synced
    between a distribution group
    in say something like Outlook,
  • Not Synced
    and an Access control group
    from something like an active directory.
  • Not Synced
    So you can use them to control access
    to your repository.
  • Not Synced
    But what's really awesome
    is they let you group people together,
  • Not Synced
    so you can bring multiple people
    into the conversation all at once.
  • Not Synced
    In this case we gonna create
    a Vegetarians group,
  • Not Synced
    who has read access to our repository.
  • Not Synced
    And we're gonna see how you can use that
    to further a conversation,
  • Not Synced
    or put it in a different direction.
  • Not Synced
    So let's navigate back to our repository,
  • Not Synced
    I'm sorry, I jumped ahead here,
  • Not Synced
    let's add some people to that team.
  • Not Synced
    So let's go back to our settings
  • Not Synced
    and Collaborators,
  • Not Synced
    and we will choose an existing team,
  • Not Synced
    and we see Vegetarians here,
  • Not Synced
    we'll click Vegetarians and add team.
  • Not Synced
    And it looks like we have one person
    in that team,
  • Not Synced
    but we'll add them to our repository.
  • Not Synced
    And so now we'll go back to our cookbook,
  • Not Synced
    or we could add people to this team
    if we wanted to.
  • Not Synced
    Cynthia, do you want to be on this team?
  • Not Synced
    And maybe we'll add GitHub Student.
  • Not Synced
    So really easy, GitHub just autocompletes
    these names for you,
  • Not Synced
    it makes adding people a breeze.
  • Not Synced
    So now we'll navigate back
    to that PM Cookbook.
  • Not Synced
    And let's take a look at an Issue,
  • Not Synced
    and see how we can use Teams
    to push an Issue forward.
  • Not Synced
    So down here we have Issue 26 for
    "Add more side dishes with vegetables".
  • Not Synced
    So, it looks like Cynthia here
    has proposed new recipes,
  • Not Synced
    so she says maybe we should add
    some dishes with carrots, green beans,
  • Not Synced
    or maybe artichoke.
  • Not Synced
    And I commented back, and I said,
  • Not Synced
    "Well, I'm not really sure an artichoke
    is technically a vegetable."
  • Not Synced
    What would be great in this instance
    as a project manager,
  • Not Synced
    you can loop in those vegetarians,
  • Not Synced
    and say "Hey, can you guys weigh in,
  • Not Synced
    "since you happen to know a little bit more
    about vegetables in this case?".
  • Not Synced
    We can @ mention our vegetarians.
  • Not Synced
    And we say,
    "Vegetarians, what do you think?"
  • Not Synced
    And so we'll comment,
    and everyone in that distribution group,
  • Not Synced
    that team, will get a notification.
  • Not Synced
    And if you mouse over vegetarians,
    you can see who that went to.
  • Not Synced
    Its a nice way of seeing who all is on a team,
    who you actually just pinged,
  • Not Synced
    and who you can expect to hear back from.
  • Not Synced
    So the next thing I want to talk about
    is a tool called Graphs.
  • Not Synced
    And there are a lot of different pieces
    to this Graphs tool,
  • Not Synced
    but the one we're gonna look at today
    is this Contributors tab.
  • Not Synced
    This is a really great way of getting
    a better sense
  • Not Synced
    of who's doing what work on your project.
  • Not Synced
    So you can filter this graph
    a couple of different ways.
  • Not Synced
    Right now its filtered on commits
  • Not Synced
    but we can also filter it on
    Additions or Deletions.
  • Not Synced
    So if you think about Additions,
    these are people who
  • Not Synced
    were adding code into your repository.
  • Not Synced
    If you go to Deletions, the same deal,
    its people who are removing code.
  • Not Synced
    And then if you filter by Commits,
  • Not Synced
    that shows you people
    who are making changes,
  • Not Synced
    whether they're additions or deletions.
  • Not Synced
    Now, I have a tab open
    here in this browser,
  • Not Synced
    because we don't have a ton of data
    here in this repository,
  • Not Synced
    so if you see up here,
  • Not Synced
    Contributors to GitHub Training Kit,
  • Not Synced
    this is the repository
    for our public training kit,
  • Not Synced
    these are open source materials,
  • Not Synced
    we have a much bigger time line,
  • Not Synced
    and you can see how
    the activity fluctuates.
  • Not Synced
    We have a much larger group
    of Contributors,
  • Not Synced
    and so we can see who is pushing code
    into this repository,
  • Not Synced
    right now it looks like
    Jordan McCullough is our rockstar
  • Not Synced
    because he has added 236,237
    lines of code to this repository.
  • Not Synced
    Now this is a big long timeline
  • Not Synced
    but let's say we just wanted to look
    at the activity in 2014,
  • Not Synced
    from let's say, February through March,
  • Not Synced
    if we click on the graph
    and drag across it,
  • Not Synced
    the green on here at the top,
    if we drag across,
  • Not Synced
    it will actually dive down
    into that timeline
  • Not Synced
    and show you a zoomed in view
    of that particular selected timeframe.
  • Not Synced
    So if you want to examine
    some of these curves a little bit closer,
  • Not Synced
    you just drag across,
  • Not Synced
    and GitHub automatically shows you
    that timeframe.
  • Not Synced
    So its a nice way to see
    what activity is going on,
  • Not Synced
    but more importantly,
    who is doing it.
  • Not Synced
    (Silence)
  • Not Synced
    So finally, lets take a look
    at the Pulse tab.
  • Not Synced
    So we've dove down into our repository,
  • Not Synced
    we've looked at all the ways to manage
    Issues, manage Pull Requests,
  • Not Synced
    at a very highly detailed level,
  • Not Synced
    especially through the Graphs tool,
  • Not Synced
    we can dig down and see
    what those changes are
  • Not Synced
    that are actually going on in the code.
  • Not Synced
    If you think of the Pulse tab,
    its a way of stepping back,
  • Not Synced
    and viewing your project,
    sort of at a distance,
  • Not Synced
    but at a higher level so you can get
    a better sense of what
  • Not Synced
    kind of activity you have going on.
  • Not Synced
    So let's hop back over to our GitHub
    PM Cookbook repository.
  • Not Synced
    And we'll go to the Pulse tab here,
  • Not Synced
    'cause there's a little bit better
    activity going on.
  • Not Synced
    It shows you how many Pull Requests
    and Issues have been opened
  • Not Synced
    and also been closed.
  • Not Synced
    So you may use this for instance if you
    have a lot of new Issues coming in,
  • Not Synced
    but not a lot of Issues closed
    in this time period,
  • Not Synced
    you may want to dig down in and see,
    you know, what's going on there.
  • Not Synced
    Down below, it breaks these numbers down
  • Not Synced
    so you can see which Pull Requests
    and Issues are contributing
  • Not Synced
    to the numbers at the top.
  • Not Synced
    And so, as an example, let's take a look
    down at one of our open Pull Requests.
  • Not Synced
    And I'll show you how you can use
    this tool to kind of dig in
  • Not Synced
    and look at workflow issues
    that you may be encountering.
  • Not Synced
    For instance, one of these proposed
    Pull Requests,
  • Not Synced
    we have side recipes for review.
  • Not Synced
    So it's been open for four days and there
    hasn't been a lot of activity on it,
  • Not Synced
    it hasn't been closed
    since it's been opened,
  • Not Synced
    so let's see what the conversation
    is on this particular Pull Request.
  • Not Synced
    Somebody had submitted ideas
    for side recipes,
  • Not Synced
    and GitHub teacher has commented back
  • Not Synced
    and said, "Hey, I believe that Crockpot
    may be a trademarked name."
  • Not Synced
    So as a project manager we can see
    that this has stalled out,
  • Not Synced
    what we might want to do is comment back,
  • Not Synced
    and we can actually
    loop in our legal team,
  • Not Synced
    we have a legal team here
    in our cookbook repository,
  • Not Synced
    and we'll just @ mention our legal team.
  • Not Synced
    And ask them if they can weigh in and see
    if they can let us know
  • Not Synced
    just to clarify this so we can move
    that Issue forward.
Title:
Webcast • Github for Project Management
Description:

more » « less
Video Language:
English
Team:
GitHub
Project:
Webcasts
Duration:
59:32
There has been no activity on this language so far.

English subtitles

Revisions Compare revisions