A company today is either thriving, surviving, or dying. Companies that are thriving have figured out one thing that is so critical to their success: software.
To win in business today, we all know that you need an excellent culture, strategy, people, process and technology. Most companies have all of these or can obtain it quickly, so they have to win with a level playing field.
So how do you win? Again, software; software rules.
To win, it comes down to who has the best software development and deployment process that can react quickly to changing customers’ needs faster, cheaper, better and smarter than their competitors. Whoever can do this continuously wins the “Super Bowl” of business, which is market domination and increased market capitalization. These are the only measures of excellence in business.as viewed by the Wall Street and investors.
The companies that are dominating with software today are Google, Apple, IBM, Facebook, Amazon and others. What separates these companies from others is how they can design, develop and deploy software so fast before their competitors can copy it; they stay ahead of their competitors by being on offense and keeping their competitors on defense. Everyone can see what one is doing and can copy it quickly. We are living in a copycat economy, so to remain on top, you have to be very good at innovating.
When I tried to explain agile software development and deveops to a CEO, I had to use lot of jargon that confused him, so I asked myself what example I can use that would explain the way these companies develop software, test it, deploy it and learn from the customer experience quickly and iterate?
That's right, football teams in the NFL have to do it faster than companies, otherwise they can't compete in a very competitive league in which they play. They are all playing to win the game, as Herman Edwards, ex coach of the New York Jets, famously once said in a news conference.
Just like companies, NFL teams have no real advantages. NFL likes to keep the playing field level with all kinds of rules. Teams have no advantage in ownership -- all the owners are filthy rich; teams get equal share from the lucrative TV contracts; teams don’t have advantage in stadium since the dimensions are the same; teams don’t get any advantage with personnel -- they have to add players through draft picks, on open market or through a trade; teams don’t get any advantage with spending more since they all have to be under a salary cap set by the NFL. Thus, you have to win in a league which promotes parity to keep fan interested, entertained and excited.
Football and business have one thing in common in that there are no secrets. Your only advantage is to innovate to get a short-term advantage and capitalize on it quickly before your competitors react, copy and try to neutralize your advantage. The only thing businesses and football teams control is to stay slightly ahead of their competitors. That is the only winning advantage you have today. Hence, it is brutal and getting more brutal in both business and football.
In football, it is even more transparent. Every team has access to all the films of the game so your advantage is even shorter than in business. You have to keep the opponent guessing on a play, drive, quarter and a game. This means you have to continuously innovate with agile play development and effectively use “playops,” putting plays into operation effectively during the game. This is the only way a team has a chance to win in the NFL today. This is what businesses are also facing every day.
How do teams in the NFL win under these constraints?
They have to do it with “software,” which in football means offensive plays. This is the only short term advantage they get in how they design plays, how well the practice them, how well they execute them and review them afterwards to improve upon them. This is their success to winning which companies can learn a lot about how to win in a brutally competitive business environment.
Football is an offensive league that has to constantly innovate and most of the innovation in football has taken place on offense with coaches like Paul Brown, Bill Walsh and Bill Belichick.
All NFL teams start the preseason with the objective of winning the Super Bowl. They all develop a strategy to win by making sure that they have the right coaches and players. In addition they design and practice plenty of offensive plays that will end up in their playbook for the season, which maps to product backlog in scrum, a popular agile software development methodology.
Let’s see who are the key people that make this possible.
A product owner is the coach of the team, who works with the GM, coaches and players to design plays and makes sure he has the right people who can understand the plays, work effectively in his system and execute them in the game.
The scrum master is the quarterback who is responsible for making sure that all the players know what they are doing and is responsible for calling and running the plays.
The scrum members are position players like wide receivers, tight ends, running backs and linemen who are responsible for playing their role in executing the plays the plays so they can be deployed quickly in a game in real time.
In scrum, they have releases. In football, a release can be mapped to a game. Each game will require the team to get together to include plays for that week based on the opponent they are facing. Next, they have to practice those plays, tweak them as necessary (based on how their opponent plays defense) and put in the game’s playbook.
One of the thing that makes football so interesting to study for business is that just because you have well designed plays is half the game. Those plays have to be deployed in drives (sprints) in real time. How effective a team manages its drives with well-executed plays will determine its success. This is not much different than devops in software development and deployment. You have to take plays you have developed and deploy it during the game since that is where you are going to find out whether they work or not. You get an immediate feedback on play’s success or failure. Just like in business, you have to keep iterating in football till you get the plays right, so you have to constantly make adjustments and deploy them either during the same game or in future games. You have to remember that your competition is watching every move you make. They are watching you very closely.
To keep track of your progress, there is a scoreboard (burndown chart in scrum) which everyone can see to indicate how much time is left before the game is over. In software this would be the completion of a release. Note, in football you are developing, testing and deploying it in real time. The game kind maps to devops in software speak since there is no other way to find out unless you get to test it against a competition. This is no different in business. You have to get the product out of the lab and see how the market reacts to it so you can make quick changes to it as required.
At the end of the game, a team can meet for review (commonly referred to as sprint retrospective in scrum) to assess what worked and what did not work and try to improve for the next game (release). During the review (referred to as the sprint review in scrum) a team looks at the whole thing on where they are and what they need to do the rest of the way to get to the Super Bowl. The sprint retrospective equivalent in football focuses on things to work on for the next game whereas sprint review equivalent in football focuses on what you need to do to get to the Super Bowl.
Now obviously, a team wants to win a Super Bowl to be considered the best team for the year, but making it into the playoffs and Super Bowl is a tremendous achievement, signifying that a team has all the necessary components to come back next season and be in a good position to win the Super Bowl.
Competition is brutal in the NFL as is in business. Teams in the NFL have learned that to win, you have to be on offense. To be on offense means you have to design creative plays, practice them, deploy them and learn from them quickly and keep doing this till you make the playoffs and make it to the Super Bowl.
Successful companies have learned to do this and keep on designing, developing and deploying software quickly. The method that allows them to be like an NFL team is agile software development and devops. Companies like NFL know that to win, you have to be on offense and that is the only way you can control your ability to dominate the market and increase shareholder value..
So as you can see if you follow football closely, you now know why agile software development and devops is the only way you can compete and win. If you are not doing it better than others, then you are not going to be thriving, but surviving and soon dying if you can’t turn it around quickly.
Cool Product -- Winning the Super Bowl
Product Backlog -- Playbook of a team containing all the plays they practiced during the preseason
Release Backlog -- Playbook for the game taken from the larger playbook since you can only practice limited number of plays and master
Sprints -- Drives
Tasks -- Plays
Burndown Chart -- Scoreboard with score and time remaining till the game is over
Burndown Velocity -- How much time left and what a team has to do to win the game before the time runs out
Daily Scrum -- team getting together to discuss before the game, during the game, in between ball possession and halftime
Sprint Retrospective -- Post game meeting to review what worked and needs to improve
DevOps -- real-time deployment and adjustment to plays in a drive based on the opponent’s defense and the score of the game
Agile software development + devops -- Agile play development + “playops”
Do you think football is a good metaphor for agile software development and devops?
Do you think software is a way to win in business today?
Can business learn anything useful from football?
How much of an advantage can company realistically expect today before others copy it?
Will you please share this with others? Thanks.