The beauty of working within an agile environment is that, in theory, you’re creating a more powerful and flexible engine to build products. The cohesion of different roles and skills gives you diverse perspective in real-time, allowing you to move quickly and stay hyper-focused on the customer’s needs. When comparing this to more traditional methods, it makes sense why so many companies move in this direction.
So, why do Agile teams still fail to hit optimal performance? According to a recent study, 86% of employees and executives cite lack of collaboration or ineffective communication for workplace failures. Communication barriers are keeping teams from optimal productivity. Product managers feel like they’re not given the visibility into the status and progress of projects - all of which is required to make decisions. Meanwhile, engineers are constantly context switching from one platform to another.
So how do you bring people back on track? How do you ensure consistent and sustainable cohesion when you’re on an Agile team?
In this post, we’ll cover why these breakdowns happen and how bringing your entire team, including product and project managers, into GitHub will curb these communication challenges within your Agile team.
Siloed systems lead to poor Agile execution
When communication breaks down across teams, it can be incredibly overwhelming to pinpoint the center of it all. Where do you even begin to untangle the web of misfired emails, mismanaged expectations, and let’s be honest - a whole host of bruised egos?
If cross-functional systems aren’t setup in a way that supports everyone, teams often take it upon themselves to structure how they want to manage their time and tasks individually. This is when you start to see product teams toss over requests and engineers toss back responses without so much as a conversation. Everything becomes siloed. Firewalls go up, and visibility dissipates. If you want to build harmonious ground again, it’s important to keep things simple and clear. You need to start with what people’s needs are and how you can address those needs through clear systems and communication.
To do this, your team must develop a shared home and language. It doesn’t mean that product teams have to master everything engineers do or vice versa, but they have to be grounded in the same systems in order to live and work together productively.
This is where technology comes into play.
The tools teams use are an extension of their job. Product managers without a project management solution would likely go mad. Engineers without development tools would, well, be out of a job. The systems you choose to implement can make or break how your team works together. When these tools are siloed, it’s like a death by a thousand cuts. Any time a team member has to cross over into unknown territory to get something done, it slows down a feature release and complicates communication. Slowly over time, these tasks eat away at your team’s ability to maintain an Agile workflow.
But when you’ve implemented a system that everyone can use together, that common language becomes stronger and teams become more fluid. But what is the right tool for this very important job? Some solutions try to pull engineers into complicated and clunky project tracking software and away from the code the business relies on for success. Should the product team instead be in GitHub?
GitHub is a great example of a technology solution that has historically felt like a home only to engineers, but today, with ZenHub, product and engineering teams alike can leverage its powerful features to foster cross-team collaboration and stay Agile.
Creating cohesion within GitHub
GitHub reinvented what it means to collaborate on code. They championed a new era of open source development, which naturally transitioned into a profitable business driven from the ground up by developers who love the platform.
If something has code, there’s a good chance it was developed or refined on GitHub. It’s where the world’s top software teams write, collaborate on, and ship amazing products. However, product managers don’t feel like GitHub is built for them. In fact, it’s rare that people would even think of GitHub as an Agile tool at all.
Product owners and project managers often feel more at home in tools like Jira, Trello, Asana. The interfaces are more user-friendly, they’re not overwhelmed with irrelevant coding tickets or pull requests, and it is a space they feel they can control.
The problem with product managers living in something like Asana and engineers in GitHub is that this often creates double work on both teams. People are bouncing back and forth between the solution they prefer and the solution of their counterparts. When engineers are required to do double duty, it decreases the amount of time they are coding - aka building and shipping product.
But when GitHub is paired with ZenHub, you can access the existing features and structure GitHub offers to transform it into a powerful, singular Agile home for your product and engineering teams.
Using GitHub for project management
Although the interface and tasks involved within GitHub can feel intimidating, the core functionality of GitHub does offer project managers an opportunity to gain transparency on ongoing product development as well as better scope for the future. An added beauty is that ZenHub lives within GitHub, eliminating the added work of other platforms. This creates a more cohesive and central home for both product and engineering teams. Here are a few things project managers can do in GitHub:
GitHub Issues = User Stories: Like a message board for your ideas, issues are GitHub’s task-tracking system, used to log bugs and scope out new features. Issues provide a place to talk about the amazing software you’re building. If you’re adhering to the User Story structure, make it your issue’s title. You can also set up GitHub issue templates to add detail or acceptance criteria when the time comes.
GitHub Milestones = Sprints / Iterations: Working in sprints? Sprints, or “iterations”, are mirrored in GitHub with Milestones. Simply set a start and end date (typically two or four weeks), and add user stories to begin sprinting. Voila!
GitHub Labels = Attributes / Fields: It can be tough to keep track for all the moving parts you’re managing, but GitHub allows you to create labels. Labels are the tagging system used to convey more information about each issue. You can filter your boards by label, allowing you to quickly see where certain tasks lie.
GitHub Projects = Kanban Boards: Leverage the Kanban boards to create a picture of project work and processes. By visualizing work this way, you can create focus, establish flow, and continuously improve.
Bringing GitHub and ZenHub together
In addition to GitHub’s existing features, you can integrate it with ZenHub to make your workflow even more powerful. An added beauty is that ZenHub lives within GitHub, eliminating the added work of other platforms. This creates a more cohesive and central home for both product and engineering teams.
ZenHub Multi-repo boards: Software projects often span across several GitHub repositories, so naturally, your Workspace tracker and reports should too. Using ZenHub, you can connect repositories together—even across GitHub organizations—to get a bird's eye view into everything going on with your software projects.
ZenHub Epics: An epic is a large collection of user stories that allows teams to keep work focused on one central goal. It includes a lot of little moving pieces that have to be well managed. Previously, GitHub users either had to jump into a third-party tool (a major distraction from the code) , or use laborious workarounds , to do what an epic accomplishes. With ZenHub Epics, teams can now create epics directly from their existing GitHub issues, then get back to work.
ZenHub Dependencies: When relying on just a list of GitHub issues and comment references to other Issues, there's a strong possibility that visibility into how these changes impact other tasks get lost or forgotten. With ZenHub Dependencies, you can manage and visualize relationships between different issues and pieces of work using Issue dependencies.
ZenHub Reports: Using GitHub with ZenHub offers your team unique reporting that you cannot get with GitHub alone. Stop relying on third-party tools that only show you when the project status was last updated. Because ZenHub is tied to code development inside GitHub, it gives you a full view of what is really going on in your workflow.
Leveraging the infrastructure of GitHub paired with advanced features of ZenHub allows your entire team to increase visibility and improve collaboration. If you're interested in learning more about the power of our integration, learn more here.