Roles and responsibilities in a software development team
3 min read. In this series of blog posts we are looking at how best to structure a software development team. In part 1 we looked at the processes involved in delivering software. (You can read part 1: ‘How to structure a software development team’ here). Today we turn our attention to the typical roles and responsibilities you may find in a team and how they all contribute to a smooth development process.
Fluent is an innovative technology consultancy based in Cambridge. We’re a team of experts who are passionate about digital strategy, UX design and software engineering. Our thoughts are our own and reflect the lessons learnt from over 15 years of delivering digital products and services.
Roles and responsibilities matter
Identifying, defining and communicating roles and responsibilities is fundamental to a team’s ability to deliver. Clear definition of responsibilities allows each team member to focus on their work and provides the structure needed for them to feel comfortable in their role.
Below we look at some of the typical software team roles and the key responsibilities of each team member.
Sorry to interrupt…
If you like what you've read so far, join us on LinkedIn to talk all things digital product development with our team of experts.
From the business
Business Unit Manager
In a business to business environment the person in this role could have a range of titles. Essentially they are the end customer, the person who you are building a things for. They will have the initial ideas, knowledge of the features required and provide the driving force to get things done. They will likely be the ones paying.
Key responsibilities:
- Initiate the project
- Provide the project / product vision and strategy
- Sign off key milestones
Product Manager
In some organisations, the Business Unit Manager may play this role, however it is helpful to decouple responsibilities in order to:
- Allow the Business Unit Manager to do their day job i.e. run the business
- Allow the Product Manager to focus their time on the product
- Bring in Product Management expertise such as talking to customers about their needs and conducting objective research
Key responsibilities:
- Challenge and translate the project vision into a roadmap
- Create, develop and define the features of the product
- ‘Own’ the product from inception to launch
From the tech team
Business Analyst
One of the most valuable roles in the development environment but often the most overlooked. Possibly because the work is sometimes rolled into the Project Manager position. For an internal software development team, this may be acceptable providing the PM is a full time PM, adequately trained and has enough business knowledge to communicate effectively with the Product Manager.
The Business Analyst is a key point of contact for the Product Manager. They will work to further refine and define features often in conjunction with a Technical Lead to ensure they are ready for development.
Key responsibilities:
- Clarify features
- ‘Protect’ developers from Product and Business interruptions
- Liaise with the the Technical Lead and Product Manager to resolve queries
Project Manager
The Project Manager delivers the strategy set out by the Product Manager. The Project Manager ensures the development team has everything it needs to get the work done. They remove any blockers and manage all meetings and communication.
Key responsibilities:
- Schedule, chair and document relevant meetings
- Analyse project and team performance to better understand where process improvements can be made
- Ensure the development team have the resources they need to deliver the work
Technical Lead
The title of this role is often misleading as it implies that this person must be the ‘best’ developer on the team. However this isn’t necessarily true. This role provides the Project Manager and Business Analyst with a designated point of contact in the development team without having to interrupt other developers. This role may be rotated per sprint or as frequently as necessary.
Key responsibilities:
- Protect the other developers from the Project Manager and Business Analysts questions
- Be knowledgeable about the features being developed in the sprint
- Attend relevant meetings including demonstrating features in the sprint
Developer
Developers make up the core of the team which may number between 1 and 7 members. A dev team of 8 or more is probably more efficient broken down into two teams. As developers will actually build the required features, they can have the biggest impact on the team's performance. Their time should be protected and respected.
Key responsibilities:
- Develop the features laid out in the sprint
- Update the Technical Lead and Project Manager on progress in stand up meetings
- Focus and be brilliant
UX / Designer
Don’t assume that a UX / designer does all their work up front in design sprints and then moves onto the next project or feature. They should be involved throughout the delivery process from beginning to end.
All too often, UX / designers are brought back into the process once developers have tried and failed to make a feature meet the requirements of the Product Manager. By then it is too late and the product fails to deliver.
No matter how little UX / design work you believe is involved in a feature or how well it has been prototyped in advance, it’s worth bringing in a UX / design person to your backlog refinement meetings (see our next blog post on meetings). You can then identify early on if and when they will be needed to ensure the details of features deliver.
Key responsibilities:
- Turn the project or product vision into a visual thing
- Work with the Product Manager to create a user experience that meets requirements
- Support the development team through the build process
QA / Tester
The role that can make or break a product / project. A good QA’s work ensures the product or project is a success. However if done badly, the whole product / project / company's reputation can be impacted by the fall out. Don’t cut corners here. Invest in testing and it will reap rewards.
By the nature of what they do, testers know a lot about the products they work on but that often means they are a go to person for general queries. Protect them from the business using a mixture of Product Managers and Business Analysts, leaving them to make the product a success.
Key responsibilities:
- Understand feature requirements defined by the Product Manager and Business Analyst
- Ensure features built by developers meet the criteria defined in the requirements
- Engage with development teams to agree and understand QA processes
Conclusion
Whatever structure or terminology you use in your project or product teams, be sure to identify the best people for each role. Define each person’s key duties and responsibilities and then communicate so the whole team knows exactly what is expected of them.
For more information and advice on how to structure roles and responsibilities within a software development team, please get in touch.
Next up
How meetings should work in an agile software development process.
Want more tips on digital product development from people at the cutting edge? Follow Fluent on LinkedIn and keep learning
Ready to solve your problems?
We'll help meet the challenges facing your growing business. Get in touch and tell us what you need, the team can't wait to hear from you.