Inside Belly, the tech team owns product. We focus on four or five key initiatives at a time and these projects are owned by the engineer best suited to the project. We may not have dedicated project managers, but we absolutely value project management as a skill.
We have an engineering team full of leaders, but few of us are natural born managers. So I wanted to share some of the tools that I believe make projects here successful.
In a universe where we own both the planning and the execution you can end up with some communication black holes. The project owner is responsible for solving this, they own clearly communicating and articulating the project to anyone who wants the information. Once a week we put together some notes on all active projects and share them with the rest of the company during our “leadership meeting.”
Have a Plan
Planning projects isn’t sexy, but it’s pretty crucial when your team grows passed two caffeinated zombies in a garage. Strictly defined teams don’t exist at Belly, so project owners negotiate with the other engineers to dedicate time to their projects. They do all the required research, bring together all the stakeholders, create the plan and then split the work into the smallest units possible. These tasks are assigned and due dates are negotiated. Finally everything is neatly packaged into milestones. We track all this through Asana.
Having everyone on one tool has benefits, especially when individuals often contribute to multiple projects. We use Asana the way they intended it, leaning on the power of the tool for collaboration and encouraging only light conformance to structures and tagging.
New projects start with a kick-off meeting, which brings the tech team together for the owner to present the project’s goals. A couple of slides guide the discussion, explaining the scope, and time at the end is spent answering any questions. We’ve also started record these for later reference.
Large projects can run for months, but we break them up into logical steps we call milestones. A completed plan, approved designs or even a working MVP are great examples of a milestone. The deadline for a milestone doesn’t need to fall on a Friday, it just happens at the most logical time.
The entire company works to quarterly goals. This exercise gets everyone aligned around each teams high level deliverables. Goals also ensure the different departments are working together to have a material impact on the business.
Too often we assume everyone around us knows what we’re doing, but a regular “touching base” with those working on the project can go a long way to identifying challenges early on. We prefer the standup form of meeting, and we always want the smallest and shortest meetings possible, preferably not in the middle of the day when the team is in the zone. Project owners are usually responsible for calling a standup.
Product and Design Review
We care tremendously about product and design. A weekly review group ruthlessly dissects ideas, wireframes and MVPs. An eye for great product is a craft we value as much as programming. These meetings often become rather passionate, so much like our code reviews egos are left at the door.
Due dates are contracts between people and the plan. Each project owner is responsible for negotiating task deadlines with their team and other project owners who may be sharing resources. Deadlines represent the prioritization for individuals on the team and the onus is on the individual to communicate potential delays early. Every task in a project should have a due date. Deadlines are a requirement in a highly successful team, they allow us to plan and work with other departments. They are an exercise in accurate estimation, not a tool to squeeze extra hours out of people.
We use HipChat for centralized real time team collaboration. Creating a chatroom for each project is helpful because the conversation is archived and you can read the backlog to catch up. You can @mention anyone in the team and they will be alerted even if they’re offline. The mobile apps are great for on the go collaboration. If you want to really dedicated to chat, then Hubot has helpful tricks up his sleeve too.
The cost of task switching is high, nothing makes a builder happier than the act of building. So a well run project optimizes as much as possible for time spent in the project executing on the vision. The owners of projects, as engineers themselves, respect this beyond all else. We want headphones on, and we want to be plugged in. See Wikipedia for more about The Zone.