Adaptation through agile software development

The real world is brutal. You’ve heard it all before. This globalized world is becoming more competitive than ever; it’s getting harder and harder to succeed out there, especially when it comes to software development. Who can compete with the likes of Apple, Google, and Microsoft in developing ideas and software? It seems as if there is no hope for the underdog in this dog-eat-dog world of business. But that couldn’t be farther from the truth.

Take Spotify for example. It’s competing with mammoth businesses known as Apple Music, Google Play, and Microsoft. These companies have nearly unlimited resources, money, prestige, and power. Apple delivers updates at lighting speed, Microsoft has the capacity to enlist thousands of testers on the early versions of their products and has a 3,000 person team for all their development projects. Google has 15,000 developers working on one branch of code and run 75 million automated tests every day. Ouch.

Dr. Jeff Sutherland, a big name in software development, puts it very nicely by saying “Google, Amazon, and Apple could crush Spotify in a nanosecond if the company wasn’t perpetually striving to be faster, better, and cheaper. To survive, Spotify has to be Agile. They have to keep on running out ahead”. What do they mean by “Agile”? What is Agile, and why is it giving Spotify, a relatively small $4 billion start-up, an edge against the hegemons of software? Let’s start from the beginning.

In 2001, a small group of software developers got together and said that the traditional approach of managing software development projects was failing too much.  Software on a computer can perform complex tasks and computations that the user needs, like play music, perform calculations, or simply log on to a computer. Traditionally, the client would contact the software developer and give them an exhaustive list of what they wanted. Then, designing the software would commence, followed by coding the software, testing it, and the final deployment.

Image from Flickr Creative Commons.

Image source: Flickr Creative Commons.

Traditional methods require the project to be completely visualised before the building starts. This method was too time consuming; there had to be a better way. Thus, the Agile Manifesto was born. It has 4 important values, starting with “we value:

  1.       Individuals and interactions over processes and tools
  2.       Working software over comprehensive documentation
  3.       Customer collaboration over contract negotiation
  4.       Responding to change over following a plan”

Agile is based on teamwork. It’s like working in a mini-startup where people pitch in and do whatever it takes to make the project successful. But the narrowly defined roles like analyst, programmer, and tester, don’t really exist. Agile methodology builds software piece by piece, incrementally, from the start of a project instead of delivering it all at once. It’s like shipping parts of a house separately instead of clogging up the highway with one of those trucks that ships homes. The Agile approach breaks the project down into little bits of “user functionality” called user stories, and continuously delivers them in short 2 week cycles called iterations.

Now, how is a business considered Agile? It means they implement the ideas of Agile into their organization. Spotify organizes its international team into small clusters called “squads”. Each is completely autonomous, and focuses on a specific function in Spotify, like tracking what music the user likes best and what music is becoming popular. This approach is key to quickly developing and delivering software updates consistently. Coding, designing, testing, is all going on at the same time. This way, any errors in the software can be found quickly if all the processes of creating software is going on at the same time. “The simple reality is that in order for your smaller, growing software company to compete with the big dogs, is that it has to nail Agile”, says Dr. Sutherland.

Image from Flickr Creative Commons.

Image source: Flickr Creative Commons.

However, Agile is capable of going wrong. The creation of healthcare.gov was an Agile project, but its release was a complete failure. The federal government had worked on the website for years but it was only tested for 6 days. It was developed the Agile way (step by step, incrementally) but released all at once nationally: the Agile way would have been releasing the website state by state in order to catch errors quickly and see where it needed any fixes. The problem essentially was that “there were too many cooks in the kitchen, and not any clear owners”, as Dr. Sutherland puts it.

Graham Grable, a pioneer of the University of Georgia’s first Small Satellite Research Lab, sums up Agile quite nicely by saying “this is really something that 20-30 year olds are doing, and dinosaurs who can’t adapt are being pushed out. It’s exciting because it’s changing the landscape of the work environment, much how computers on desks did”. So this is for the disheartened millennials out there frustrated with competing with the much larger, older workforce in software: if you don’t want to be left in the dust, Agile is the way to go in this globalized, competitive, and brutal world.

About the Author

Ana Mandujano is an undergraduate student in the School of Public and International Affairs studying International Relations and pre-medicine. When she’s not studying for organic chemistry and strategic intelligence, she’s a Spanish interpreter for Mercy Clinic and ruining movies for everyone by pointing out historical inaccuracies. More from Ana Mandujano.