The project management landscape is filled with lots of tools and processes that can be used for a wide variety of purposes. Managing a software development operation today, however, doesn’t always lend itself to generalities. Taking in a broad view of a project to understand how all the pieces connect and contribute requires a subtle set of skills. Being able to plan work, identify obstacles, and ensure effective communications is essential for the long-term success of a team. In today’s dynamic, fast-paced industry, this is very difficult to achieve.
Project Management Landscape
Although an overwhelming number of agile project management tools are available today, each person has his or her own preference. Initially, this wouldn’t appear to be a problem, because a team can come together for a singular project and determine what tool they will use. However, due to the dynamic nature of the industry, if you or your colleagues work across different teams, you could easily end up working with multiple tools, each with different processes and terminology. Efficiency and morale plummet because teams end up spending more time and effort learning about the tools that were merely meant to facilitate their work. In larger companies, the use of multiple tools also affects communication with executives, because you now require a third view that summarizes the status of each project across all the tools. When you compound this challenge over multiple quarters/years, it becomes unmanageable.
There must be a better solution. As a software development project manager, I was looking for a tool that had the basic functionality needed for agile project management. I also wanted a tool that was:
- Easy to use
- Flexible enough to meet the needs of different teams and objectives
- Transparent across multiple projects and organizations
- Able to offer an executive-level view
- Scalable over time to ensure the team won’t need to switch tools again in the near future
As a project manager, I always try to remove personal opinion-based reasoning from the decision-making process. So, my first question was: What was the best project management tool that meets all of the above requirements? I also tried to think out of the box. What if the solution wasn’t a project management tool? What if it was a software development platform instead?
GitHub is the leading software development platform with over 22 million users. For years, my manager/technical lead, Alex Mejias, and I felt the pain of creating/moving cards in a project management tool and then creating issues in GitHub for the developers because that was where the code was managed and maintained. Earlier this year, we decided we had enough. We wanted to try and manage all the aspects of a project within GitHub itself. The switch proved to be successful because GitHub has the basic functionality of any project management tool, but it's so much more than that. The more we used it, the more we realized that GitHub met all the needs listed above. GitHub even offered additional benefits, including:
- A complete history of the project located in the same place where the project is being maintained
- Shared terminology across multiple teams and projects throughout the lifecycle of any particular project
- A tight integration of issue lifecycle with codebase changes. Pushing code to the project can automatically close issues removing a lot of manual maintenance
- The fact that most developers already have experience using GitHub due to the high-user base, which makes onboarding a breeze
- Vast amounts of documentation
Just like any other decision based on a long-term team goal, the complete value of using GitHub as a project management tool will become visible over time through the overall success of the team. Based on previous experience, I believe the benefits of using GitHub to manage digital projects for our current needs far outweigh any other project management tool. This is something new for our Chief Design Office at HPE, and we are still working through all the details. I would love to hear about other teams’ experiences so that we may collaborate and learn from each other. We invite you to join us on Slack to share stories.