Now that we know what a Scrum Master and a Product Owner do and what they're responsible for, it's time to take a look at the people who turn someone else's vision into a reality. As you may already know, the development team creates a high-valued product that will satisfy the end-user it originally was intended for. The development team consists of skilled professionals who know how to make the best use of requirements and users stories, in order to deliver a working product. That being said, let's have a look at the role of the development team in the Scrum framework.
What is a development team?
The development team is a group of people who can create the products in an efficient and reliable way thanks to the Agile methodology and Scrum framework. The development team doesn't consist solely of developers. As a matter of fact, several roles, such as developers, designers, architects, QA testers and others make up a development team.
According to the Scrum Guide, "the development team is a group of professionals who do the work on delivering a potentially releasable increment of "Done" product after each sprint". A sprint review requires the "Done" increment and the development team are the only ones who can create that increment.
The development team is structured and empowered by the organization in a way that allows them to manage, as well as organize their own work. As a result, the team is optimized to be efficient and effective at what they do.
What does the development team do?
As mentioned before, the development team takes a vision of the product and turns it into reality. However, the interesting thing is how they do it. Unlike traditional methods that were omnipresent up until now, the way things are being done in Agile and Scrum practices is something entirely different. As you may already be aware of, the Scrum framework consists of time-boxed iterations, also known as sprints.
The development team creates a working piece of a product after each sprint. The way they do it is that they take a couple of user stories from the top of the product backlog and turn them into functionalities. Now, before we proceed, it's important to take a look at the structure of the development team and what makes them so efficient. Here's an example.
- The development team is self-organizing and cross-functional, which allows them to turn backlog items into increments the way they deem the best.
- No one can tell the development team how to do what they do, not even the Scrum Master or the PO.
- Cross-functionality allows the development them to leverage a wide array of skills, in order to produce increments.
- There are no titles in the Scrum development team, regardless of what type of work is done by whom.
- There are no sub-teams in the development team, regardless of the areas of expertise, such as development, design, architecture or quality assurance.
- Individuals within the development team might specialize in particular skills but the accountability belongs to the entire development team.
As you can see, it's up to the team to decide how much work to take on each sprint and how they will do it. That's what makes them so efficient and effective, to begin with.
How large is the development team?
Ideally, the development team should be between three to nine people, not including the Scrum Master and the PO. The main reason is that small teams are the most efficient and the most flexible. Less than three people and the team lose productivity and interaction. Skill restraint may cause the too-small-of-a team to become unable to produce the working and releasable increments.
On the other hand, more than nine people and the team becomes unstable due to the fact that it requires much more coordination. Too many people and the empirical system loses its usefulness due to too much complexity. Therefore, the development team must be small enough to be nimble and large enough to be able to complete a significant amount of work within each sprint.
The development team gets things done. They rely on collaboration and communication, as well as sharing of skills to deliver high-value working products. They will share information and even educate each other, in order to accomplish their goals and successfully finish their projects. The team plans for each sprint. In other words, they have their own sprint backlog, which is the amount of work the team decides to take on for that particular iteration. They also organize regular and oftentimes daily Scrum meetings so that they can discuss how to proceed, as well as how to improve.
How does one become a part of the development team?
Anyone with good knowledge of both Scrum and Agile practices, as well as proficiency in skills required by the development team, such as development, design, testing architecture etc. can become a member of the team.
If you're looking for a specific certification that will define your development team membership, you can choose a Certified Scrum Developer (CSD) provided by the Scrum Alliance or opt for a Professional Scrum Developer (PSD) provided by Scrum.org. Of course, you can even choose to have both certifications if you want or need to.
The development team creates products. They may follow a guide provided by a Scrum Master or a PO but in the end, they decide how to build the product that will ensure user satisfaction and provide them with real value.