August 23, 2021 –

Roles and responsibilities in software development

Author: Emma Yemm
Emma Yemm
Senior Digital Account Manager
Photo by: Hanna Morris
Software development is complex with a broad range of languages, technical solutions, and tools available.

Projects also tend to be unique, which means that not only is effective planning critical to project success, but the team must be experienced and agile enough to face a variety of requirements, technical challenges and obstacles which are likely to occur. 

16i consists of a cross-functional team made up of various roles and specialisations, with each member adding value to a project. This blog looks at the key responsibilities of each. 

Project Owner 

The Project Owner is involved from the outset and at all subsequent stages of the project, from quote to delivery. They work closely with the client to fully understand the requirements, timelines and budgetary expectations and are responsible for briefing this information into the team. Ongoing assistance is also provided to the team should any problems or concerns need to be escalated; with the key responsibility being to ensure the project is delivered on-spec and to the client’s expectations. 

Technical Lead 

The main role of the Technical Lead is to translate business requirements into technical solutions. Typically involved from the early stages of the project, the Technical Lead works closely with the Project Owner to understand the project requirements and provide costs and timings for the development work. They’re responsible for writing the functional spec and briefing this into the development team; whilst providing ongoing assistance and support in terms of technical issues, estimates and product releases. 

Account Manager 

The Account Manager supports the Project Owner in the delivery of the project and is typically involved from the kick-off meeting (once quotes and timelines have been approved) through to completion. They act as the main day-to-day contact for the client and are responsible for the general management of the project, such as preparing development plans and schedules, assigning tasks, and tracking progress. Ultimately, the Account Manager ensures everything is delivered on time and on budget.  


The Designer’s role is to visualise the project. Typically involved from the kick-off meeting, they work closely with the client to fully understand the requirements, user base and overall objective of the product or solution, in order to map out how it will behave and react during interactions with the user. The Designer is responsible for the creation of mock-ups and prototypes to allow the team (and ultimately client) to test the user journey and visual appearance; whilst also providing design support to the front-end development team.  

Front-end Developer 

The Front-end Developer is responsible for the visual aspects of the solution (such as text and colours, images, transitions, and navigation menus) and is involved following the initial design stages. They work closely with the design team and use a range of tools including HTML (the coding language that creates and organizes how content is displayed), CSS (used to define the style of content e.g., layout, colours, fonts), and JavaScript (used for interactive elements such as drop-down menus, modal windows, and contact forms) to effectively realise the vision. 

Back-end Developer 

The Back-end Developer is responsible for the ‘behind the scenes’ elements of the solution such as storing and organising data, 3rd party integrations (e.g., booking sites) and the supporting Content Management System (CMS). They’re typically involved once the functional spec has been approved and the front-end components are in place; although (for projects with shorter/tight timelines) it is possible for work to be completed concurrently with the front-end development team.  

Quality Assurance (QA) Tester 

Responsible for identifying any bugs or glitches in the system, the QA Tester is typically involved following completion of the initial development stages. They’re responsible for testing the system across a variety of devices and screen sizes to identify any design flaws, technical bugs and/or dysfunctional process flows, with any errors being fully documented and relayed back to the design and development teams. 

User Acceptance Testing (UAT) Specialist 

The UAT Specialist is responsible for testing how the solution will work in real-life scenarios and is typically involved following completion of the development work. They work closely with the development team and are ultimately responsible for the planning, execution and reporting of UAT test cases and scenarios to ensure the solution meets the overarching project goals and end-users’ requirements. 

In summary, software development is complex with a range of languages, tools, and technical solutions available. Project success is therefore heavily reliant on the team being able to work efficiently and collaboratively together; ideally consisting of a varied skillset of Account Managers, Designers, Developers and Testers, each with their own key roles and responsibilities.