Github is a cloud-based repo used by millions of developers to host, refine, and get feedback on their projects. However, the sheer amount of time tracking challenges makes it difficult for enterprise teams to get into.
As a project manager, you need to make accurate estimates on how long it will take your team members to complete a project. And for that, you need constant data on how developers manage their time around different tasks.
So how do you achieve that as a Github user? In this article, we’ll look at how historical time tracking can empower you to make better estimates and manage your time more effectively. We’ll also show you how you can use tools to improve your Github estimates using automation.
Step 1: Determine Your Project Complexity
Always use a grading system to indicate how complex a project feels at the onset. Grading your projects helps to categorize them and enables you to manage your time more efficiently.
At this stage, you don’t need to have a detailed understanding of the project scope. Just take a look at what you have to accomplish and assign a basic grade. That’ll help you plan things as you move further down the line.
Dave Snowden’s Cynefin Framework for IBM is a great example. You can categorize every new project as “obvious”, “complicated”, or “complex” to help you differentiate between the amount of time and effort it will require.
The framework was originally developed for management executives, but it can just as easily be used in software development. After all, we face a lot of the same challenges.
Step 2: Establish a Scope for Development
Once you have a general idea of the complexity of your project, it’s time to develop a proper scope by breaking it down into initiatives, epics, and story points. These are different units used in agile methodologies to track the progress of software development.
A story is a user request that leads to a new feature or enhancement for your software. Stories are simple tasks that can be completed within a sprint.
Epics are a collection of user stories denoting a larger chunk of work. In the same vein, initiatives are collections of epics that drive towards a common goal.
By breaking down a project into smaller components and dependencies, you can easily track the time taken to complete each task. You can also get a better idea of what needs to be accomplished, verify your initial complexity estimate, and assign roles within your development team to take on different functions within the product roadmap.
Step 3: Create a Time Tracking Baseline
You can rely on guesswork to offer ballpark estimates to clients and managers, but doing so can lead to missed deadlines and frustration. We’ve all been there, and a much better way is to rely on past data.
Historical time tracking means tracking time across current projects and using that information to provide accurate estimates for future projects. If every developer on the team logs their hours using a time tracking tool on a regular basis, it will help you develop a baseline for future work.
You can use 7pace to track progress and log hours on your Github account. Just click on the “Start Tracking” button to begin logging hours for any work item in Github. 7pace shows you exactly how long it’s taken your team to resolve each issue on Github.
Once you’ve developed a baseline by gathering enough time tracking data from different projects, you’re ready to make better estimates by reviewing your overall pace.
Step 4: Improve Your Estimates Using Pace
For every work item that you have on Github, make sure to calculate your “pace”, which is the ratio of your original estimate versus the actual number of hours tracked for that work item. This allows you to get a clear view of your progress and your overall productivity.
Tracking your pace lets you understand if your team’s estimate is above or below their actual working hours. This, in turn, lets you compare data to make better estimates for future projects.
According to Joel Spolsky, developers don’t necessarily need to worry about improving their time tracking estimates themselves. As a trend begins to emerge, it will help project managers leverage past tracking data to offer better estimates for similar projects in the future.
Both individual developers and project managers should have access to this data so that they can reference the current pace of the entire team to make productivity enhancements over time.
Step 5: Add Necessary Risk Buffers
Setbacks and time-eaters are two things that are often responsible for putting your tasks in the backlog. If you don’t account for them in your project estimate, you can easily end up missing your deadlines and causing dissatisfaction among clients.
Time-eaters can be things like team meetings, communication gaps, and productivity drops that cause a delay in your project. You’ll be surprised how often we don’t account for these!
Apart from time-eaters, a number of potential setbacks such as failures in new technology and internal conflicts within your team can further delay the project’s timeline.
Generally speaking, you should add an extra 20% to the project timeline for time-eaters and another 5-25% for potential setbacks depending on project complexity. That will make your calculations more accurate.
How to Navigate Time Tracking Challenges in Github
Github is a repository first and a project management tool second, which explains why it lacks in-depth time tracking features for teams. But for developers who live and breathe Github, being able to track your time within the app is a must-have feature.
After all, most developers get paid in billable hours and need this information to generate accurate invoices after each project.
Project managers need time tracking information too — so that they can offer accurate estimates and create better deadlines for clients at the start of a new project.
Using your computer’s built-in stopwatch might just work in a pinch, but it’s no long-term solution for professional coders and project managers. That’s why you need a tool that helps you track your time right within Github. That’s where we come in.
Use Time Tracking to Develop Better Project Estimates in Github
Now that you know how to make more accurate timeline estimates in Github, you’re ready to choose the right time tracking tool for your team.
Sadly, time tracking solutions are often built as an afterthought rather than as an integral part of your management tools. But at 7pace, we are a team of coders and developers who’ve created an integrated time tracking solution just for software managers.
And our time tracking solution doesn’t just tell you how long your team has been working on a project, it gives you context by tracking time directly against each issue so that you can tell exactly how long you spent on customer meetings, bug fixing, support calls, and so on.
7pace is one of the most user-friendly time tracking addons for Azure DevOps, now coming to Github. We are clearly biased about our baby, but that’s because we worked very hard to build a solution that displays all the necessary metrics in a way that feels almost native to Github.
Want to learn more about 7pace for Github? Sign up for the beta release of our Github program to get early access ASAP!
By submitting this form I confirm that I have read the privacy policy and agree to the processing of my personal data for the above mentioned purposes.
Time tracking can actually be valuable for your team and your organization. But first, you and all your team members need a complete shift in the way you frame time tracking as part of your work.
Sign up for our newsletter and get your free ebook!
Free eBook
Thanks for subscribing!
Click the download button to receive your free copy of Rethinking Timekeeping for Developers:Turning a Timesuck Into Time Well Spent