When you hire a software team, you probably have a pretty good understanding of the technical roles they need to fill: development, design, devops, testing, etc. But don’t gloss over the leadership roles—especially the ones that your team may be responsible for.
Depending on the type of project, a software team may include:
- Project Manager
- Product Owner
- Technical Product Owner
- Subject Matter Expert
- IT/Operations Expert
- Compliance Expert
Having the right leadership roles filled is absolutely essential, and the people in the roles must understand their responsibilities and have the time and attention to carry them out.
Project Manager
What do they do?
A Project Manager is responsible for keeping the wheels on the project turning. They keep the backlog in good shape and keep an eye on the schedule and the budget. They look down the road at the required resources, make sure work is ready when people are, and identify dependencies and lead times.
Who fills the role?
At Atomic, this is handled by Delivery Leads, who keep an eye on these items and coordinate with Project Managers and stakeholders within the customer organization. You can read more about our take on the role (and the other AO team member roles) as part of our Atomic Agile Process.
For projects that are entirely within a single organization, it might look a bit different.
How much time is required?
This tends to scale with the number of makers on the team. More makers lead to more questions, a bigger backlog, more stakeholders, and higher stakes.
Is this position necessary?
Yes. This work will be done by someone, whether they have the title or not. We believe it should always be an intentional assignment, to make sure the person has the capacity and authority to do the job well.
Product Owner
What do they do?
This term is used to mean many different things. In this case, I specifically mean a direction-setter empowered to make project scope and budget decisions. This person is the final arbiter of whether a feature may be accepted and whether a release is ready. The Product Owner determines both high-level things such as which user personas have priority, and low-level things such as, “Do we extend the budget or ship now?”
It’s also distinct from the Project Manager role. Think of the Product Owner as a strategic role that decides which direction to go, and the Project Manager as a tactical role that focuses on how to go there. They’re both critical, but different.
Who fills the role?
This role is always someone from the client’s organization.
How much time is required?
This responsibility involves attending the sprint reviews for a day every one or two weeks.
Is this position necessary?
Yes, unequivocally. Someone, somewhere needs to have the final say on the product’s direction.
Technical Product Owner
What do they do?
For business-to-consumer (B2C) products where a single human (the consumer) needs to be able to understand and use the tool, a Product Owner is usually enough. However, many business-to-business (B2B) or enterprise products have multiple levels of complexity: complex business rules, complex integrations, a complex deployment environment, etc.
Since the Product Owner is most commonly from the business side, it’s good to have someone to represent these other aspects. The Technical Product Owner is often from some kind of technical support or sales engineer background. They help answer questions such as:
- What browser versions do we need to support?
- Do the Unix install instructions need to be translated to these languages?
- Will our customer’s network topology cause problems for our discovery protocol?
- What upgrade frequency will our customer’s IT departments accept?
Who fills the role?
This role is always someone from the client’s organization.
How much time is required?
The time required for this role will vary with the complexity of your install. I’d allocate at least a day per iteration at a minimum (to provide feedback during sprint ceremonies), up to potentially half-time, depending on complexity.
Is this position necessary?
Maybe. For B2C, probably not. For B2B software, it usually is needed.
Subject Matter Expert
What do they do?
For any complex business, the technical team will need an industry expert’s input on the right workflow. They can help us find answers to business domain questions like:
- Does it matter for this report if the person is primary or secondary on their insurance coverage?
- How do we calculate the utilization percentage to take into account after-hours resource usage?
These aren’t software questions, but every domain seems to have a few hairy corners where we can’t just guess and need someone who’s an expert already to help.
Who fills the role?
This role is always someone from the client’s organization. The Product Owner can potentially fill this role as well (provided they have the time and attention), or it can be managed by a separate person.
How much time is required?
The amount of time varies widely depending on the business, from a couple of hours each week to half- or even full-time if the business is complex enough.
Is this position necessary?
Probably. If your business is straightforward enough for our team to learn quickly, then not much time will be required. However, a more sophisticated domain (such as finance or health care) will be riddled with details that we’ll need help unraveling.
IT/Operations Expert
What do they do?
Unless an application is distributed solely via an app store, it must be deployed. This person (or team) is responsible to provision servers, patch them, make sure they’re backed up, monitor things, etc.
Who fills the role?
When the deploy is simple, someone on the implementation team can usually handle it. When it’s complicated, the IT resource is typically from the client’s organization.
How much time is required?
This depends entirely on the release process. If we just need to push to Heroku, there won’t be much time required. If you have a complex internal process, you might need something around a couple days per release. A common allocation might be one week per quarter or so.
Is this position necessary?
Maybe. If this application is going to be deployed in an existing datacenter run by your enterprise, you probably do need to assign an IT person, as the implementation team simply won’t have access. However, if you’re a startup and there’s no infrastructure yet, the development team can pick up the slack.
Compliance Expert
What do they do?
Regulated industries are full of landmines for a project: reporting requirements, privacy requirements, auditing requirements. As developers, we’re good at building solutions but we often won’t know about these industry-specific concerns without an expert to give us some warning.
Who fills the role?
This role is always someone from the client’s organization.
How much time is required?
Time required here is usually relatively low. Once we know what to shoot for, we can execute on it. The hard part is knowing.
Is this position necessary?
That decision must be made by the client and their internal compliance team.
Filling These Roles
I’ve listed a lot of different roles above. Not all of these will be necessary on every project, and when they are, one person often has the expertise and time to handle more than one. Very few projects will ever have a different person in every role.
For example, on a simple CRUD app (“Create, Read, Update, Delete” – think a simple todo list application) developed to help bootstrap a startup, it’s likely that the founder would be the Product Owner and the Subject Matter Expert at the same time, that the technical team would handle Project Management and IT, and that there would be no Compliance Expert.
On the other end of the spectrum, a complex healthcare reporting app would need:
- A Product Owner to define what reports are needed
- A Subject Matter Expert to help define how to calculate the results
- A Compliance Expert to make sure the reports comply with HIPAA
- A Technical Product Owner to understand how partner organizations send data with EDI
- A Project Manager to help steer the project through the enterprise’s internal gates
- An IT Expert to deploy the software with appropriate SAS70 separation of responsibilities
Take a look at the roles above: Are all of the necessary slots filled for your project? Is any one person overloaded with too many responsibilities? It’s good to double-check once in a while to keep your team and project healthy.