An Agile Software World
Since the emergence of the first agile software development methods more than 20 years ago, development teams around the world have undergone a significant cultural shift. The traditional waterfall approach to running software projects sequentially has been gradually replaced by iterative project management styles. This has enabled organisations of all sizes to scale successfully by remaining resilient in a business environment full of uncertainties. Agile methodology appears to be transforming companies across sectors, but is it really the dominant trend in the software industry nowadays? And if it is, which particular implementations of agile are the most widely used by developers?
To gain more insight into the above questions, we asked 11,700+ developers in our latest Developer Economics survey about the project management methodologies they follow in software development. The data we collected provides clear evidence that agile is indeed the most commonly adopted practice in the software industry.
Agile is an umbrella term used for processes like Scrum and Kanban that emphasise short release cycles, rapid response to changing requirements and continuous improvement through regular customer feedback, as described in the Agile manifesto of 2001. According to our survey data, more than half (58%) of developers say they follow a project management methodology that can be classified as agile.
By comparison, the once ruling waterfall methodology is currently used by only 15% of developers. Waterfall’s biggest advantage, i.e. its sequential approach, is also its greatest limitation: in projects where the goals are not clear from the beginning and requirements change continuously, waterfall fails to adapt and deliver results quickly.
SCRUM IS LEADING THE AGILE REVOLUTION
Scrum was conceived in the mid 1990s as a response to the shortcomings of waterfall and is now the most popular project management methodology, followed by 37% of developers. As a framework that puts the core principles of agile into practice, Scrum enables teams to break down large, complex projects into a series of smaller iterations (or sprints) and ship high quality products faster and more frequently.
Kanban is another prominent agile project management framework, although its popularity is significantly lower – nearly half of Scrum’s (20% vs 37%). The two methodologies share some of the same core values but have very different implementations. Most notably, Kanban is lighter on structure as it’s not constrained by fixed-length iterations, but instead it prioritises continuous delivery of work to customers (even multiple times per day) as long as the capacity of the team permits it.
Only 6% of developers blend the concepts of Scrum and Kanban into Scrumban, indicating that agile hybrids are not common. Agile-waterfall hybrids, in contrast, are the second most popular choice for developers (21%). This is most likely a sign that many organisations remain skeptical towards agile development and prefer a slower transition to it by mixing some of the less controversial agile techniques with the traditional waterfall method.
Other well-established agile frameworks such as Feature-driven development (FDS), Extreme programming (XP) and Lean are used by about 10% of developers, whereas Adaptive software development (ASD) and Dynamic systems development method (DSDM) – both outgrowths of the early Rapid application development method – appeal to more niche audiences. Interestingly 23% of developers don’t use any specific methodology in their projects, although – as one may expect – it’s mostly amateurs who do so (40%) and to a much lesser extent professionals (17%). Another 19% of developers (18% of professionals) do not follow any specific project management process for some of their side projects, which in most cases are hobby endeavours.
Our data reveals that developers tend to follow multiple methodologies across their projects (2.7 on average), with Scrum being the most frequently co-used framework along with other methodologies. This implies that Scrum often acts as a “touch point” for development teams landing on the world of agile or as a starting choice before transitioning to less structured agile processes. For example, 66% of developers using Kanban and 57% using XP also use Scrum, as opposed to only 36% and 13% of Scrum followers also using Kanban and XP, respectively. Among developers following the waterfall model, more than 40% also use either Scrum or an agile-waterfall hybrid (like Scrummerfall) while the adoption of any other framework is below 25%. It seems that Scrum’s simplicity, clearly defined roles and timeboxed nature attract development teams who want a smoother transition from traditional waterfall to more flexible approaches.