Download Prospectus


What is Agile Software Development?

Agile development is an approach that is a combination of iterative and incremental sequences with a focus on process adaptability and customer satisfaction via a rapid delivery of the working product.

Unlike the more traditional waterfall model previously used in development, where each step is completed sequentially, agile promotes an idea of overlapping phases.

agile, What is Agile Software Development?

Agile development uses iterative development with incremental releases.  Let’s take a look first at what incremental and iterative development methods are.

Iterative process

An iterative process makes progress through successive refinement.  The development team develops a first version of the system, knowing that some parts will not be finished.  They then iteratively enhance those parts until the product is at the standard they want/need.  With each iteration, customer feedback is used and the software is improved by adding more detail.

Let’s take an example of the image below, where the customer isn’t clear and asked the painter to paint a woman in a pastoral setting.  The artist will create a sketch, then take the customer feedback to understand and paint the correct picture through multiple iterations:

agile, What is Agile Software Development?

Incremental process

This involves delivering components of the software in parts.  Each increment represents a complete subset of the functionality and is fully coded and tested.  If we use the picture example from above again but imagine this time the artist paints it with an incremental process.  This time, he knows he needs to paint a picture of the Mona Lisa, and incrementally builds separate parts of the image until it is done.

agile, What is Agile Software Development?

Agile as an incremental and iterative method

Agile is iterative because it plans for the work of one iterative to be improved upon in subsequent iterations.  However, it is also incremental because completed work is delivered throughout the project.

agile, What is Agile Software Development?

During a development “iteration”, or sprint, where several features are built, some may be iterating to improve, modify or remove existing functionality, while others are incrementally adding new functionality.

Check out some of our upcoming articles on the different Agile terms and features!

Interested in our courses?

Interested in computer engineering? Find out more about all the computer engineering courses we have available by clicking here.

Diploma in Computer Engineering

Diploma in Computer Science

Diploma in Artificial Intelligence

Alternatively, you can view all our online engineering courses here.

Recent Posts

What are the principles of inductance and capacitance?

What are the principles of inductance and capacitance? In our previous article on inductance, we jumped into the behaviour of inductance and what it is.  Now we’re going to look at the principles of inductance, as well as the principles of capacitance. Inductance and Capacitance. We’ve already touched on the surface of inductance in our […]

How can we analyse a single-degree-of-freedom lumped parameter systems with damping?

How can we analyse a single-degree-of-freedom lumped parameter system with damping? In our previous article on undamped vibration, we looked at solving vibration problems with a single degree of freedom.  In this article, we’re going to look at systems with damping and how to analyse them. We’ll focus on the mathematical analysis of a single-degree-of-freedom […]

How can we analyse undamped vibration problems.

How can we analyse undamped vibration problems. In our previous article on harmonic motion, we looked at how we can analyse problems involving simple harmonic motion, now we’re going to look at solving vibration problems with a single degree of freedom. Vibration Analysis In vibration analysis, there are two approaches we are interested in.  One […]