For the last couple of weeks I've been checking out all the new features in GitHub.
GH is getting alot of attention this year and last month's GitHub Universe was a great place to catch up on all of this.
I've had a GitHub account since 2015 and bounced across using BitBucket, GitLab, GitHub.com & Enterprise and of course Azure DevOps (these are the main tools used for source control).
This post is about the new GH Issues / Projects Beta features and a comparison with Azure Boards to see if it's time to make the switch.
The part of GH which always felt a bit lacking was work tracking, as by inception it was always a tool for coders rather than product/project managers.
Issues are not just bugs or "something's broken!" but can be ideas, tasks or feedback on whatever is being built in the repo. They are managed as simple lists with some basic fields like assignee, label and milestone (group issues towards a date).
The focus here is on the code and discussion around it, as opposed to the planning and prioritisation of the work to be done.
Moving this space forward GitHub have relaunched Issues with a new focus on project planning for developers whilst still remaining 'close to the code'.
The premise is to make it as flexible as possible, allowing teams to create processes that suit them, rather than having to fit in with what the tool lays down.
Their focus is 3 main themes of software development, for each of these GH have released primitives to support each one:
- The Feature = Roadmap views
- The Time Window = Date field
- The Tempo = Sprint field
These views & fields are all customisable and bring much power to the tool.
So what's new?
The key takeaways 🥡 are below👇
The interface load time is like ⚡ and changes are asynchronous without clunky page reloads. You can navigate through the UI rapidly with the keyboard and it feels robust & responsive.
When you create a New Beta project it's (currently) separate from any repo, so is in effect a view across all of your GH repos and issues. You can keep these private or make them public.
Back to the Spreadsheet
The product managers at GH have really done their homework and found that lots of teams end up going back to spreadsheets when their tracking tool doesn't suit their needs.
So the default view is Table (a bit like Google Sheets), where you can draft your backlog of ideas before converting them to issues or search for existing issues or pull requests.
Field of Dreams
A project comes with some default fields, you can then create your own fields and values to suit your project needs. You can change everything!
Try spicing things up by using GitHub emojis - like WhatsApp this can get addictive! 🤔 😛 🤐
For example, here's my animal version of T-Shirt size story points for effort, just create whatever theme works for you & the team:
The project allows realtime editing so the backlog is literally alive! You can see new issues and field updates as you and the team get to work.
Command & Conquer
The new Command palette is very slick - Hit Apple Key/Ctrl & K and you can run all the commands you need.
Switch layout to Board to get the good old Kanban view we know & love for our stand ups!
Looking a bit like Trello, here you can customise the columns to suit your team, apply filters and grouping then save as a new view/tab.
This is a great way to see sprints, releases, blockers or whatever view you want all based on the fields you define.
This reminded me of Power Automate, super simple workflows that update the status field based on an event. A tidy way to automate some project management housekeeping.
Custom workflows on the roadmap will blow this wide open as they will be able to trigger other GH Actions!
Break it down
Finally, the Issues now have improved task lists with progress indicators.
As you create the tasks within an Issue they become tracked in the parent issues and can be converted into Issues if needed.
GitHub issues have come a long way, so now let's take a look at how this matches up to the Azure PM tool👇
I posted about Boards in my 1st blog post here so won't go into too much detail.
It's the project tracking tool of Azure DevOps (ADO).
Work items make up the core of the ADO tracking system, there are a lot available.
The work items you get depend on the project process you choose (agile, scrum and CMMI), as with GitHub these are fully customisable but only at the process level.
Epics and features reflect the business focus, user stories, tasks and bugs are related to the development.
Azure Boards provides 3 backlogs out of the box:
- Portfolio: higher-level backlog of epics and features
- Requirement: more detailed backlog with user stories/product backlog items and bugs
- Iteration / Sprint: task-level backlog for each time-boxed iteration/sprint
There's much more hierarchy here than GitHub projects, so it's well suited to large enterprise projects that need to show very high level Epics broken down into Features and User Stories.
These show the schedule of epics, features and sprints on a calendar view. It's all based on the start & end date of the work items. Really useful helicopter view of the project.
Head to Head
|GitHub Issues||Azure Boards|
|UX||Modern, fast & robust||Showing its age|
|Work items||Issues & tasks lists||Epics, Features, Stories & Tasks etc|
|Reporting & Dashboards||No||Yes|
|Workload & Capacity||No||Yes|
|Timeline||Build your own||Delivery plans|
|Automation||Workflows||Rules on work items|
|Testing tools||No||Test plans|
Logging back into ADO after GitHub does feel like entering an old era of UX, the command palette and lightning speed in GH really brings this home.
Azure Boards still has the more 'enterprise tools' of built in sprint planning, burndowns, estimation, capacity and reporting which is not there yet in GH.
It depends if the vision for GH projects is to become more of an Agile PM tool (like Jira, Asana or even Project Online 🤔) or stay true to its origins and be closer to the code for the devs.
The public roadmap shows alot in the pipeline (insights & timelines will be a game changer).
I really rate the new GitHub Issues beta and would recommend it for any new projects. You can get stuck in knowing lots of new features are coming soon.
For larger & existing projects it's a probably a safer bet to stick with Boards for now, until GH catches up.
In the Azure world GitHub is definitely the future 👇 Thanks for reading 🙏