Structure within teams

Most of our operational teams thrive on a collaborative structure designed to address key aspects of product development and delivery. This often involves engineering managers, agile coaches, and product owners or project managers working closely with essential individual contributors like UX/UI designers, quality engineers, and software engineers to achieve team success.

Product owners or project managers (effectiveness)

Their main question is: are we doing the right thing?

  • Align with business goals
  • Track business metrics, e.g. no. of checkouts, cvr, aov
  • Prioritize customer and stakeholder requirements

Agile coaches (efficiency)

Their main question is: are we doing things right?

  • Coach teams to maturity and performance (mission statement agile community)
  • Track agile metrics, e.g cycle time, waiting times, bottle necks, wip
  • Support team roles & stakeholders to work in an agile context

Engineering managers (skills & tech strategy)

Their main question is: do we have everything in our team to do it?

  • Development of team members personally
  • Keep tracking of required skills
  • Ensure technical excellence

Individual contributors

Each team benefits from a combination of diverse individual contributors crucial for success in their domain and projects. For product teams, this often includes engineers, UI/UX designers, and quality engineers. Service-oriented (platform/enabling) teams typically consist of a more homogenous group of roles, such as operations with admins and DevOps. Similarly, our data division includes individual contributors with specialized roles focused on data analysis, engineering, and science.

UX/UI designers (user experience & accessibility)

Their main question is: are we building it for the user?

  • Ensure designs meet accessibility standards and are inclusive.
  • Create and refine user flows and layouts based on user needs.
  • Review implementations for adherence to design specifications and provide guidance.

Quality engineers (testing & release reliability)

Their main question is: are we releasing a high-quality, reliable product?

  • Drive quality engineering best practices and advocate quality across teams.
  • Develop and maintain robust test frameworks, introducing cutting-edge tools and technologies to enhance testing efficiency and effectiveness.
  • Provide guidance to teams on necessary tests, ensuring comprehensive test coverage at all levels (unit, integration, end-to-end).
  • Ensure thorough testing of products before merging code, guaranteeing a seamless and exceptional user experience.
  • Collaborate closely with developers, product managers, and designers to proactively identify quality risks and ensure rapid resolution.

Software engineers (implementation & technical excellence)

Their main question is: are we turning requirements into software that is functional, efficient, and easy to maintain?

  • Translate requirements into functional, robust and easy-to-maintain code.
  • Consider and own the long-term success of our technical solutions.
  • Ensure code quality through unit and integration testing.
  • Participate in code reviews, providing and receiving constructive feedback.
  • Maintain and adhere to organizational coding standards.
  • Build software in continuous small increments and improve through early feedback.
  • Deploy code changes and new features, ensuring seamless integration and adherence to the Definition of Done.