In 2011, Marc Andreesen published an Op-Ed in the Wall Street Journal entitled Why Software Is Eating the World. This article is now seen as both a prophecy and rallying cry for programmers. In it, Andreesen lists the industries and companies that had been supplanted by tech companies; and that was back in 2011. The list has only grown since then.
Certainly, there are those who are feeling the brunt of this change. Workers in factories have lost their livelihoods due to automation. Frontline workers at fast food restaurants are being replaced by kiosks. And, the byzantine processes of banking and investment are being mapped, streamlined, and automated with software.
It’s a little deceiving because we all tend to think of ourselves as taking part in the digital revolution. We have smart phones, we watch Netflix, and we book our hotels online. We’re digital, right?
Sort of. There’s a big difference between those who participate in the digital revolution, and those who drive it. Participating as an individual is easy because all these digital services are simple to use and make our lives better. As a business, winning in the digital revolution is extremely difficult because it means creating these digital services from scratch, which is a lot harder than most of us give it credit for. But the challenges and risk of creating software is worth it for those that can succeed and capture market share.
So how do you do it? Commercial grade software is the driving force of the digital revolution. And while the number of software developers grows every year, very few companies have succeeded in using software to make their services scale. This is because commercial grade software cannot be created by an individual. It takes the right mix of culture, talent, time, and teams. Getting this mixture right is a new and evolving study in leadership and has broadly become known as ‘Agile.’
The term ‘Agile’ had its genesis in 2001 when a group of seventeen of the nation’s top programmers met in Snowbird Utah to ski and talk about software. Over three days, they came up with the Agile Manifesto - a one page declaration of values for software development.
The word ‘agile’ was chosen to contrast against old-school project plans, often referred to as ‘waterfall.’ Traditional projects had long and inflexible planning (like building a house or creating a production line at a factory). Waterfall projects rely on planning out a long, straight timeline with a specific deliverable at the end. This kind of project management works well for some projects, but it doesn’t work well for software creation. Agile development embraces the fact that the project will change along the way. Less value is placed on strict, up-front planning, and more value is placed on flexibility, and delivering working software along the way.
Managing software creation is fundamentally different than other professional endeavors. You can’t use the same management tools and techniques that we have used for farmers, factory workers, or even bankers. When you’re producing a different kind of product, you need a different approach to its creation. In short, the term ‘Agile’ has come to be understood as managerial best practices for software development.
Agile isn’t a management fad, and it won’t be going away anytime soon. If a company decides to dive in and compete for market in the digital revolution (and they should!), they will be managing their product and employees in new way. Without exaggeration, Agile is the management practice of the future.