DevTeam.Space Product Development Blog

Explore our in-depth product development tutorials and new technology announcements published by our software development experts

All articles

How to Build a Scrum Development Team?

Agile methodology is increasingly dominating software development. There are good reasons behind this, for e.g. you are three times more likely to implement a complex transformation project successfully if you use Agile over traditional project management methods. Read more about this, and more amazing statistics in “The Benefits Of Using Agile – 7 Statistics Every Business Executive Should Know”.

However, to successfully execute all agile development projects, you need to first have the necessary building blocks in place. A key building block is your scrum development team. You can read more about how important these teams are for your Agile project, in “The building blocks of agile practice”.

In this article, I will explain how to build a scrum development team to ensure that you have this key building block in place before you start your agile development.

Let’s start by first looking at what scrum development teams actually are.

Contents

What is a scrum development team?
Scrum development principles
Scrum development team responsibilities
Scrum development team roles
Essential qualities in a scrum development team
How does a scrum development team work?
How to improve a scrum development team?

What is a scrum development team?

Scrum development is development methodology where each stage or iteration of the development process is called a “sprint”. The duration of a sprint must be long enough to deliver a logical increment of the required work however, it should be short enough to ensure the team is focused and working to the best of its abilities. Typically, a sprint cycle is not more than four weeks. Read more about sprints in this great article entitled “The Sprint”.

A scrum development team does the work required in each sprint. Like any team, it is a collection of individuals, who sometimes work in the same location or sometimes remotely. There are several specific characteristics of a scrum development team. These are as follows:

  1. It‘s a cross-functional team, i.e., it includes UI/UX designers, programmers, architects, business analysts, testers, etc.
  2. A scrum development team size is typically between five to seven members.
  3. The best scrum teams are closely-knit and work together on a regular basis, preferably full-time.
  4. Although team members in a scrum team have different skills, they can cross-train each other. This helps with everything from roadmapping projects to avoiding delay due roadblocks.
  5. Scrum teams depend a lot on effective team management. Managers must control their teams well in order to get the best performance from them. A scrum team is much like a computer, in that it can only develop a project as fast as its slowest component/member operates.

Read more about scrum development teams in “Scrum Development Team”.

Scrum development principles

Scrum development follows the below principles:

  1. Empirical process control: There are three cornerstones of the “Scrum” methodology. These are transparency, inspection, and adaptation. Empirical process control encompasses all three.
  2. Self-organization: This is not exactly a new concept. The late management guru Peter F Drucker placed emphasis on the importance of letting more knowledgeable workers make decisions about their work. Scrum development also values the freedom of teams to organize themselves. Read more about Drucker‘s point in “What Motivates the Modern Worker? Peter Drucker on Leading Millennials”.
  3. Collaboration: In scrum development, awareness, articulation, and appropriation constitute collaboration. Unlike some who believe that project management is not needed in scrum methodology, the reality is, in fact, exactly the opposite. Project management is very much needed to facilitate this collaborative value-creation.
  4. Prioritize based on value: Priority in scrum development is determined by business value.
  5. Time-boxing: In our everyday world, lack of time is a constraint. This means that spare or available time can be an opportunity. Scrum development utilizes this idea by time-boxing important tasks or functions like daily stand-up meetings. Such tasks improve the efficiency of teams and therefore contribute to faster development, hence reducing wasted time.
  6. Iterative development: Each sprint delivers a complete set of enhancements/features/additions to the product. Each sprint is also designed to address a specific set of customer needs. Iterations are set to address product requirements and are often designed around market feedback about the product, i.e., certain features such as in-built maps, product suggestions etc.

Read about these scrum development principles in “6 Main Principles of Scrum Methodology”.

Scrum development team responsibilities

Scrum development teams have the following responsibilities:

  1. Core scrum responsibilities:
    1. Uphold scrum values, which are focus, commitment, openness, respect, and courage.
    2. Adhere to schedule, budget, and quality requirements.
    3. Each member of the team is required to pull their weight in development, training, and mentoring.
    4. Value individuals, while also champion a “team” culture.
    5. Consensus-building founded on empirical evidence-based judgments.
    6. Give respectful, open, specific, and honest feedback.
    7. Always be ready to ’raise the bar‘.
  2. Responsibilities about the sprint:
    1. Prioritize tasks and complete within schedule.
    2. If a ’user story’, i.e. build requirement aren‘t clear, then ask the product owner for more details. Don’t assume without asking. Read more about the product owner role in “Scrum: A brief look into using the Scrum framework for software development”.
    3. Open collaboration based on a ’team-first‘ culture.
    4. Peer reviews to eliminate defects.
    5. Be ready to contribute to tasks beyond your designated role if the Sprint has such requirements.
    6. The “definition of done” principle clarifies what the product will look like. Develop each software function to exactly match the outline.
    7. Daily progress reporting.
    8. Ask help from the scrum master if you face show-stopper issues.
    9. Above all, achieve the declared goal of the sprint.

