A Complete Product Team
In this post we look at several key players in a complete software product team and what each of these roles is responsible for.
A product team for hire. That’s what a lot of consulting firms offer. This includes the project manager, quality analysts, software developers, software architect/analyst, designer and potentially the product manager. Often the client will provide the product manager.
We’re working with some clients on this exact structure. It’s great. And the beauty of offshoring, besides saving money, is that you can scale faster. Talent is hard to find in the United States. It’s also hard in India but it’s a little easier.
So how does a product team work? It’s similar to how product teams work across Silicon Valley and both large and small companies. Let’s break down each of the roles.
This is like the CEO of the product or project. They make the final decisions about design or functionality. Let’s use gmail as a product example. At google, I’m guessing they have a product manager in charge of gmail. They are responsible for the entire product. This includes the product development team and also sales/marketing.
The product manager manages the entire team. They lead the meetings and are ultimately responsible for the performance of gmail.
The project manager ensures things get done on time. They are also responsible for looking into the future and see what needs to be done now, what potential road blocks are there, what questions need to be answered now so that work isn’t slowed down.
They often have some technical know-how but that’s not always the case.
QAs are responsible for testing the software. They’re a part of the regular meetings from day 1 because the QA will write and execute the test plans. If there is a bug in the program, the QA needs to find it.
Once the QA finds a bug, it’s added back as a task to be fixed in the next sprint, or sooner.
And of course the software developers code the requirements. Often there are multiple developers on a product team. They’re assigned tasks by the project manager.
It’s important that the software developers understand the vision of the product and what each task means to the overall project.
The architect helps to define the requirements: what does the client want the product to do and technically how do we make that happen. For gmail, maybe we want to add a section for a calendar. If that’s the case, where will the calendar go (designer will help with this) and what functionality is needed?
Once the requirements are written for the calendar within gmail, then the developers code it and the QAs test it. Once the testing is done on the UAT server, the code is moved to the production server.
For a larger project, the architect will also write some overall project requirements around the code. The architect will design the database (sometimes a database designer does this) and establish security protocols and structure to ensure the product will be secure.
The designer along with the product manager helps to set the vision for how the product will look. The designer will also be in charge of user experience (UX). A good designer helps set the tone for a project. They’re essential. Bad design will ruin products. It doesn’t matter how well a well a product is coded. If the design is off, it won’t work.