Skip to content

Github for Project Management

bb-at-raft edited this page May 18, 2020 · 11 revisions

CFPB uses GitHub to manage its technology projects and this was a great fit for Raft. We have extensive experience using GitHub and take advantage of its robust functionality which includes:

  • version management of the codebase
  • collaborative development
  • project and sprint management for user research, design, principle development, usability testing and deployment
  • issue tracking for bug and enhancement tracking
  • facilitation of communication and sharing of assets among all stakeholders, including technical and non-technical team members, as well as, internal Raft personnel and the CFPB team.

Project Management with GitHub

We have managed the Money Tools project through the Issues, Milestones and Project functions of GitHub.

Issues

The essential unit of our project is the Issue. An Issue is created in Github that holds all critical details for the inclusion of a particular User Story in the application. The Issue crystalizes what the definition of the User Story as well as the Acceptance Criteria and the Definition of Done that is necessary to close the Issue.

Communications about particular User Stories is conducted within the communication thread for that Issue. It is within the thread that updates, artifacts and progress notes are captured. All notes, instructions and feedback between the teams is also recorded here. Stakeholders, including internal Raft team members and CFPB stakeholders are easily notified that their input is requested. This type of collaborative electronic communication minimizes the need for time-consuming meetings and shortens decision-making time.

Here are two examples:

Screen Shot 2020-05-07 at 1 00 41 PM Screen Shot 2020-05-07 at 1 01 20 PM

Projects

Planning

Projects are created to house the backlog of issues necessary to complete the project. This backlog of issues are groomed and more specific details are added including tags with labels for user research, design, development, content, research. In the early planning phase of the Money Tools effort, we estimated the number of sprints that we would need to complete the first tool, the My Money Calendar. We created the Product Backlog Project and defined each sprint within the project. The description of each sprint includes the over-arching sprint goal as well as an item list of subgoals.

Part of the Product Backlog Project for My Money Calendar

Screen Shot 2020-05-07 at 12 59 26 PM

Daily Workflow

To facilitate our daily workflow, we have created a Project for each sprint. Each sprint is identified with the specific two-week sprint dates and has columns for 'To Do', 'In progress', 'Review' and 'Done.' All issues from the Product Backlog Project are added to the 'To Do' column for the appropriate sprint. These issues are assigned to team members and the sprint is kicked off.

The GitHub Issues and Projects allows us to easily implement our Agile practice. Our Scrum Master guides team members through a review of the issues assigned to them during our daily scrum. Notes are added to issues as well as artifacts (links to documents, screenshots and others) in order to give texture to the issue. Communicating in this way gives visibility to the project to all interested parties at any time. Also, approaching our projects in this team-focused way offers the best possible opportunity for success on an on-going basis.

Here is an example of one of our closed sprints for the My Money Calendar

Screen Shot 2020-05-07 at 1 37 56 PM
Clone this wiki locally