Read more about these responsibilities in this article: “Scrum Development Team”.

Scrum development team roles

A scrum development team has scrum specific roles. You shouldn’t confuse these with functional roles such as those of a developer, tester, business analyst, etc. The scrum specific roles are the following:

Product Owners (POs):

Product owners (POs) champion the software product or solution. They manage the product aims to ensure the final project achieves its goals/purpose. There must be a smooth flow of information between the PO and the development team. The digital producer or (DP) takes responsibility for this information exchange.

Scrum Master:

Scrum masters initiate/maintain agile scrum methodology in the scrum team. They take responsibility to ensure that the team follows the agile scrum principles and practices. Naturally, any project team faces show-stopper issues, problems, and other distractions. Scrum masters resolve these issues.

The scrum master guides the team through each sprint by scheduling work, facilitating meetings, and ensuring good inter-team communication. Read more about the scrum master role in “The Building Blocks of Agile Practice”.

Scrum team – Also known as the development team:

 
A scrum team is a cross-functional team that works on developing the product and its features during each sprint. In scrum development, they also help to identify the complexity of each task so have an input into how the sprint in undertaken. Following the principles of self-organization, the team allocates a set of factors including the number of developers required and a timeframe for completion to each task. They work together towards a common goal. This cross cooperation helps to eliminate delays in finishing each sprint and ultimately the product.

Read more about these scrum development team roles in “Scrum Roles – The Scrum Team”.

Essential qualities in a scrum development team

When you build a scrum development team, you need to look for the following qualities and skills:

  1. Ability to work as pair programmers: Two developers should be able to work together on one workstation. While one writes the code, the other reviews. The roles are interchangeable.
  2. Automated unit testing skills: The reason you are building a scrum team is because you will probably have a complex project with multiple sprints that you need to develop on time and on budget. Heavy dependence on manual testing will slow down most of your sprints. Hence, automated, script-based testing is important.
  3. Code refactoring: Prepare for lots of sprints. If the code is complex, enhancing it with new functionalities during the next sprint will be hard work. Hence, a team should ideally start with as simple a code as possible. While this is desirable, exceptions are inevitable. In some sprints, the code will need to be complex, especially if the feature the team is developing is a multilayered solution. Refactoring is a process of simplifying code, without impacting functionality. The team needs to have this skill. You can read about the importance of refactoring in this article entitled “Scrum Development Team”.
  4. Continuous integration: During every sprint, you undertake a new build. There can be multiple builds undertaken at once. This requires good DevOps continuous skills. Compilation, execution of the unit test, and source control should be integrated and automated. Read “Continuous Integration in DevOps” to understand the importance of this skill.

In addition to these points, team members must be self-motivated and team-players.

How does a scrum development team work?

When you create a scrum development team, you should understand fully about how scrum development teams work. Let‘s review how scrum teams work:

Backlog: The input

This is simply a list of the software product or solution features. Each feature has a detailed description in this list, which is also known as the ’product backlog’. This list is created from the product owner‘s needs and should include a detailed description of the product‘s functional requirements. The development team reviews the features and estimates them. After consulting with the PO, priorities are determined, and sprints are created. Read more about the product backlog in “Building An Agile Team From Scratch”.

Sprint planning

The PO, the scrum master, and the scrum development team conduct a sprint planning meeting. Normally, this takes 1 hour for every week that the sprint is likely to take. For e.g., if you have a four-week sprint then your planning meeting will take around four hours. The development team estimates and gives an outlook to the PO of how many features they believe that they can complete. Based on this, a ’Sprint backlog’ is created, which includes user stories from the product backlog.

Daily stand-up meeting

Scrum development teams conduct a daily stand-up meeting to inform the team about the status of each member‘s work. The scrum master, the product owner, and the team attend these daily scrum meetings. These are typically short meeting conducted at the start of the day. Team members describe what they completed during the previous day, what they accomplish, and whether they faced any show-stopper issues etc.

Sprint review meeting

