Teams and roles
Work is done by cross-functional delivery teams who own an objective from discovery to support. Roles describe accountability, not hierarchy.
Delivery teams¶
A delivery team brings together software engineers, a test engineer, a Product Owner and design expertise, with DevOps, business analysis and staff engineering support as the work needs. The team is collectively responsible for designing, breaking down, building, testing, releasing and supporting its objective. Everyone takes part in design and planning, shares ideas, and helps across role boundaries. A named owner for an activity does not mean the rest of the team stands back.
A team normally has one objective in active implementation at a time. Membership is stable for the life of an objective and may rotate between objectives as the work and people's development call for it. Each team writes down its own working agreements, from cadence to definition of done, in our internal Knowledgebase.
Product Owner¶
The Product Owner of an objective is usually a product manager. They own the canonical objective document and are accountable for requirements, specifications and user guides being clear and testable. They support proposers with workshops, coordinate viability reviews, facilitate communication with stakeholders, decide scope at the feature level, and are the first call when a requirements gap appears during delivery.
Engineering Owner¶
The Engineering Owner of an objective leads the feasibility investigation and the technical side of high-level and detailed design. They own the technical specifications and architecture, and are accountable for the solution being implemented to the requirements and to our standards. They make sure peer review, deployment logging and impact assessments are in place, and work with the principal engineer on periodic validation of long-running work.
Specialists: consultants, not gates¶
Several disciplines work inside and across teams. Their job is to make the team better at the discipline, not to do it for them or to sign it off afterwards.
Test engineers lead the team in turning each solution design into a test plan, from the start of an objective and then feature by feature. They pair with software engineers on regression coverage and automation, coach the team on writing testable specifications, and run exploratory sessions. They also take a weekly turn as the shadow test engineer for second line support. Quality is the whole team's responsibility; the test engineer is its specialist.
DevOps engineers design and run the platform, pipelines and infrastructure, and bring reliability, security, observability and cost thinking into design. They embed with teams for infrastructure-heavy work and consult otherwise.
User experience designers lead user research in discovery, produce designs during design, validate them with users, and own the accessibility impact assessment.
Business analysts help define problems and requirements, map stakeholders and keep the record of risks, assumptions, issues and dependencies current.
Staff engineers work across the whole technology estate: investigations, technical design support, and periods embedded with a team that needs their expertise or capacity. They make it clear at all times where their time is going. There is no booking process; start with a conversation, and start early.
Engineering leadership, including the principal engineer, owns the overall architecture and standards, reviews architectural designs, and periodically validates long-running work against our practices.
Decision-makers¶
Senior stakeholders take viability decisions, prioritise candidates onto the roadmap, and approve significant changes to scope or approach. They consult; they do not design.
Customer Support¶
Customer Support owns the front door for issues and the communication with whoever raised them, and sets the order of support work for engineers. See Operation and support.
Cover and succession¶
Anyone holding a role is accountable for arranging cover for planned absence and responsible for limiting the impact of unplanned absence. Nobody should be a single point of failure.
Leadership¶
Leadership is distributed. Anyone leading a piece of work, a session or an investigation is leading, whatever their title. See Leadership.