As I have mentioned before, it is clear that Agile has taken the software development world by storm. Industry studies have gone so far as to call Agile mainstream, noting that it is the most widely used development methodology on the industry, with a 35% adoption rate (West, Grant, Gerush & D’Silva, 2010). One of the tenets of Agile is that it favors "Individuals and interactions over processes and tools" (Beck et al., 2001), which means that, as opposed to other development methodologies which focus on processes, Agile places a greater focus on the people that participate in creating software: the Agile team. So what is the Agile team? How is it different from a regular team? And what are its social implications? I will answer these questions from the point of view of the most popular implementation of Agile: Scrum.
In Scrum, the Agile team is comprised of three Scrum specific roles: the product owner, the development team and the scrum master. The product owner is in charge of the overall vision of the product. The development team is in charge of translating the vision of the product into working software. Finally, the scrum master is a facilitator, someone who removes impediments and does whatever is necessary so that the development team can get its work done. These three roles communicate with each other via the Product Backlog, which is created by the product owner and serves as a concrete list of the goals of the project.
The Scrum team is different from traditional teams in that for traditional teams, the original requirements are created in the beginning of the project, are usually very detailed, set in stone and they never change until the project ends. In traditional teams, the development team has little to no say on what needs to be done. In Scrum, however, the Product Backlog is a living document, where the vision for the product is constantly reevaluated as time goes by. In Scrum, the development team is actively involved in the Product Backlog taking responsibility for estimating the effort needed to bring the vision to reality. Whereas in traditional methodologies the communication between owners and the development team is mostly one way, in Scrum their communication is a dialog.
These differences create a new social dynamic in a Scrum team. The approach used by Scrum creates a team where everyone is involved in the decision making process, as illustrated in the chart below.
In Scrum, the whole team is aware of the comings and goings of the project and knows the reasoning behind the different decisions that impact their day to day work. This in turn leads to the team becoming cohesive and cognizant of the needs and motivations of all team members (Whitworth, Biddle, 2007). In my experience, as a member of an Agile team, these factors lead to a team that is more committed, more productive and ultimately happier. What is there not to love about an Agile team?
- Whitworth, E., Biddle, R., (2007) "The Social Nature of Agile Teams," Agile Conference (AGILE), 2007 (26-36) doi: 10.1109/AGILE.2007.60
- West, D., Grant, T., Gerush, M., D’Silva, D. (2010) "Agile Development: Mainstream Adoption Has Changed Agility," Forrester Research
- Beck, K., Beedle, M., Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marick, B., Martin, R., Mellor, S., Schwaber, K., Sutherland, J., Thomas, D., (n.d) Manifesto for Agile Software Development Retrieved September 14, 2014, from http://agilemanifesto.org/