What is agile development?

Need a quicker way than Waterfall to create software? Agile might be for you...

development

Agile development is a methodology that compromises various approaches to create apps and software faster than the traditional waterfall approach. The focus is on cross-team or department collaboration and the continuous assessment of the product or service being produced.

It's particularly important for businesses that create software and applications that need frequent updates and have components built by different teams. As such, it often means that products and services can get to market quicker because each piece can be built and tested simultaneously, rather than building it in a linear fashion.

What is agile development?

The concept of Agile development comes from the Agile Manifesto published in 2001. The idea is underlined by a set of principles that map out its methodology. The highest priority is to satisfy the customer through early and continuous delivery.

Advertisement - Article continues below

Agile methods are a loose framework for the stages of software development. They detail a way to complete work, from planning, execution and delivery that doesn't restrict the developers to rigid processes and delays.

Waterfall methods meant that each element of a project had to be completed before moving on to the next. If there was a problem, this could often mean going back to the beginning and starting with the first stage again - many projects are delayed this way. Under an agile method, however, changes can be made during any part of the process. If a problem arises, the team can adjust and shift resources to fix the issue, without causing a hold up to the overall work.

Agile principles

The Agile Manifesto, set out in 2001, outlines the key principles underpinning the concept:

Advertisement
Advertisement - Article continues below
  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
  • That is, while there is value in the items on the right, agile values the items on the left more.
Advertisement - Article continues below

In short, agile favours speed of delivery, testing, and continuous feedback. Its central principles support this. They are:

  • Early delivery, creating shippable software in two-week 'sprints'
  • Responding to changing requirements
  • Measuring progress with working software as the metric
  • Collaboration between business people and developers through face-to-face conversations
  • Simplification - not making software overly complex
  • Small, self-organising teams that regularly reflect on best practices

Why is it important?

You will often hear of projects running over budget and schedule and not meeting the customer's expectations. In IT, where the building of products and services can be extremely complex and fraught with obstacles, the ability to adapt to change or fix issues on the go can save both time and money, and in some cases the entire project.

Customer involvement is a key factor for agile, allowing them both a view of the build and a chance to give feedback. Rather than a linear operation, where mistakes can mean starting from scratch, agile methods evolve and adapt to suit - for instance, if a customer needed something extra or different midway through the process, a team working with an agile approach would be better equipped to deal with that request.

What types of agile methodologies exist?

Like most tech terminology, 'Agile' doesn't fully describe the approach. There are a number of forms that businesses can use, the most popular being 'Scrum', which aims to extend the concepts beyond IT and into management teams. This approach uses a ScrumMaster to lead the work, but delivering on an end goal is a team responsibility.

Another is Extreme Programming (XP), a model that focuses on the technical side rather than business objectives. Unlike Scrum sprints, which are up to a month-long, XP dictates a maximum of two weeks, although it's more flexible when it comes to changing goals mid-sprint.

Advertisement - Article continues below

Agile advocates who don't subscribe to Scrum or XP will tend to favour Lean Software Development, a methodology coined in 2003 and based on seven principles, which generally favour a back-to-basics approach that cuts out anything but the necessary features to deliver a product as quickly as possible while meeting customers needs and allowing the business-aligned developers to take charge, rather than managers.

Agile v DevOps

Alongside agile, DevOps is another IT methodology that has grown in popularity within the enterprise community. However, there remains some confusion about the relationship between the two, with some organisations treating them as separate disciplines and some arguing that they're basically the same.

In reality, both camps are right; DevOps and agile share a lot of similarities, but they're also different in some key ways and are often suited to different tasks. Both methodologies focus on rapid iteration, regular user feedback and a high degree of flexibility, all in the service of delivering more functionality to end-users over a shorter period.

Advertisement - Article continues below

However, while agile can often focus predominantly on processes and workflows, DevOps generally puts more emphasis on tools and infrastructure. DevOps makes heavy use of continuous delivery, continuous integration and container tools, which allows for the quick revisions and small teams favoured by agile methodology.

In many ways, DevOps can be thought of as an extension of agile. Often, a company will employ agile practices in its software development, only to revert to non-agile methodologies as soon as the product is finished - DevOps simply extends the attitudes behind agile to cover the product's whole lifecycle.

Featured Resources

Top 5 challenges of migrating applications to the cloud

Explore how VMware Cloud on AWS helps to address common cloud migration challenges

Download now

3 reasons why now is the time to rethink your network

Changing requirements call for new solutions

Download now

All-flash buyer’s guide

Tips for evaluating Solid-State Arrays

Download now

Enabling enterprise machine and deep learning with intelligent storage

The power of AI can only be realised through efficient and performant delivery of data

Download now
Advertisement
Advertisement

Most Popular

Visit/software/video-conferencing/355138/zoom-beaming-ios-user-data-to-facebook-for-targeted-ads
video conferencing

Zoom beams iOS user data to Facebook for targeted ads

27 Mar 2020
Visit/infrastructure/server-storage/355118/hpe-warns-of-critical-bug-that-destroys-ssds-after-40000-hours
Server & storage

HPE warns of 'critical' bug that destroys SSDs after 40,000 hours

26 Mar 2020
Visit/software/355113/companies-offering-free-software-to-fight-covid-19
Software

These are the companies offering free software during the coronavirus crisis

25 Mar 2020
Visit/cloud/355098/ibm-dedicates-supercomputing-power-to-coronavirus-researchers
high-performance computing (HPC)

IBM dedicates supercomputing power to coronavirus research

24 Mar 2020