Skip to content

Instantly share code, notes, and snippets.

@CyberKoz
Last active May 17, 2018 15:50
Show Gist options
  • Save CyberKoz/9f37f3fb274eba3bd3ca59af7267f933 to your computer and use it in GitHub Desktop.
Save CyberKoz/9f37f3fb274eba3bd3ca59af7267f933 to your computer and use it in GitHub Desktop.
GitHub Demo Storyboard

Demo Storyboard

We want to show you a few of the primitives github provides to do project management Github has a simplified workflow model, but I wanted to cover the full range of activities that you would need to do and show how some of those concepts translate into GitHub. What I am presenting today is going to be simplistic and that is so we can focus on the tool For larger projects we make a few changes, but the principles are going to remain.

This is also going to cover a lot of material and I will be moving pretty fast to cover as much as I can in the time we have, but I also want to be able to dive deep on any topic you would like. We are expecting this won't answer all your questions, and we will have to do some follow up. So feel free to stop me at any point with any questions you have

Overview

Distributed Version Control

  • Branch and Fork vs Checkout
  • Distributed vs Central

Planning

  • Requirements
  • Breakdown
  • Labels

Approvals

  • Approvals Generally happen though pull requests and the approvals associated with them
  • It is also possible to use labels and Milestones as Approvals

Scoping

  • Scoping is done with Epics, and with Milestones

Tracking

  • Milestones track progress through development

Verification and Validation

  • Branch Protections
  • Automated testing
  • GITAUTHORS protects branches

Demonstration

Create Labels

  • epic
  • user-story
  • test
  • approved

Data Set

Milestone 1

  • Epic: Site Hosting This should be a hosted web site
  • User Story: As a user I would like to access this tool on via a web browser on the public internet System shoudl be a standard web site and should be available on the public internet.
  • Test: User is able to access page from public internet [ ] Access System from Browser and validate it is accessable

Milestone 2

  • Epic: Basic TODO List

    System should be a functional TODO tracking product

  • User Story: A User can list TODO tasks

    A user can list all entered TODO tasks

  • User Story: A User can add a task to the TODO list

    A user can add tasks to the list

  • User Story: A User can remove a task from the TODO list

    A user can remove tasks from the list

  • User Story: A User can mark a task complete

    A user can mark tasks as completed

  • Test: Web page Renders

    Automated test to render web site in a browser

  • Test: Tasks are listed

    Automated test to validate tasks are listed

  • Test: Tasks can be added

    Automated test to validate new tasks can be added

  • Test: Tasks can be removed Automated test to validate tasks can be removed

  • Test: Tasks can be completed Automated test to validate tasks can be completed

Walkthough

  1. Setup the Project Shell and Basic requirements ( What is this product )
  • Add team members as collaborators
  1. Create initial PR to define the scope of this project
  • requirements file explaining basic outcome needed, allows approval of requirements
  • Create initial PR, and merge in first branch
  1. Create scoping Epics
  • Make the labels (epic, user-story, test, approved )
  1. Create our First Milestone
  • Version 1.0
  1. Scope the initial Release ( Basic HTML site served on GH pages )
  • Create User Story Tickets ( HTML website )
  • Create Test Tickets
  • Link Tickets to Epics
  • Add tickets to Milestone
  1. Deploy initial site
  • Create initial pull request ( spend extra time explaining PR interface, show comments and approvals )
  • Approve merge request ( close tickets with PR, show how they were logged )
  • Set up hosting ( may require a change to the .config.yml to force rebuild )
  • Test hosting is complete
  1. Scope the Second release ( The Working TODO app with testing and CI build enabled )
  • Three User Stories
  • Test Tickets
  • Links
  1. Protect the branches
  • Set up CI
  • Require review and CI Check ( don't require GH pages check it takes too long )
  • Show PR requiremeing successful merge of tests
  1. Deploy and View
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment