If you’re a founder, product manager, scrum manager, or technical lead working with a team of developers, you know it’s not always easy to add Agile methodology to their workflow. This is especially true if you try to get developers to use software they don’t understand, think they need, or want to use.
We’ll let you in on a little secret: developers hate being forced into a project management approach. In a perfect, pristine world, developers could focus just on writing code and nothing else. They get that there are other people involved; designers who create digital assets for us, writers who spin words that capture the work we’ve done. Even marketers, we suppose, need to be kept in the Agile loop.
But we hate having to use an entirely different system on top of coding, git commits, and pull requests.
If the developers on your team feel the same way, don’t try to herd cats; instead let them use one of the tools they know and love: GitHub.
So how can you add Agile methodology to your source control tool and keep your developers happy?
Use GitHub’s Agile Projects
Since October 2016, GitHub has offered a way to track GitHub Issues, Pull Requests, and Notes, with Projects. GitHub Projects let you have kanban-style boards for managing work, and cut across separate code repositories. This lets you round up, say, all the tasks for your next sprint and list them in one place.
GitHub Projects are great for developers because they are an extension of what developers are already used to: GitHub Issues and Pull Requests. When developers finish writing code to fix a bug reported via an Issue, the message they wrote to summarize what they did can automatically close an Issue once it’s live. This means you don’t have to poke your developers to keep the project management app up-to-date; it’s already done.
What’s more, GitHub Projects let you group Issues and Pull Requests (which are code waiting to go live) by Milestone. Let’s say you have a first-quarter release that’s important to sales and marketing. Developers will be able to report the status of their work in detail through Issues. This allows everyone else on the team, or other teams, to see their progress by viewing Milestones.
If you’ve ever used Trello, working with GitHub Issues (like Cards) and Projects (like Boards) will be very familiar to you. Let’s take a closer look at how Github Projects work.
Creating GitHub Projects is easy:
1. Log into your company’s GitHub account.
2. Go to the “Projects” tab.
3. Give your new project a name, a description (optional), and start with the “Kanban (Basic)” template.
4. Click “Create Project.”
5. Your new Project will open, with a handy set of instructions on the left, and Issue cards, which you can drag into their proper places, on the right.
6. Continue to add issues that you want to track (such as the resized logo you need for the next release) into the Project. You can search for existing (open or closed) Issues, or add notes. GitHub Notes are hard to find in the documentation, but easy to create once you know the trick: click the + next to the ellipses to the right of a Project columns’ name.
Make GitHub Projects more Agile with ZenHub
As nice as GitHub Projects are, they’re missing one really important Agile methodology ingredient: Epics.
In Agile methodology, Epics are bigger than single user stories, sometimes bigger than any one sprint or iteration. For product managers, founders, and executives, they’re the things that matter most.
Unfortunately, GitHub doesn’t have Epics (neither does Trello, out of the box). But there’s a neat service for GitHub called ZenHub, that adds Epics, enhances Projects, and adds a number of very useful reports to GitHub.
With ZenHub Epics, you can organize a bunch of User Stories in the form of Issues into a single coherent whole; scheduling it, tracking it, and measuring its progress.
Not having Epics as part of your Agile toolbox can hurt your team. If you use Trello, but not Epics, each sprint will fill up with small issues and improvements. Meanwhile, the big things, the things that matter most and that would normally have been captured as Epics, will not be addressed fast enough.
ZenHub does more than Epics for its approximate $5/month per seat price tag. It can actually predict delivery dates so you don’t have to do the math, and delivers management-ready release reports.
And for your developers, ZenHub offers burndown charts to show progress made towards completing a Milestone.
Zenhub also has a host of other features that can help you introduce Agile methodology to your GitHub projects, including:
- Planning poker: A technique used to gamify the estimation of effort and size of development goals. Often, you need to use a separate app to do this, but ZenHub has built-in features to allow this.
- Automated sprint planning: Don’t want to spend hours in sprint planning meetings? With ZenHub, you can automate that work so you can focus on hitting development milestones as you de-clutter your calendar.
- Automated workflows: Few things are as frustrating as having to duplicate recurring tasks and projects. In ZenHub, you can leverage automation to take that frustration out of your daily work.
Use Trello instead
GitHub and ZenHub are great solutions when your Agile team is mostly developers. But what if they’re not? What if most of your cross-functional team are people who don’t think like developers? Or you don’t want to complicate the software development process with issues from other teams, that have nothing to do with software development?
Trello makes for an excellent Agile management tool for teams more interested in results and process than management reports. With it, and a consensus around how your team will use this tool, you can orchestrate both simple and robust Agile projects.
Trello straps rockets to a kanban board: you can have as many boards, lists and cards as you need. You can add information, links, and integrations to cards, and move cards from list to list and board to board as needed. Here’s a great Agile starter board you can use as a template.
Most Agile project management tools have a product backlog list for defined tasks, a sprint backlog for the tasks enumerated for this sprint, and a current sprint for tasks in progress. But if this structure doesn’t work for your style of Agile management, Trello lets you set up your own lists as you see fit.
Your team members are free to create and edit cards, adding comments, checklists, due dates, tags, and notes — essentially having all the conversation that’s needed about a specific task. Trello will make sure everyone is up to date, log comments, and alert team members when they are mentioned in any card. Three things make Trello particularly well-suited for Agile management:
- Chrome browser extensions: Such extensions can add specific features to Trello. For example, they can create functionality for creating task points, tracking time spent on tasks, generating Gantt charts, and exporting cards.
- Power-Ups: There’s a wide variety of powerful integrations available for Trello, including integrations with GitHub. Everything from adding calendar views, to including custom fields that connect to Google Drive documents. The Power-Ups are great for your developers, who may be feeling a bit left out.
- Agile features: Trello Agile documentation, examples, blog postings, and use cases demonstrate why Trello is an excellent platform for Agile management.
But what if you want both?
Trello is a great Kanban tool, but what if you really don’t want to give up GitHub’s robust version control features? Well, it turns out there’s a way you can get the best of both world. Developers who want to stay in GitHub can do so, and leaders who want to use Trello to track a project’s progress can do it. How?
By using Unito. Unito is a workflow management platform that gives you the ability to use the tools you need while streamlining your workflow. All it takes is a few clicks:
Add a block of work for Trello and GitHub
Use flows to connect your blocks.
Customize your flow.
And you’re done! Now pull requests, issues, and comments can be pulled from GitHub and added to your Trello board automatically. Additionally, any comments or updates made in Trello will be carried over to GitHub. With just a couple minutes, you’ve made it possible for everyone to use the tool they need. Want to know more about what Unito can do for your workflow? Check it out here.
Case study: handling development work across GitHub and Asana
Amanda Martinez and the team at Chromatic had a problem. A big, tough tool silo. See, not only is the team responsible for their own platform, but they also maintain Storybook, an open-source tool for streamlining the development of UI components. That means a lot of moving pieces and potential security concerns. While the development work happens in GitHub, Chromatic’s managers use Asana to plan their projects and track milestones.
Before they started using Unito, the people at Chromatic had to jump back and forth between Asana and GitHub constantly. Developers were using GitHub projects to track their work, but no one else was. That meant every update in GitHub had to be copied over to Asana, and vice-versa.
Now that they use Unito, the team at Chromatic can stay aligned across tools. They can get back to the work that actually matters instead of wearing down the C and V keys on their keyboards.
Want to know more about how Chromatic made open-source GitHub project management work? See the full case study here.
Want to see how it's done?
Get the full case study to see how Chromatic transformed their workflows.