EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login
Home Software Development Software Development Tutorials Software Engineering Tutorial Agile Process Model
Secondary Sidebar
Software Engineering Tutorial
  • Models
    • Prototype Model
    • What is Spiral Model
    • Waterfall?Model
    • Prototyping Tools
    • Incremental Model
    • Iterative Model
    • RAD Model
    • Fish Model
    • What is Scrum Methodology?
    • RUP? Methodology
    • COCOMO Model
    • Big Bang Model
    • System Models
    • People Capability Maturity Model
    • Analysis Modeling
    • User Interface Design
    • Capability Maturity Model Integration
    • What is Agile Development?
    • Agile Model Advantages and Disadvantages
    • Agile Process Model
    • Rational Unified Process
  • Basic
    • What is Software Engineering?
    • What is SDET
    • What Is SDLC
    • SDLC Methodologies
    • Software Classification
    • Software Design
    • Software Design Principles
    • Software Metrics
    • Utility Software Types
    • UI Design Tools
    • User Interface Design Principles
    • Architectural Design in Software Engineering
    • Software Configuration Management
    • Software Configuration Management Tools
    • What is Risk Management?
    • System Engineering
    • Object oriented programming paradigm
    • CASE Tools
  • UML Daigram
    • StarUML
    • Architecture of UML
    • StarUML? Download
    • Types of UML Diagrams
    • UML Activity Diagram
    • UML Component?Diagram
    • UML Deployment Diagram
    • UML Diagram Softwares
    • UML Object?Diagram
    • UML Sequence Diagram
    • UML Use Case Diagram
    • State Diagram
    • Class Diagram
    • UML Dependency
    • UML Interaction Diagrams
    • Data Flow Diagrams
  • Advanced
    • Functional Point Analysis
    • Software Quality Control
    • Quality Assurance Tools
    • Prototype model advantages and disadvantages
    • UML Modelling Tools
    • Tomcat Server
    • Quality Software
    • UI Prototyping
    • Hybrid Model
    • Behavioral Model in Software Engineering
    • Flowchart symbols
    • Critical System
    • Legacy System
    • SOA Architecture
    • Software Quality Attributes
    • Software Maintenance
    • Software Cost Estimation
    • Software Inspection
    • Cohesion in Software Engineering
    • Coupling in Software Engineering
    • Component-based Software Engineering
    • Design Modeling in Software Engineering
    • Iterative Methodology
    • System Flow Diagram
    • Data Flow Architecture
    • SEICMM
    • Function Oriented Design
  • Interview Questions
    • Software Engineering Interview Questions
    • SDLC Interview Questions

Related Courses

Software Testing Course

Cyber Security Training

Software Development Course Training

Agile Process Model

By Priya PedamkarPriya Pedamkar

Agile Process Model

Introduction to Agile Process Model

In the IT organization when the software is developed, then its development process is associated with a methodology. There are various models that can be used to develop software. Noted ones include a waterfall model, Agile Process Model, RAD model, prototype model, extreme programming methodology, etc. The choice of model is dependent on many factors such as time required for delivery, funding, how important the software is going to be, the skill set of team, client involvement, etc. Traditionally many organizations used to use the waterfall model in their development process but there are more shortcomings from that model such a waterfall model is rigid that cannot accept the changes easily also it requires and has to focus heavy documentation. To overcome such a shortcoming, the Agile process model is introduced which is more focused on delivering working software. Agile can accommodate changes easily and has shown tremendous outcomes in delivering software. That is the reason it has become such a popular name among IT developers and organizations

Phases of Agile Process Model

The agile model encourages to practice of continuous iteration of development and testings in the software development life cycle SDLC. Here both the development and testing activities are performed together so that better track on defects can be identified. This was one of the major shortcomings of the waterfall model.

Agile Process models are below:

  • Scrum
  • Extreme Programming
  • Adaptive Software Development ASD
  • Dynamic System Development Model DSDM
  • Crystal
  • Feature Driven Development

Let us look at each with the phases involved in them:

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

1. Scrum

The team should have proper communication and there should not any overhead on each associate. The work needs to be shared and must be done parallelly. The process is adaptable to both business and technical challenges.

The phase pattern in the scrum are:

All in One Software Development Bundle(600+ Courses, 50+ projects)
Python TutorialC SharpJavaJavaScript
C Plus PlusSoftware TestingSQLKali Linux
Price
View Courses
600+ Online Courses | 50+ projects | 3000+ Hours | Verifiable Certificates | Lifetime Access
4.6 (86,452 ratings)
  • Backlog: List the requirements in the form of a story and prioritize them in descending order.
  • Sprints: This basic work unit needs to required to achieve the backlog requirement packet.
  • Scrum Meetings: There need to be at least 15 minutes daily stand up so that any impediments in the sprint packets can be.
  • Reviews and Demos: There will be Reviews and demos so that the work packet can be tracked and if any changes that can be.

2. Extreme Programming

