Like "DevOps" and "continuous integration," "agile" is one of the biggest buzzwords in the software world. With all of the hype and excitement surrounding agile software development practices, it's understandable if the actual definition of the term has slipped by you. So what does it mean when we say that a business is "agile," and what is an “agile transformation”?
What It Means to Be "Agile"
Agile is a movement that began in software development, but has now spread to other parts of technology organizations, and even to other industries. The original "Agile Manifesto," written by seventeen software developers in 2001, laid out the four major priorities of the movement:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
This initial outline, though rough, has served as the basis for a wide-ranging variety of agile implementations. Although people and companies have interpreted these four directives in many different ways over time, the unifying thread between them is their emphasis on the human side of business.
Above all, the agile movement focuses on what goals people have and how they communicate and collaborate to achieve them. In addition, it seeks to make organizations more flexible and resilient in a fast-changing world—exactly what its name implies.
Although software development techniques like scrum and kanban have co-opted agile terminology, it's important to note that they are not the same thing as agile. Rather, both scrum and kanban are agile software development frameworks. They use agile as a general foundation to paint a more specific picture of what good software development should look like.
As the name suggests, an "agile transformation" is any shift that leads to an organization adopting the principles of the agile movement. In order to be successful, agile transformations must involve changes in three domains: people, processes, and tools.
- People: As the old truism goes, organizations are made up of individuals. Moving to an agile workplace means that your employees must adopt a new mindset, acquiring new skills and knowledge that will change the way they work, communicate, and collaborate.
- Processes: Agile transformations require new strategies and techniques to be implemented across teams, departments, and the entire organization.
- Tools: Switching to agile will mean adopting new tools and systems, and abandoning old ones, in order to make your workforce sleeker, speedier, and more limber.
Organizations Making the Shift
By now, countless organizations have used agile practices to improve their software development workflow. Tech giant Cisco, for example, has written about how it used agile software development on its Subscription Billing Platform (SBP) project. Originally, the SBP team used the waterfall model of development, meaning that the software was created incrementally. Developers could start work only when the designers had finished, and testers could begin testing the software only when the last line of code had been written.
The SBP team first tested using agile practices to make minor enhancements. Team members worked in three "trains" that each had separate responsibilities: defects, capabilities, and projects. Designers, developers, and testers all worked together within the same train.
After adopting this new agile perspective, the team released the next version of SBP on time with all of the expected features included. What's more, critical and major issues plunged by 40%, while the team's productivity increased by 14%.
Similarly, Comcast started by rolling out agile DevOps processes to small hand-picked teams before having the engineering organization adopt the methodologies as a whole. Once those small teams saw an increase in productivity and reliability, the buy-in from the rest of the organization was easy.
They also point out just how different the new processes are from their traditional ways and the impact it has on individual team members. Rather than the scope of work for an individual being small, they’re able to interact with all aspects of the project. This organically broadens the skill sets of each individual, and in turn makes the entire team (and final product!) that much stronger.
Businesses far outside the software industry have also had major successes implementing agile project management within their organization. Consider the case of National Public Radio. Traditionally, new NPR shows were rolled out slowly, and only after millions of dollars had been spent. After the Bryant Park Project show was cancelled in 2007 (with a $2 million yearly budget), NPR didn't create any new programming for five years.
In 2012, however, NPR launched a new round of programs using a more agile approach. The shows were developed at a third of the typical cost, put on the air quicker, and intended right from the start to accommodate listeners' feedback.
NPR's digital media team figured out how to apply the agile concepts of iterative development (changing shows based on audience opinions) and simplicity (adapting existing shows into new ones) within their organization. According to Eric Nuzum, NPR's vice president of programming, switching to an agile mindset has led to "a tremendous amount of success."
What To Consider When Making the Shift
Has your organization already begun their agile transformation, or are you thinking about bringing it to the table? Here are a few things to keep in mind before you step on the gas.
- Change isn't easy. Remember that you're modifying the way that every single person in your enterprise carries out their work. Agile transformations can't happen overnight. Moving to a wholly agile mindset will require a change in your organizational culture, which will require months or years of effort.
- Start small. Companies like Cisco and Comcast tested agile development on individual projects or teams before they adopted it wholesale. Just as you can't change your workplace culture by waving a magic wand, replacing your processes and methodologies will take strategic implementation, so experiment and see what works best for you.
- Measure what matters. Becoming an agile organization means that you now prioritize agility. Instead of tracking traditional key performance indicators (KPIs), pay attention to how well your organization can adapt in a constantly shifting business landscape. This means emphasizing factors like customer satisfaction and employee morale.
Hopefully the above thoughts were helpful, whether you’re completely new to agile or this was a refresher. ZenHub is helping some of the world’s largest organizations integrate agile best practices into their workflows. Learn more about our on-premise project management software built natively inside of GitHub Enterprise.