4th Mar, 2020
The Development team is one of the roles in Scrum other than the Product Owner and Scrum Master. At the end of every Sprint, there should be a "done" increment. The product increment should meet the definition of done criteria.
The Development team owns the sprint backlog and creates the product increment at the end of every Sprint. The Development Team is self-organized and cross-functional.
The Development Team has all the skills needed to deliver a working and "done" product increment at the end of every Sprint. Cross-functional teams mean the team has all the skills, not that every individual in the team has all the skills.
If you consider a software product development team, they will have programmers, testers, technical writers, build & release engineers, technical architects, and so on. Together, this expertise plus working together in utilizing these help them to be cross-functional.
As a team, they have all the skillset needed. If the team does not have any required skills, the team needs to acquire the skills necessary. The Development Team is not dependant on other teams.
They are independent, and their work should not have a dependency on other teams. Having dependency with other teams will hamper the ability to deliver a "done" increment at the end of Sprint.
In Scrum, the Development Team will decide how to create a working product increment. Neither the Scrum Master nor the Product Owner can tell the team on how to come up with a "done" increment. Since they are cross-functional and expert in development, they decide what needs to be done for developing a PBI.
Self-Organizing also means that the teams are autonomous. They are not dependent on others. Micro-Management will not work on autonomous teams. Teams will have goals, and they will do anything and everything to reach the goal. They will decide what to learn, how to do their job better and so on. They are efficient and able teams.
Self-Organizing teams are also called self-learning, self-managing, and self-facilitating teams. They are self-sufficient and are capable enough to do their job better. They learn from their mistakes, and they learn continuously. They continuously inspect and adapt and create a culture within themselves.
As per Scrum, there are no titles when it comes to teams. Scrum does not recognize any titles but recognizes everyone together as a team. Individual members of the team may have a different experience, focus, and skillset, but they will be called Development team members.
Team members may have a varied background like testing, programming, UX, DB, architecture, technical writing, build & release, and so on. Collectively they are a team, and that is what is evident when it comes to Scrum. Scrum also does not recognize any sub-teams within the teams. There is only the cross-functional development team.
We need a minimum of three people to be called a team. Two people will be considered a pair than a team. To maximize efficiency, communication, and working together, Scrum suggests that a development team size should be somewhere between three and nine. More than the desired size of nine members will increase coordination between team members.
The desired size of three to nine is not inclusive of Product Owner and Scrum Master. Larger teams have too much complexity for creating empirical processes, and interactions between one another on a day to day basis will also be reduced. The optimal team size suggested in Scrum is small enough to be nimble and as well as large enough to complete significant work in the Sprint.