Episode 2! Project Management 3.0
Next article! You haven't read the previous episode? It is the next one!
Managing a project with GitHub
The GitHub interface is easy to use and provides all of the tools required to manage a project. From management of resources, to sprint planning, to code management, there is no need for any additional tools.
Team management made simple
It’s very easy to create teams, add developers and assign them to one or more projects.
Issues, for doing everything
An issue is like a ticket, and may cover functionality, bugs, improvements, questions etc.
• An issue may have tags such as: feature, bug, improvement, design, question, etc.
• An issue may be assigned to one or several members of the team.
• An issue has a description and everyone can discuss it, add comments, ask questions and so on.
Milestones for each sprint
Stages can be created called milestones, which represent the sprints. Each sprint has a start and end date and contains a list of issues to be dealt with. The percentage of work completed is updated automatically as the issues are closed.
A Kanban board, for an overview
This can be used to help organise the sprint, to check rapidly on the tasks that are in progress, those that have been completed, and to see who is working on what.
Readme and Wiki, to document everything
The readme of a project sets out all of the important information before starting. It allows you to know where to start and gives quite a precise idea of the overall operation. The wiki allows you to go a bit further into the details.
Graphics, for easy analysis
These enable you to have an overview of the work on each project, including, amongst other things:
• Contributions, by developer
• Code frequency, by day/week/month.
• Table of commits, by branch
Pull requests, to keep code separate
Using pull requests, developers each work on their own version of the code and there is no risk of breaking the master branch which contains the production code. So, after thoroughly testing their code, the developers send a request to the person managing the master branch to add their modifications. The code is now analysed automatically, then manually, before being added or rejected.
Searching the project
The search field allows a term to be searched throughout the project. It can be filtered by issues, tags, commits, code, wiki etc.
Using just the one tool for all of the aspects of a project is a real advantage. GitHub offers a limited number of functions, but includes the essentials, and everything works perfectly.
Conclusion? As simple as:
• Use GitHub to manage your projects.
• Use Scrum sprints!