What is the Scrum Development Team’s role?
A Scrum Team is a collection of individuals working together to deliver the requested and committed product increments. It comprises of cross-functional members who are capable of achieving the sprint goals. This could include software engineers, architects, programmers, analysts, system admins, QA experts, testers, UI designers, etc. The most effective scrum teams are tight-knit, co-located, and usually 5 to 7 members. Team members have differing skill sets, and cross-train each other so no one person becomes a bottleneck in the delivery of work. Strong scrum teams approach their project with a clear "we" attitude. All members of the team help one another to ensure a successful sprint completion.
Responsibilities of the Scrum Development Team
- Core responsibilities
- Embraces the (5) Scrum Values – Focus, Commitment, Openness, Respect and Courage.
- Delivers working product on-time, on scope and on quality
- Shares development responsibilities, assists, trains and mentors Team members to meet “Sprint” challenges.
- Strives to value the individual and increase team recognition over self-recognition
- Builds consensus and applies sound judgment in a Team centric environment
- Provides open and honest feedback within a “Scrum Team” environment.
- Always is prepared to challenge self and the Scrum Team in (DoD) “Definition of Done.”
- Sprint creation and implementation
- Select the tasks of highest need and complete them as quickly as possible.
- Request clarification from the product owner when you are unclear about a user story.
- Collaborate with other development team members to design the approach to a specific user story, seek help when you need it, and provide help when another development team member needs it.
- Conduct peer reviews on one another’s work.
- Take on tasks beyond your normal role as the sprint demands.
- Fully develop functionality as agreed to in the definition of done.
- Report daily on your progress.
- Alert the scrum master to any roadblocks you can’t effectively remove on your own.
- Achieve the sprint goal you committed to during sprint planning.
6 Qualities of Scrum Development Team
Key qualities in an ideal scrum team should be:
- Pair Programmer: The programmer should be able to work effectively with another one at one workstation. While one programmer writes the code - the driver - the other one observes - the navigator - and reviews each line of code as it is typed in. The two programmers switch roles frequently.
- Understands TDD, BDD, etc.: The team member should be familiar with advanced technique of using automated unit tests to drive the design of software and force decoupling of dependencies.
- Understands Refactoring: Code Refactoring is the process of clarifying and simplifying the design of existing code, without changing its behaviour. Scrum teams should maintain and extend their code a lot from iteration to iteration, and support continuous refactoring.
- Continuous Integration: Continuous Integration (CI) involves producing a clean build of the system several times per day, usually with a tool like CruiseControl, which uses Ant and various source-control systems. Scrum teams typically configure CI to include automated compilation, unit test execution, and source control integration.
- Self-motivated and organized: Scrum suggests self-organizing and self-managing teams. The Scrum team should remain accountable for the work it does and own the projection behalf of the client. Self-motivation is an important Scrum virtue since all Scrum roles are empowered to function on their own and there is no senior-junior hierarchy within the team. The entire team is accountable for itself.
- Team player: Scrum supports team work and not just individual efforts. It’s important to function as a single cohesive unit and achieve the goals by working together. Each team member should be a team player.