How Agile Was Influenced By Modern Technologies
The agile methodology is evolving. Some of the practices that defined it 20 years ago are now obsolete or no longer practical, thanks to modern technology. What does it mean for software developers?
In a recent blog post, Jason Bloomberg of Silicon Angle poses a rather interesting point, that agile is dead. He’s pretty straightforward in the article, Agile is Dead, Deal with It,” which contends that “Agile has outgrown its usefulness,” and organizations must now find alternative ways strategies for software development management.
If you’re an avid fan of agile, you’d instantly rebuke Bloomberg and even dismiss his views as baseless and perhaps attention-seeking.
However, a closer look at the agile landscape and evolution of agile methodologies reveals that although he’s wrong, he still has a point.
Agile, as we knew it 20 years ago, is no more. The field has evolved significantly to the point that it may be difficult to recognize the older trends in the current agile strategies.
A Brief History
Perhaps we should begin with a recap of the evolution of agile as a recognized strategy in software development.
When Extreme Programming launched the agile movement in 1999, the founding principle was to have a method that motivated and empowered software developers, relying on technical excellence and simple designs, to create business value by delivering outcomes to users at regular intervals.
At the core of this new approach was building a self-organizing team whose members collocated and worked at pace to sustain productivity and creativity. The idea was to encourage practices that accommodate changes in requirements at any stage in the software development life cycle.
Moreover, agile methodologies actively involve customers (or their surrogates) in the software development process. Customer feedback facilitated reflections that led to more satisfying outcomes.
While these practices weren’t new to software developers and the software development industry, the way the principles were organized together into a compelling theoretical and practical framework were definitely novel.
However, since its inception, developers and researchers have tried to explicate agility and its different facets. For instance, most organizations define agility as the ability to rapidly and flexibly create and respond to change. Meanwhile, others believe it’s all about lightness or leanness, i.e., having fewer formal processes.
“Agile” also has different definitions in other industries. In manufacturing, many users define it as adapting to different changes and refining/fine-tuning development processes for maximum productivity and outcomes. Others also see it as a development team’s ability to effectively act on and incorporate end-user interest during the software development life cycle.
Agile Methodology Today
All the above definitions are valid–in a way. But what’s even more important is the impact of modern technology on how to live by your definition.
- From face-to-face to online communication. Consider the need for face-to-face interactions, for example. The original definition of agile vouches for face-to-face interactions – it insists on being present in person. When Jeff Sutherland, creator of the widely used agile method known as Scum, reported back in 2005 that distributed and outsourced workforces can be just as effective as small collated teams, the agile community came out guns blazing. His report was dismissed, with the agile crusade insisting that face-to-face communication is a must.But what happens when you have a situation such as the Covid-19 pandemic? What happens when you can’t have face-to-face interactions anymore because of a deadly virus that has necessitated strict social distancing restrictions? It requires technology to bridge the gap to keep production ongoing. Otherwise, software development may stall altogether. As much as teams would like to meet in person, they’re forced to schedule online conferences and Zoom calls.
- A greater focus on tools, not people. Technology has also changed agile methodology by shifting focus from individuals and interactions to processes and tools. Agile is very clear that organizations must focus on what individuals bring to the team and how members of the team interact. The processes necessary to achieve these interactions and tools necessary to get work done are second in importance. However, the new tech wave, plus the Covid-19 interruptions, have shifted the conversation to tools and processes. More developers and their organizations are now more worried about obtaining the right conferencing and collaboration tools than optimizing individual output. We now spend more time thinking about how to get the job done. While it’s a difficult period, and organizations must adapt to stay afloat, this shift in focus is another evidence of how modern technology has changed agile methodology.
- No one writes ideas down anymore. Finally, the agile methodology also advocates for deep thought. Agile-2 specifically highlights the need to “respect cognitive flow.” It also encourages deep thought and exchanges where people sit and go deep into a topic to find solutions to existing challenges. But who does that anymore? Very few people. The main reason? Technology. In the past, people could sit and spend hours exchanging ideas and brainstorming solutions. There were fewer distractions. However, today, meetings are disrupted every second by ringing phones and alarms. Team members are constantly excusing themselves to pick a call or reply to a text message. Others are also too distracted by smartphone apps to participate in deep exchanges. It’s not to say that tech devices are not important. But, you can easily see that they compromise the original principles of agile development. It’s also not to say that we can’t practice agile development with phones and smartphone apps. It just means that we have to do it slightly differently.
Adapting to Change
The key takeaway here is that agile isn’t the same agile we knew 20 years ago. While the main principles remain, it’s no longer possible to practice agile in strict adherence with the traditional requirements–thanks mainly to changing technology.
Agile-2 attempts to address these issues and their impact. It also recommends a few ways to implement agile methodology while simultaneously embracing technology–because technology is just as important as any software development strategy.
Contact NIX Solutions to learn more about agile development, its benefits, and how you can bring the approach to your organization.