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 What is Agile Development?
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

What is Agile Development?

By Asapu HarikaAsapu Harika

What is Agile Developme

Introduction to Agile Development

The following article provides an outline on What is Agile Development? As the name Agile explains, it is an iterative process of delivering the product/ software to the customer by developing the requirements and improvising the product over time.

Agile software development is Feature Driven Deployment based approach where we follow some principles:

  • Software developers need to satisfy the customer through continuous delivery and welcome changes even late in development.
  • Need to deliver working software frequently with short time intervals.
  • Attention to Technical expertise and good design of the functionality will improvise agility.
  • Need to have self-organizing teams for better architecture and requirements design.

Comparing to other models of software development like Traditional Waterfall methodology, where developer gets the requirements, develops the complete code and send it for testing of the software, here in Agile Methodology, we split the requirements on priority and co-ordinate with other teams to develop the given requirements with parallel testing the requirements done so far and release the software part by part.

This agile methodology involves Scrum framework which is used to manage complex software development employing various processes and techniques.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

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,697 ratings)

There are 3 roles in scrum framework:

  • Scrum Master: He/ She ensures the process is followed by removing impediments and supporting development team.
  • Product Owner: He/ She works with stakeholders and business.
  • Development Team: Self-organizing team who do the requirement analysis, design, implementation and testing, etc.

Scrum Events in Agile Methodology

Scrum is simple to understand but extra effort is needed to implement the methodologies. Scrum events in Agile methodology are Sprint, Sprint planning, Daily Scrum, Print Review and Sprint Retrospective.

  • Sprint: It is a time-box of 1 month or less consistent duration, new sprint starts immediately after the conclusion of previous sprint. No changes are to be made once the sprint starts and scope of the project can be re-negotiated with Product owner and development team.
  • Sprint Planning: It is time-box of maximum 8 hours for a month sprint, it gives an overview of what are the requirements which are to be delivered in sprint.
  • Daily Scrum: It is a 15 min time box event for the development team to discuss and create a plan for the next 24 hours to reduce complexity.
  • Sprint Review: It is held at the end of each sprint to inspect Increment and adapt Product Backlog.
  • Sprint Retrospective: It occurs after sprint review and before sprint planning to get to know what went well in the previous sprint and what could be improved.

Artifacts in Agile

Artifacts in Agile includes Product Backlog, Increment and Sprint backlog.

  • Product Backlog: It is an ordered list of the product requirements which is never complete.
  • Increment: It is the sum of all the product backlog items completed during a sprint.
  • Sprint backlog: It is the set of Product backlog items selected for a particular sprint.

Scrum Framework

Given below is the diagram of Scrum Framework:

Scrum Framework

User Stories

  • These are the product features/ functionalities that the user wants to use in their final product which are also known as requirements. The success of a development project lies in understanding the customer requirements and implementing them in final product/ software.
  • In Scrum projects, product backlog consists of list of user stories and is narrated from user perspective as what he/ she wants. These user stories are prioritized and taken into sprint backlog in sprint planning meeting.
  • For e.g., Consider a requirement where customer wants to purchase PVR movie pass so that he gets access to purchase movie tickets at a lower cost.
  • Format of User story is, as a customer I want to purchase a movie pass so that I can access to purchase movie tickets at a lower cost.

This requirement should satisfy acceptance criterion defined by customer/ business.

  • Only one pass can be issued to one customer.
  • No pass to be issued if customer does not pay a one-time amount of 500 annually.
  • Customer has to enroll and has to have a history of watching at least 5 movies in PVR.
  • Maximum 3 people can be allowed on a single pass. And the criterions can go on depending upon customer requirements.

Benefits of User stories includes:

  • It is the customer who will be using the final product, user stories connect the end users and software development team.
  • The format of user story ensures to achieve the benefit that customer wants.
  • It has an added advantage to Scrum team as the acceptance criteria forms part of user story.
  • There is a chance to make changes to user stories during execution of the project, even though the scope of story changes, we can split it and move the user story or part of requirement to backlog for executing in further sprints.
  • As we deliver working software/ product at the end of sprint, scrum team can get feedback in review meetings.

Advantages of Agile Development

  • It promotes teamwork and cross functional training.
  • Functionalities can be developed and demonstrated in a shorted period.
  • It is a realistic approach to develop software.
  • Requirement of Resources is minimal.
  • Suitable for changing requirements.
  • Early delivery of working software at least partially.
  • Easy to manage and gives flexibility to developers.

Conclusion

Agile Methodologies include many software development approaches, here we have discussed SCRUM, we also have Extreme Programming (XP), Agile Modeling etc. As Agile methodology is growing software development methodology, it has made lives of software developers, testers and the organization easier as it is adaptable to change, people-oriented, speedy and responsive which are required for software development projects.

Recommended Articles

This is a guide to What is Agile Development? Here we discuss the introduction, scrum events in agile methodology, artifacts and advantages of agile development. You may also have a look at the following articles to learn more –

  1. Agile Development Cycle
  2. Agile Characteristics
  3. Agile Development Model
  4. What is Agile Testing?
Popular Course in this category
Software Testing Training (11 Courses, 2 Projects)
  11 Online Courses |  2 Hands-on Projects |  65+ Hours |  Verifiable Certificate of Completion
4.5
Price

View Course

Related Courses

Cyber Security Training (10 Courses, 3 Projects)4.9
All in One Software Development Bundle (600+ Courses, 50+ projects)4.8
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