How an Agile Team is structured is an important question that needs to be addressed in order to start a project using Agile. Under the Agile framework are various methodologies such as Scrum, Extreme Programming (XP), Crystal, Lean and Kanban. All of these approaches follow a basic structure consisting of a core team and the extended team. The extended team consists of the owner, key stakeholders, manager, and sponsors while the core team consists of the architect, developer, technical lead, iteration manager, and analysts. For smaller groups, multiple roles can be played by each member and depending on the project, only certain roles are necessary.
The Agile team is interchangeably called a Scrum team since Scrum is the simplest compared to the others and is used by a wide range of companies. For this reason, I will focus more on the Scrum organization structure. The Scrum team is cross-functional, meaning that each member has different expertise. It composes of a Scrum Master, the Product Owner, and members who develop, test, and finalize the project. The Scrum Master coaches the crew as they use Scrum; he or she gives honest feedback and motivates them to work at their highest level. The Scrum Master facilitates interactions among the team but each member manages themselves. As mentioned in an article by Hoda, Noble, & Marshall (2012), self-organizing teams are informal and team members choose their own affairs and play roles that pertain to the task (p.426). The Product Owner provides the functionality requests to choose from and these are managed through backlogs.
Backlog and Its Importance
A product backlog and a sprint backlog are two of the major components that make Agile effective. A product backlog is a list of requirements created and arranged by the Product Owner based on its level of importance. The product backlog is improved by additions of new features and removal of unwanted aspects over the duration of the project. Since the product backlog provides the team an understanding of the project envisioned by the Product Owner and for what reason it was chosen, members are able to set their goals towards a satisfying outcome. On the other hand, the sprint backlog is the list of the tasks needed to meet the requirements with an estimated completion date. The team plans and decides which product backlog items to put on each given iterations or sprint and individually commits to certain tasks. A case study by Paasivaara and Lassenius (2012) explains that there is typically a daily meeting in which the product backlog and the sprint backlog are discussed to finalize some work items, examine any unexpected occurrence and other issues relating to the project (p.408). The main purpose of a sprint backlog is to track the progress of the project development and the status of the tasks, exposing which areas need changes and which ones can be further improved.
Hoda, R., Noble, J., & Marshall, S. (2012). Self-organizing roles on agile software development teams. IEEE Transactions on Software Engineering, 39(3), 422-444. (2012, May 8). Retrieved September 20, 2014, from IEEE Xplore Digital Library.
Paasivaara, M., & Lassenius, C. (2012). Agile coaching for global software development.Journal of Software: Evolution and Process, 26(4), 404-18.