< 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 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
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