ISB Smart Solutions
Blog Icon
Busting the Myths of Agile Development
The Myths That Need to Be Expelled about What it is and What it isn't
Posted 07 April 2016 by Andrew Tabata 
agile myths
Share: 

From original post by Chloe Green on August 28, 2015

For those unfamiliar with the basic definition, agile development is a way of managing IT development teams that ultimately returns the control to the businesses through customer focus and a process of continuous planning and feedback. It can reduce inefficiencies and maximise value for the client while allowing organisations to keep a close eye on costs and adapt quickly to change.

In the current working environment, the pace of change has accelerated and businesses need to be able to react to this - more traditional software development methods do not support change effectively. Agile Software Development allows organisations to prioritise what is important, respond to change and deliver results and business value early. As a result, they can significantly reduce the overall risk associated with software development.

Old vs. new

The difference between Agile, and a more traditional software development method, is how they approach the various stages of development. Traditionalists spend large amounts of time designing the whole system before anything is actually built.

Once development begins changes can impact the whole design and be very costly. Agile provides a system whereby planning and design are done in smaller ‘chunks’, uncovering any changes as soon as possible while keeping costs to a minimum. Additionally, Agile encourages the ‘client’ to be closely involved in each phase of the process, reducing the lag on feedback time.

Waterfall is a sequential design process, where the design and development requirements for a system are mapped out up front. By having all the requirements beforehand everyone knows exactly what they are aiming to achieve. This means the client knows what to expect and has an idea of the time frame, size and cost of the project.

The down side to this traditional approach is that the client may not get as many opportunities to feedback as they would with Agile development or have the room to change elements of the design/development. Because the process is sequential, once a stage of development has been completed you can’t easily go back to a previous stage. This is fairly risky for a business because if the initial requirements of the project change, the project is almost guaranteed to fail. In turn businesses would then incur additional costs to rectifying any issues and the project would take longer than predicted.

Agile methodology follows an incremental approach to development and has a strong focus on the delivery of what the client needs rather than what they think they want. Developers start off with a simple project design instead of a large document, and work on small modules. As short iterations of work on the project are done priorities of the project are reviewed, evaluated and tested. At each stage an increasingly complete product is provided to the client for which they use and provide feedback on.

Each methodology has its pros and cons, however, evidence shows that with the pace of change increasing many more companies are choosing to adopt an Agile development approach.

Busted: agile myths

  • Agile is a silver bullet – there is nothing to say that an Agile project will succeed. Success very much depends on those driving the project. However, because Agile allows you to make changes, there is plenty of opportunity to review and refocus the project if needed.
  • Agile is not scalable- generally speaking, software development itself has scaling issues. The larger the project’s scope, the greater the possibility for failure; the greater the number of people involved in a project, the greater the communication risk and complexity. Agile development breaks one project down into smaller projects with shorter delivery time frames and smaller teams so the room for error is reduced and the activity is broken into small, manageable pieces.
  • Agile means no planning – this relates to a lack of understanding of an Agile planning approach. Most Agile teams spend as much, if not more, time planning projects, however the planning is not all upfront much of this is spread across the lifetime of the project. Agile's focus on delivering early and often means that planning is focused on tangible outcomes.

Whilst both approaches to software development are still in use today the last five years has seen Agile Development quickly becoming the preference. Many industry leaders have embraced Agile Development and now companies are increasingly looking to Agile solutions for their businesses a result.

See other Articles on these Topics
Click here to see your activities