Before I decided to make a career change and come to Thought Ensemble, I had forgotten what it was like to have my peers ask, “So, what exactly do you do?” In technology, and specifically technology consulting, the traditional answers are not only vague, but relatively uninteresting to someone who is not in the industry. At times, my response couldn’t even hold my audience’s attention for longer than a minute. After giving this issue some thought, I realized that my answer was limited because I was using very specific technology jargon and concepts that the people around me were not familiar with. After going through this experience about 15 times, I decided that my first blog post would focus on educating friends, colleagues, and peers about at least one aspect of what I do in a way that they would find more interesting. So today, I’ll be talking about Agile software development teams using football as an analogy. Hopefully this analogy gives you a high level understanding of how Agile teams are formed and what the roles and responsibilities are for key members. And if you already have an understanding of Agile teams, hopefully this will provide you an easier way to discuss them with people who aren’t exactly sure what they are.
So, what is an Agile software development team?
Like a football team, an Agile software development team is composed of highly skilled individuals who each play a specific role in working together to win a game (or complete a software related project). Play by play, each member of the offense does their job to help incrementally move the team down the field a few yards at a time, scoring points as they go.
And what does that look like?
Football: Before going into a game, the coach comes up with a game plan.
Agile: Before starting a software development project, the business outlines a set of requirements needed for the software project to be considered complete. Basically, a list of features and functionality they want to have in the software.
Football: During an offensive drive, the team huddles before each play to discuss blocking assignments, routes, and options. Play by play, they work their way down the field scoring points if they succeed, the level of difficulty of their achievement determining the number of points they earn.
Agile: During an Agile Sprint (usually about two weeks), each team member is assigned a set of stories they must complete during the sprint. Each story is worth a different number of points depending on the difficulty. Each morning during a Sprint, the team holds a quick 5 minute stand up meeting (like a huddle) where each team member says what they are working on for the day and what they need help with.
Football: As play progresses, the coach alters the team’s strategy to ensure a win.
Agile: At the end of each sprint, the team breaks down what went well and what didn’t go well, and makes adjustments for the next Sprint as necessary.
Who’s who and what do they do?
The General Manager: The Product Owner
In football, the General Manager typically handles player and coaching staff contracts. Building a team that will enable them to win. In Agile, this is the Product Owner. The position is usually filled by a high level director, VP, or CIO who in many cases works closest with the Scrum Master (coach) and the Project Manager (QB) to verbalize their vision and long term goals for the team.
The Coach: Scrum Master
In football, the coach is in charge of strategy and tactics, making the game plan, calling plays, and changing directions if things aren’t working. In Agile, the Scrum Master is responsible for helping the team become more efficient, and having a general knowledge of the entire project. They continuously work with the team to identify what works well and understand what needs to be changed in order to be successful.
The Quarterback: Project Manager
In football, the QB is the position that controls the game. They tell the rest of the offensive team what plays to run and what to do during those plays. They work closely with the coach to make sure they are always driving forward. In Agile, the Project Manager (or PM) is responsible for keeping the project on time and understanding any problems/bugs that may come up. Think of this role as the coach on the field. In some cases, the PM and Scrum Master have to continually iterate processes based on what they have seen from the team. The PM meets weekly, and in some cases daily, with everyone that is responsible for the project. He or she is responsible for driving the project into the end zone.
Receivers/Running Backs: Developers
In football, receivers and running backs are your driving positions. The QB gives them the ball in order to make yardage. In Agile, your developers are the people moving your project down the field when they write the code that makes the product come to life.
Offensive Line: Business Analysts
In football, the offensive line protects the quarterback. They enable him the time he needs to make a play. If they don’t do their job, the quarterback is sent scrambling and becomes prone to make a mistake. In Agile, the Business Analysts on the project are the ones protecting the team from missing any requirements or developing the wrong functionality. A business analyst works very closely with the team to document exactly how the product should behave and when.
Defense: Quality Assurance Team
In football, the defensive team is there to make sure the successes of the offense lead to a victory. Without the defense, the offense’s points don’t matter. In Agile, the Quality Assurance team (or QA) is your defense. They are there to find any bugs in the software that could prevent your project from being a success and winning the game.
While there are certainly other roles and processes involved in Agile development teams that were not listed above, this is enough to give you a high level understanding of the basics, and hopefully in a way you find more interesting. An important thing to note, just as in football, in order to be successful, each team member needs to understand their role and their responsibilities. In the words of the great Vince Lombardi: “Individual commitment to a group effort – that is what makes a team work, a company work, a society work, a civilization work.”