Blog

Effective Scrum Software Development Process for Product Teams

26 Aug, 2015
Xebia Background Header Wave

Product development, using Scrum, occurs in small pieces, with each piece building upon previously created pieces. Building products one small piece at a time encourages creativity and enables teams to respond to feedback and change, to build exactly and only what is needed.

Agile practitioners have long noted that teams are most effective when they are between 5 and 9. Once they grow to about 11, sub teams start to form. The normal explanation is that as team grows in size, the communication costs grow simultaneously.

Team size

Small scrum teams are generally more efficient than large teams, and they are easier to manage too. The Scrum team usually contains anywhere from 5-10 people, although Scrum also offers convenient scalability. None of the traditional software engineering team roles are upheld with Scrum. Instead the team gets together and uniformly decides to commit to a task during each sprint session and then push forward to complete it together, thus building a rapport among the team members.

A small team following Scrum software development process generally includes these roles:

  1. Team lead – Also, called a Scrum Master or team coach or project lead in other methods, is responsible for facilitating the team, obtaining resources for it, and protecting it from problems.

  2. Team member – He/she is sometimes referred to as developer or programmer and is responsible for the creation and delivery of a system.

  3. Product owner – The product owner, called on-site customer in XP and active stakeholder in AM, represents the stakeholders.

  4. Stakeholder – A stakeholder is anyone who is a direct user, indirect user, manager of users, senior manager, operations staff member, who funds the project.
    8 ways to make Scrum appropriate for small development teams

    1. The product owner is the key stakeholder or the key user in the project. He usually also represents other users and customers.
    2. The Scrum Master is responsible for ensuring that the product is being built the right way. He ensures that the team is being productive by assisting the team with implementing the Scrum process. He also helps remove any obstructions to progress during the sprint.
    3. The first step that takes place at the beginning of each sprint is a sprint planning meeting where the product owner and the software development team discuss the highest priority items on the product backlog.
    4. They figure out how many items they can actually commit to completing during that sprint and create a sprint backlog which is essentially the list of tasks that are to be performed during the sprint along with an estimate for the amount of time each will require.
    5. At the end of each sprint, the team is required to produce and demonstrate a potentially shippable product increment.
    6. During each sprint session, the team also attends daily scrum meetings of no more than 15 minutes to discuss their progress and any possible hindrances in the way of delivering working, high-quality software.
    7. At the end of each sprint, a sprint review is conducted where the team has to demonstrate the functionality that was added during the sprint. The idea is to obtain feedback from the product owner and other users whose feedback can be incorporated into the functionality. It may also mean adding more items to the scrum product backlog.
    8. Another activity called the sprint retrospective is performed as well at the end of each sprint in which the whole team including the Scrum Master and the Product Owner take part in order to reflect on the sprint that just ended and identify innovative ways to improve in the upcoming sprint.

    What else you can do while running a small development team

  5. Keep the team focused – Scrum helps in focusing the team on the end goal on a daily basis

  6. Make sure to hire the best – Always ensure to hire the best developer and keep them highly motivated by keeping them happy. In a small team, average or unmotivated developers can really hurt the productivity of the whole team.

  7. Outsource your non-core tasks – Even if you have a small team you can always expand it to a larger outsourced team to be able to do more with less.

    Error: Contact form not found.

Anirban Guha
Software Engineer at coMakeIT
Questions?

Get in touch with us to learn more about the subject and related solutions

Explore related posts