Why Agile is a Competitive Advantage in a Digital Age
This article was sponsored by Atlassian. Thank you for supporting the sponsors who make SitePoint possible.
Atlassian, the company behind the popular project and issue tracking software JIRA, recently partnered with Harvard Business Review Analytic Services to write a report on the successes of agile software development. The report outlines the recent shift in development trends, and how the increase in competition requires software teams to meet deadlines faster than ever. Moving to an agile workflow is the key to rapid development and release cycles, but there’s a trick to doing agile the right way. Let’s go over a few key points highlighted in the report in order to gain a better understanding of the best way to do agile.
The History of Agile
As it turns out, the agile process has been around for some time. Nearly two decades in fact. But only recently has the method of software development gained acceptance as a mainstream best practice. Although its taken a while to grow in popularity, the report from Atlassian and Harvard states that “IDC estimates the market size for agile lifecycle management tools will surpass $1 billion in worldwide revenues by 2017.” This means that agile’s popularity shows no signs of slowing down. Isn’t it time your team took notice?
So what makes agile so special? As the report outlines, agile differs from the traditional waterfall approach to programming. This waterfall method breaks down programming into several iterative steps, including planning, design development, testing, and implementation. Each step is designed to take place in succession, with no overlap occurring between the next. As you may be aware, this approach has its difficulties. Each step can take a long time to be completed, and often gets delayed due to changing business requirements. Of course the most important reason to choose agile over the waterfall approach is communication. With the traditional waterfall approach, it becomes difficult to create an environment of teamwork and collaboration, since each phase of the project needs to happen successively.
With agile, the waterfall approach is broken up into a much smaller scale, so that incremental parts of the project are can be iterated on at a much faster pace. This in turn promotes teamwork and communication, since all team members are encouraged to work with each other in order to deliver a smaller piece of the whole project.
Making Agile Work
You may already be sold on the success and reliability of the agile method, but it’s important to remember that teams may still fail at enabling agile to work for them. Atlassian and Harvard found that many companies still struggle to get the most from their agile implementations. Most of this occurs due to an underestimation of the time and effort involved in successfully implementing the agile method.
One of the most difficult parts of successfully implementing the agile process is the necessary cultural change that’s required. Implementing agile successfully takes both cultural and organizational changes from the outset. Those changes aren’t just for the engineering team, either. In many cases, adopting the agile method means a shift for the entire company.
Extending Agile Across Your Company
If you want agile to work for you and your team, it may require a culture change across your entire organization. As Atlassian and Harvard explain, adopting agile practices is an easy task. Changing your business culture to fit those new practices however, can be much more difficult. It’s important to remember that developers often work with those outside of the engineering team. Agile becomes easier when everyone in the organization understands how to work in such a way that the agile method continues to improve your engineering team, as well as the pace at which releases occur.
Communication is Key
Communication is another important part of a successful agile development strategy. In fact, communication may just be the single most important part of the entire agile process. As stated in the report from Atlassian and Harvard, “When implemented properly, project visibility greatly increases and communication breakdowns occur far less frequently. That’s because everyone can see, and constantly discuss, what everyone else is working on at any given moment.”
One of the best ways to improve communication is to ensure that your team can be in the same place at the same time. This of course is much harder to do when engineering teams can be remote or offshore. When it’s possible however, the benefits are easy to see. A simple change, such as exchanging cubicles for an open office layout, can allow your team to communicate much better with each other. This in turn will enable your projects to be completed on time and without the common breakdowns in communication that lead to delays.
Product management can also play a large part in the success of agile. Ensuring that your product managers are as accessible as your engineers, helps to ensure that any questions or hiccups can be quickly addressed. This will also play an important role as your team grows. As Atlassian and Harvard outline in the report, as agile development groups grow beyond 100 team members, coordination between stakeholder needs and concerns can be hard to address without attentive and accessible project managers.
While the agile method is certainly growing in popularity, it can be very challenging to implement in a way that works for your team. As we’ve seen here, there’s plenty to think about in regards to adapting the process. Communication, culture, and company-wide adoption are all important parts of a good agile implementation. If you’re interested in learning more about agile and how you can make it work for your engineering team.