Agile Model is combination of iterative and incremental process model with focus on customer satisfaction. It allows companies to develop a quality software in small and quick segments. In this post, we will discuss what is Agile Model Methodology, its core values, some popular Agile Model Methodologies (like Scrum, XP, DSDM & Lean), their advantages and disadvantages.

What is Agile Model Methodology

It is an umbrella term that describes a set of practices and principles for software development.

Agile Methodology promotes the continuous iteration of building and testing throughout the software development life cycle of the project.

Agile Model

Fig. 1 – Agile Software Development Model

In English Agile means, “to move quickly and easily”. The same is prime focus of Agile Model also.

In Agile model, the whole project is divided into small incremental builds. Each iteration lasts from one to three weeks. Every iteration works on various areas like:

  • Planning
  • Requirement Analysis
  • Design
  • Building
  • Testing

Core Values of Agile Model

It focuses on four core values:

  • Individuals and Interactions ­­­ – In agile methodology, individual motivation and interactions play an important role.
  • Working Software – A working software is needed to understand the requirements of the customer, documentation alone does not help.
  • Customer Collaboration – In the agile methodology, the full requirements are not collected at the beginning, so continuous interaction with customer is very important to get hold of proper requirement.
  • Responding to change – In agile model, continuous development of the project and quick response to change is possible.

Agile Model Core Values

Fig. 2– Agile Model Core Values

Popular Agile Model Methodologies

Each Agile model methodology is different from one another in following the specific approach, but they all share a common vision. They all focus on continuous planning, continuous debugging, continuous integration and complete delivery of the project and software.

Some of the popular agile model methodologies are:

  • Scrum
  • Extreme Programming (XP)
  • Dynamic Systems Development Method (DSDM)
  • Lean Software Development

Agile Model Methodologies

Fig. 3 – Agile Model Methodologies

Scrum – Agile Model Methodology

It is one of the most popular, light weight agile methodology with capability of controlling and managing all types of incremental projects. It helps in better organization of teams.

In this agile model methodology, “Scrum Master” is responsible for the team meetings and removing any roadblocks, if any. The “Product Owner” identifies and prioritize system functionality by working closely with the team in form of “Product Backlog”.

It is a repository/store where all the requirements are tracked and kept in order to be released successfully.

Scrum - Agile Model Methodology

Fig. 4 – Scrum – Agile Model Methodology

Scrum Model Process flow

The process flow in Scrum Model is as follows:

  • Each iteration of scrum is called as Sprint
  • Product Backlog is a list where all the requirements are tracked
  • At every sprint, product backlog items are selected and sent to sprint backlog
  • Team works on the important sprint backlog, and checks for routine work
  • In the end of sprint cycle, functional product is delivered

Extreme Programming (XP) – Agile Model Methodology

It is one of the most prominent Agile model software development methodologies. XP focuses in short development cycles and frequent releases resulting in low change in cost.

It emphasizes on continuous planning, continuous testing, customer involvement and frequent feedback to deliver working software at quick intervals, every 1-3 weeks.

Extreme Programming (XP) Model Values

The original XP model was based on four values. A new value (Respect) was added in the second addition of Extreme programming. So, the five values are:

  • Communication
  • Simplicity
  • Feedback
  • Courage
  • Respect

Agile Development Model – Extreme Programming (XP)

Fig. 5 – Agile Development Model – Extreme Programming (XP)

Dynamic Systems Development Method (DSDM Agile Model)

It is a Rapid Application Development (RAD) approach to software development. The main focus of DSDM is active communicate early and continuously, frequent delivery, empowered teams and integration testing.

Techniques used in Dynamic Systems Development Method (DSDM)

Techniques used in DSDM are:

  • Time Boxing
  • MoSCoW Rules

M – Must have requirements

S – Should have it all possible

C – Could have but not critical

W -Won’t have this time, but later

  • Prototyping

Dynamic Systems Development Method (DSDM) Phases

The DSDM Agile model methodology consists of seven phases:

  1. Pre-project phase
  2. Feasibility Study
  3. Business Study
  4. Functional Model Iteration
  5. Design Iteration
  6. Implementation
  7. Post-project phase

Agile Development Model – DSDM

Fig. 6– Agile Development Model – DSDM

Lean Software Development Model

It is based on the principles that can be applied to the software development to increase speed of software development, to decrease programming effort and defect rates by one-third.

It focuses the team on delivering Value to the customer.

Principles of Lean Software Development Model

The main principles of Lean Software Development Model are as follows:

  • Eliminating Waste
  • Amplifying learning
  • Late Decision Making
  • Fast Delivery
  • Team Empowerment
  • Building Integrity
  • View application as a whole

Agile Development Model – Lean Principles

Fig. 7– Agile Development Model – Lean Principles

Advantages of Agile Model

The advantages of Agile Model includes:

  • Focuses on Business Value – Agile understands what is important to the client’s business and delivers the features which benefit them with most business value.
  • Transparency – In Agile model, the client is involved in whole project from iteration panning to frequent deliveries. So, they can see the work in progress software also.
  • Increased Customer Satisfaction – As the client is involved in each step of the project, which gives an insight to the client and trust on the team’s ability to deliver a high-quality software.
  • Predictable and early delivery – By using the time-boxed principle, new features are incorporated and delivered frequently with high level of predictability.
  • Easy to Manage – Easy to manage as minimal planning is required.
  • High quality – High-quality software is delivered frequently (weeks rather than months).
  • Immediate response – Change requests are handled and responded immediately.

Disadvantages of Agile Model

The disadvantages of Agile Model includes:

  • Lack of designing and documentation can create problems.
  • The project can take a back seat if the customer representative is not clear, what they are looking for as a final outcome.
  • High customer engagement and interaction required.
  • New requirements may conflict with the existing system.
Also Read: 
Software Development Life Cycle (SDLC) – Importance, Various Phases & Explanation
Barcode Number System – Types, Structure, How it works, Application, Advantage & Disadvantage
Embedded System – Characteristics, Types, Advantages & Disadvantages 
Big Data – Categories, Attributes, Applications & Hadoop

Nidhi

Nidhi is an MCA and BSc (Computers) and has experience in IT industry. She is an author, editor and partner at Electricalfundablog.