As Will Rogers put it, “Even if you are on the right track, you will get run over if you just sit there.” It’s essentially a project manager’s (PM) job to both design the track for the team and make sure they get through it. When Oursky first started 8 years ago as a 3-person team, we were our own PMs. Since then, our company has expanded to a 40-person company with offices in Hong Kong and Taiwan, managing up to 15 projects at a given time. We pride ourselves on producing high-quality products, and we’ve not been afraid to evolve as our company has grown.
The key to our success today is project management. This post will share the 5 key things that our project managers do to lead teams that build great products and have fun along the way!
What does a PM actually do in a tech company?
As with any leadership position, the PM is the first and the last. S/he is the person who starts by planning the project, getting everyone onboard, keeping them ontrack and happy, and ensuring the quality of the final product. A PM creates the best possible environment for every team member to contribute in the most optimal way for the project.
Breaking tasks into chewable pieces
The first step is to figure out the scope of the project. At Oursky, PM begins by providing an estimation sheet based on a client’s requested product and features, while also asking a designer to work on the mock-ups. The PM is responsible for figuring out the components needed in the product, and a reasonable timeline for developers to complete quality work. Once the main components, such as key features, budget, timeline, are settled on, the PM will assemble a team based on each member’s schedule and abilities (i.e. Android or iOS developer).
Once the team is assembled we work as a team to use a 360-degree analysis of the key features and issues for the product. We then prioritise them, and break them into one-week sprints.
Chief Chaser and Chief Maintainer
Another major role for a PM is maintaining communication channels. This begins with a daily stand-up meeting for all team members to touch base before they continue on their one-week sprint. Throughout the week, when individual team members are focused on their tasks, the PM’s role is to ensure that resource and help are available when they need it. We use the Github Issue Tracker, which is integrated to Trello using our in-house integration tool, Gitlo (free).
The PM also has to make sure everyone is using the tools in a standardized way. Is everyone tagging the right people? Are they updating often enough? Are the changes and tasks understandable for everyone reading? The PM has the delicate role of chasing people work effectively with others. Is someone stuck? If yes, then it’s the job of the PM to help them fix it, or find the resources to support that developer. The job of the PM is to remove the roadblocks.
Cohesion is just as important as communication. The PM’s role is to ensure that all the completed material is easy to hand off. In other words, the PM makes sure everyone is assembling their part within a well-defined architecture. In a lean startup, all members are usually aware of every stage of development, but in a mid-sized company, guidelines are needed to ensure a certain quality.
It’s not just elegant code for its own sake. Quality code means the next person can spend time improving, rather than fixing features. We don’t believe in repeating ourselves.
We’ve come up with the following guidelines for quality assurance:
- Each pull request requires a code review done by a tech lead
- Each project has at least one code reviewer assigned
- Automated lint checking, cyclomatic complexity, and test coverage.
Once we hand off, we provide the source code and Git repository to our clients for them to maintain or edit as they like. Simply put, we want to hand off our best.
Our project management tools
It’s not enough to just work with people. With so many tools available, a PM’s role is also to find the one most suitable for tracking the project and facilitating efficient communication with our clients as well.
Our favourite is still Basecamp for non-tech consulting clients and internal projects. For technical clients and our internal development teams, we use the Github Issue Tracker with our in-house gitlo.co (available for free) and Trello.
At Oursky, we are passionate about products. We’re so passionate about our products we recognised good code alone is not enough. As we evolved from a 4-person team to a respected firm with over 40 staff, we recognised the need for an additional type of person: someone who could bring people together to do what they love, and to do it well. Actually, PM also stands for people manager.
Are you intrigued by our methodology? Do you have a technical background and experience leading teams? Get in touch!