Definition of success
On Time
On Budget
Users Are Happy
Every feature or bug has a price tag
and the client shouldn't buy them all (at once)
The price estimation is created by issue and reviewed with the client.
Issues are created in GitHub and assigned the proper time box.
Developers work issue by issue according to the time box. Sometimes they will update the time box used - sometimes they will request more time.
It is the project manager's responsibility to monitor a project's hours. We have a custom tool that we use on our end to track progress.
Using Github as a Project Management Tool
Github was created primarily as a place for development teams to manage code bases and work together. It also has some powerful project management tools. This allows us a "one-stop" location for developer and client communication, increasing overall transparency of communication.
A client's role in Github is mainly in the issue queue.
- Reviewing issues that have been assigned to them
- Looking for labels that require attention (in particular, watch out for the "needs clarification" label)
- Monitoring communication between the project manager and the developers to see that it is on track.
Other areas of Github to know about
The Project Board
This is a useful area to see what is being worked on at the moment and what is in the queue. The client shouldn't move issues around in the project board, but can note to the project manager if something doesn't look right. Some projects have a column for issues that require the client's attention.
Milestones
This tracks progress of the project at a high level and is usually connected to a release cycle or phase in the project with a due date.
Pull Requests
This is generally a developers-only zone, but there is some use to paying attention to the queue. Since it is the active space where developers are creating the code that solves issues, there will often be screenshots to document progress.
GitHub Techniques
- Assigning issues the best way to tell someone that "the ball is in your court" - essentially this issue is waiting on you to resolve it.
- Mentioning someone ("@username" just like Twitter) is the way to bring someone's attention to an issue or ask a question.
- Notifications can be a good (or annoying) way to keep on top of issues.
- Issues can be filtered according to tags, assignee, or even text search.
- Learning how to use Markdown language can be an effective way of making your issues clear.
Scrum Calls and Regular Communication
A Scrum call has three agenda items
- What has been done since the last call.
- What is planned until the next call.
- Issues that are blocking progress.
Other Types of Commuication
- A quick call to clarify an issue that can't wait until the next scrum call.
- A call/meeting to address the project timeline/calendar.
- A call/meeting to define future project phases.
- Emails should be used sparingly, and preferably only for business-related issues, favoring the issue queue for questions and clarifications.
gizra
slides available at: