If you are starting on new on agile methodology for application development, the question on what does agile team composition look like is a commonly asked one? The article presents the agile team composition for SCRUM development model.
Given the fact that there will be multiple agile teams which may work towards release one or more products in an organization, following questions get tricky:
- Do we need one business analyst for each SCRUM team?
- How to deal with performance engineers? Should there be one in each team, or should there be centralized team?
- How to seal with security specialists? Again, should there be one security specialists for each team, or should there be centralized security team?
- Do we need a product owner for each SCRUM teams?
- What is the ration of application developers to testers in each SCRUM team?
In my experience, I found following agile team composition working in an efficient and effective manner:
- Business Owner: Business owner works with one or more product owners in the respective line of business (LOB) to lay out product feature backlogs which is taken by different sprint teams.
- Product owner: There is a need of a product owner catering to one or more SCRUM team.
- Business analyst (BA): There is a need of one business analyst for each or at the maximum two teams. This is because BA need to work closely with the SCRUM team and having one BA work with more than one or two team may not be a good idea. The role of BA is to work with product owner on describe stories to the developers and testers.
- SCRUM Master: This is a person who makes sure that various different teams keep functioning without issues. He leads the SCRUM ceremonies such as planning & retrospective meetings.
- Developers & Testers: Yes, there will be developers and testers in each SCRUM team. Goes without saying. Isn’t it? 🙂
- Performance Engineers: There can be centralized agile team consisting of a set of performance engineers catering to backlog of performance stories submitted by different SCRUM teams.
- Security Specialists: There can be centralized agile team consisting of a set of security specialists catering to backlog of security stories, especially, vulnerability scan and penetration testing, submitted by different SCRUM team
- Infrastructure team: There can be a centralized agile team consisting of build engineers etc.