Register Login

SDLC Agile Model and Methodology

Updated May 20, 2018

Software Development Life Cycle or SDLC is the process of designing, building, and testing of software before its deployment. It is a plan detailing all the stages for developing, maintaining, repairing, or enhancing software. There are various models of SDLC, each having their own unique approach and steps for software development. One such model is Agile.

What is Agile?

The Agile SDLC model combines iterative and incremental models, focusing on adaptability and rapid delivery of the final working product. The Agile Method creates the product by breaking it up into small incremental and iterative builds. Each iteration has cross functional teams that work simultaneously on different areas of planning, requirement analysis, design, coding, unit testing, and acceptance testing.

What makes Agile different from other SDLC models is that the working product is displayed before the customer and other important stakeholders at the end of each iteration. Each build iteration is incremental and builds up on the previous build, and the final build has all the properties needed by the customer.

The most popular Agile methods are Rational Unified Process (1994), Scrum (1995), Crystal Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driven Development, and Dynamic Systems Development Method (DSDM) (1995). After the Agile Manifesto was published in 2001, these are collectively called Agile Methodologies.

The principles of Agile Manifesto are:

Individuals and Interactions: Agile software development focuses on motivation and self-organization as well as interactions like pair programming and co-location.

Working Software: Making demo working software is regarded as the best method of communication with customers to understand their needs, instead of simply depending on the documentation.

Customer Collaboration: Since the requirements cannot be measured completely at the beginning of the project, continuous interaction with customers is absolutely essential in getting proper requirements.

Change Response: Agile Development focuses on responding quickly to change, and developing continuously.

Agile Model Benefits:

Agile development methods are widely accepted in software development world today. The advantages that the Agile Model brings to the table are as follows:

  • It follows a realistic software development approach.
  • It promotes cross training and teamwork.
  • Allows rapid development and demonstration of product functionality.
  • Requires little resources.
  • Best suited approach for changing requirements.
  • It delivers partially working solutions with work progress.
  • Allows for flexibility in incorporating changing environment.
  • Allows for easy documentation as there are very few rules.
  • Enables simultaneous development and delivery under an overarching planned concept.
  • Requires little planning.
  • Very easily manageable.
  • Gives a lot of freedom to the developers working on the project.


×