Extreme programming XP is quite helpful where there are frequent changes in the requirement and these changes can be incorporated easily. It is based on the object-oriented approach. It follows short releases for the product in its development life cycle.

Each iteration of this model has the following phases:

  • Iteration Planning: In this phase, the requirement is understood and drafted as stories and sub-tasks.
  • Design: This phase takes care of designing the implementation.
  • Coding or Implementation: The requirement is coded.
  • Testing: The implementation is rigorously tested for defects.

3. Adaptive Software Development

In this method group of individuals tries to obtain a solution to a major problem which can be difficult for specific individual agents. More emphasis on group communication and adaptive collaborations.

Phases include:

  • Speculate: Get the complex requirement.
  • Collaborate: Require to work jointly to obtain the desired result.
  • Learn: The team has to enhance their knowledge and solving the complex requirement is great learning. The learning can be from the technical review, retrospective meetings.

4. Dynamic System Development Model DSDM

DSDM is a type of rapid application development approach where there are stringent timelines for delivery are met. The most important activity of DSDM is the user is involved actively and the team members are allowed to take decisions. Frequent delivery of releases is one of the characteristics of DSDM.

The phase of development framework of DSDM are as follows

  • Get the complete requirements details and constraints and will come under a feasibility study.
  • For business study understand the functional requirement of the software.
  • Design and build Iterations.
  • Implementation

5. Crystal

This is an agile software development model that focuses on the people in the team and their working rather than on processes and tools. Crystal model firmly believes that people skill, teamwork, and their communication is firmly important in product outcomes.

Crystal methodologies are as below.

  • CLEAR: for small and low critical efforts.
  • ORANGE: For moderately larger and critical projects.
  • ORANGE WEB: Typically electronic business.

6. Feature Driven Development

As the name suggests FDD manages the software development process with iterations focused on “features”. These features may be necessarily the product features but also can be akin to the user stories which are there in the sprint

The project life the cycle of FDD model is as follows:

  • Develop an overall model
  • Build the features list that considered necessary
  • Plan by the features
  • Design by the feature
  • build or implement by the feature.

Agile Testing and Methods

Agile testing is one of the cores of the agile development process, unlike the waterfall model where development and testing are linear and sequential. But in agile development and testing are concurrent.

The testing methods of Agile are:

  • Behavior Driven Development BDD: In BDD, Testers, developers, and the required business analysts will communicate and create test scenarios with focused communication so that there will not be any miss. The scenarios are captured in a specific format. The idea of BDD is to create scenarios, build tests that will fail initially, and build the software functionality that can be aligned with the testing scenario.
  • Acceptance Test-Driven Development (ATDD): Here customer, developer and the tester will define and accept and performs the tests. The customer brings the problem, the coder will solve the problem and the tester will test the implementation is according to the customer or not.
  • Exploratory Testing: Here test design and the test execution go together. This type of testing is more focused to test on working software.
  • Session-Based Testing: Has similarity with exploratory testing but its main focus is to ensure that software is tested completely and comprehensively.

When do we Use the Agile Model?

Agile model is beneficial in the following scenarios:

  • When there are frequent changes and needs to be implemented.
  • when the focus are more on developing working software and less on documentation.
  • When the planning is not rigid and the business scenarios are volatile.

Advantages and Disadvantages of the Agile Model

Below are the advantages and disadvantages of Agile Process Model:

Advantages:

  • A higher level of customer satisfaction is noted since they are involved frequently.
  • Testing is in concurrent with development hence better reliance on software is achieved.
  • Review and emos make sure the developed software is following the standards.
  • Working software developed frequently.
  • Changes can be understood and adapted easily.
  • late changes are also welcomed.
  • More importance on communication as well and teamwork.

Disadvantages:

  • Estimation of effort requirement may go wrong some times as it is little stress on planning.
  • The documentation focus is lesser and hence sometimes the possibility of poor documentation.
  • The chances of the off-track are more for large projects and where there are frequent changes.

Recommended Articles

This is a guide to Agile Process Model. Here we discuss the brief overview on Agile Process Model and its different phases along with advantages and disadvantages. You can also go through our other suggested articles to learn more –

  1. SDLC vs STLC – Top Differences & Comparison
  2. What is Agile Testing? | Top 7 Principles & Benefits
  3. SDLC vs Agile | Top Key Differences
  4. Top 10 DLC Interview Questions & Answers
Popular Course in this category
Agile Scrum Training (7 Courses)
7 Online Courses | 54+ Hours | Lifetime Validity
4.5
Price

View Course

Related Courses

Software Testing Training (11 Courses, 2 Projects)4.9
Cyber Security Training (10 Courses, 3 Projects)4.8
All in One Software Development Bundle (600+ Courses, 50+ projects)4.7
0 Shares
Share
Tweet
Share
Primary Sidebar
Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Live Classes
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

ISO 10004:2018 & ISO 9001:2015 Certified

© 2022 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

C# Programming, Conditional Constructs, Loops, Arrays, OOPS Concept

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA Login

Forgot Password?

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more