One of the essential elements of scrum development and scrum project management is the Scrum Team, which is responsible for delivering the final product - a piece of software or an application, for instance. In this article, we are going to discuss what a Scrum Team consists of, how Scrum teams work, what the responsibilities of a Scrum Team are, and how they work as part of a development team.
In previous articles, we discussed What is Scrum and the differences between Scrum and Agile project management. You can read those articles before you continue if you choose or skip ahead to the good stuff below.
What Are Scrum Teams
Scrum Frameworks dictate that any work performed is done by the Scrum Team. In order to do so, Scrum Teams must work towards a common goal, follow the same norms and rules, and show each other the same respect - regardless of position within the Scrum Team or job title.
All Scrum development teams share common characteristics which are part of the Scrum methodology or philosophy. The Scrum characteristics for development teams, as described in the Scrum Guide, are as follows:
Scrum development teams are self-organizing. This means that the team decides how to turn Product Backlog items into working solutions. Scrum development teams are cross-functional; they should have all of the skills required to create the product or increment of the product. Scrum development team members have no titles. Instead, they are all simply a "Developer." Scrum development teams have no sub-teams and are small in size. Scrum teams are committed to two things: achieving the Sprint Goal and delivering an increment that is high in quality.
When we speak about "increments" above, we mean that Scrum teams work with the goal of delivering a releasable - or possibly releasable - increment of a finished product by the end of every Sprint.
Elements of a Great Scrum Team
According to Barry Overeem's Whitepaper on the Characteristics of a Great Scrum Team the following are some of the things that make a Scrum development team great. Note: this is a partial summation of the whitepaper. For a full detailed list, view the document from the link above.
Pursuit of Technical Excellence
Barry Overeem's famed whitepaper suggests that great development teams are inspired by Extreme Programming; they use the rules and practices that center around the coding, designing, planning, and testing of software. This can include code refactoring, continuous integration, unit testing, and more.
Team swarming means that the team works on a few items or tasks at a time. In some instances, this can even be a singular item. By having as many people work on the item at a time as possible, items are finished quicker than they normally would be.
Spike Solutions and Refining Product Backlog
One way that development teams can solve problems is by using spikes, which are precise, time-boxed activities that are aimed at figuring out what work need to be done to finish a large, albeit ambiguous, task. They also refine Product Backlogs as a team versus individually.
Respect of the Boy Scout Rule
Respect of the Boy Scout Rule revolves around an actual Boy Scout rule, which states: "Always leave the campground cleaner than you found it." From a software development team, this means that you always want to leave the codebase better than you found it. Find messy code? Straighten it up.
The idea of criticizing ideas and not people should be a no-brainer. Still, it makes the list as part of what makes a great Scrum development team.
Other Elements of a Great Scrum Team
The full list of BLANK is beyond the scope of this article. However, we urge you to view the full details by visiting Barry Overeem's Whitepaper on the Characteristics of a Great Scrum Team for a complete breakdown.
Scrum development teams are only one role of the three parts of a Scrum team. In the next part in this series, we will look at the other two parts of the Scrum team - product owners and Scrum masters.