At the end of the sprint, the scrum development team conducts a sprint review meeting. Mandatory attendees include the scrum master, the product owner, and the scrum team. Please consider inviting project stakeholders too. The objective of this is to showcase the completed work and get immediate feedback from project stakeholders. By this meeting, all the work of the sprint should be completed, and it should meet all quality requirements. The team should be able to demonstrate the software product or solution during the meeting. This meeting usually lasts an hour.

Sprint retrospective meeting

At the end of a sprint, the scrum master should call for a sprint retrospective meeting. The meeting should include the product owner, the scrum master, and the scrum team. This will usually last about an hour, with the key objective being for the team to learn any relevant lessons from the concluded sprint. The team should discuss what they did well as well as what they feel they could do better etc. An action plan to incorporate the lessons learned will then be drawn up which will then be distributed to each member of the team. This is very important for continuous improvement of the team.

The sprint planning and the other three meetings are also called “ceremonies”. Read more about agile ceremonies in “Have we met?”.

How to improve a scrum development team?

In addition to following recommended scrum processes, there are other techniques that you can use to improve team productivity. Since I don‘t have time to cover them all, let‘s look at some of the most effective practices you can use.

Create a good foundation for your scrum development team

You need to plan a kickass project kick-off meeting. This will show the big picture to the team and get them ready to create a world class product. Don’t rush this meeting. Instead, explain in detail how the project works and what is designed to do. Show how it is aligned with the organizations’ vision, mission, and strategy. You should involve the appropriate senior management of the organization, and the project sponsor, in this kick-off meeting. This will help your team really visualize the end product and understand the goals of the client organization.

Ensure your team attends the required scrum training sessions. You can find useful information about scrum training in “Professional Scrum Developer Training”.

Encourage your development team members to prepare a team contract. This should cover the fundamental behavioral norms like punctuality and commitment to quality etc. This document should also clarify what’s expected from each team member and what their role in the team is. Setting expectations is an important component of this exercise.

Read more about this foundational steps in “How To Kickstart A Great Scrum Team (10 practical things to do)”.

Understand the team development process, and proactively manage it

Psychologist Bruce Tuckman developed his pioneering model explaining group development. It‘s called “Tuckman‘s stages of group development“. Tuckman listed five phases of group development and mentioned that every one of them is an essential requirement. The phases are as follows:

  1. Forming phase: This is the initial phase of team creation when people in the team don‘t know each other and therefore aren‘t very communicative yet. They will be more concerned about doing their assigned task and not so apt at interterm communication. At this stage they will be still trying to understand the larger objective of the team. The scrum master must take a role of mentor and group builder during this phase to direct team members and build team unity.
  2. Storming phase: This is the second phase and is usually when conflicts start. Conflicts initially arise regarding tasks and their distribution, however, keep in mind that they can quickly become personality conflicts, especially between team members who don‘t know each other. The scrum master should not try to sweep issues under the carpet. Rather he or she should coach the team to resolve conflicts in an honest and constructive manner. Constructive and honest resolution of conflicts helps in building trust within the team. It is important that each team member understands their worth and doesn‘t feel that they are the one doing all the work. Communication is key here.
  3. Norming phase: After any conflicts are resolved, and as time progresses, people learn about each other as well as what tasks they have been allocated and why. They form norms of how tasks should be handled, according to scrum methodology and the outlined approach. Team members will become aware of how to use communication channels and where to raise grievances. The scrum master is once again the group‘s mentor.
  4. Performing phase: Now that the team understands the tasks and there is trust between team members, productivity increases. There is better self-organization and cooperation. The team will quickly find that they can solve most issues themselves. The team is turning into a real scrum development team.
  5. Adjourning phase: All good things eventually come to an end. After the project is over, the scrum team will reach a wrap-up phase. Team members should be encouraged to recount their shared experience together to help them get the best value from the experience.

Communicate, communicate, and communicate!

Scrum development teams can only be build a culture of open, respectful, and honest communication. The scrum master must always lead by example. Try to ensure that sprints are short, the workload is high but manageable, and there is good communication between the team.

Remember, even too much communication is better than too little. You don‘t want a scenario where, for example, a tester didn’t know that the coding was complete two days before they got the message, meaning valuable testing cycle-time has been lost.

Finally, don‘t forget that daily stand-up meetings are very important. Insist that the scrum master ensures that everyone participates, with no exceptions. Read about the importance of communication in a scrum development environment in “7 Simple Secrets to Building High Performance Teams With Scrum”.