Scrum is a framework for developing, delivering, and sustaining complex products. Scrum defines three roles: the Product Owner, the Scrum Master, and the Developers. Scrum does not have any other roles or titles, such as “tester”, “analyst”, “designer”, or “architect”.
The Developers are the people in the Scrum Team who are accountable for creating a “Done” Increment that meets the Definition of Done each Sprint. The Developers are responsible for planning and executing the Sprint Backlog, designing and building the product functionality, testing and improving the product quality, and delivering a potentially releasable Increment. The Developers work closely with the Product Owner to understand and clarify the Product Backlog items, provide feedback and estimates, and suggest improvements and innovations.
The Developers are responsible for quality, not just for programming. Quality is not something that can be added or verified after the product is built. Quality is something that must be built into the product from the start, by following good practices, standards, and principles. Quality is also something that must be inspected and adapted continuously, by applying feedback loops, testing methods, and improvement actions.
The Developers are not divided into sub-teams or sub-roles based on their skills or specialties. The Developers are a cross-functional and self-organizing team that has all the skills and capabilities needed to create a valuable product Increment. The Developers collaborate and coordinate their work as one unit, without any hand-offs or silos.
The Developers may have different backgrounds or expertise, such as testing, analysis, design, or architecture. However, these are not separate roles or responsibilities in Scrum. They are part of the collective accountability and responsibility of the Developers as a whole. The Developers may perform different tasks or activities based on their skills or preferences, but they are all equally responsible for delivering a high-quality product Increment.