SlideShare a Scribd company logo
1 of 22
Download to read offline
AGILE SOFTWARE
DEVELOPMENT
• It describes a set of principles for software development where,
• Requirements and solutions evolve through the collaborative effort of self-
organizing + cross-functional teams
• It advocates
• Adaptive planning
• Evolutionary development
• Early delivery
• Continuous improvement
• Encourages rapid and flexible response to change
THESE PRINCIPLES SUPPORT THE DEFINITION AND
CONTINUING EVOLUTION OF MANY SOFTWARE
DEVELOPMENT METHODS
What isAgile?• Agile model believes,
• Every project needs to be handled
differently
• Existing methods need to be tailored to
best suit the project requirements
• Tasks are divided to time boxes (small
time frames) to deliver specific features
for a release
• Iterative approach is taken &
working software build is delivered
after each iteration
• Each build is incremental in terms of
features
• Final build holds all the features
required by the customer
WhyAgile?
• provides opportunities to assess the direction of a project throughout
the development
• achieved through regular cadences of work, known as sprints or iterations
• at the end of a sprint teams must present a potentially shippable product increment.
• focusing on the repetition of delievered work cycles as well as the
functional product they yield, agile methodology is described as
“iterative” and “incremental”
• In waterfall
• development teams only have one chance to get each aspect of a project right
• In an agile paradigm
• every aspect of development — requirements, design, etc. — is continually revisited
throughout the lifecycle. When a team stops and re-evaluates the direction of a
project every two weeks, there’s always time to steer it in another direction
• The results of this “inspect-and-adapt” approach
• reduce both development costs and time to market
• Because teams can develop software at the same time they’re gathering
requirements, the phenomenon known as “analysis paralysis” is less likely
to impede a team from making progress
• Agile development methodology helps companies build the right
product
• Instead of committing to market a piece of software that hasn’t even
been written yet
• agile empowers teams to continuously replan their release to optimize its value
throughout development, allowing them to be as competitive as possible in the
marketplace
The Manifesto forAgile Software Development
• Individuals and interactions
• in agile development, self-organization and motivation are important, as are
interactions like co-location and pair programming.
• Working software
• Demo working software is considered the best means of communication with the
customer to understand their requirement, instead of just depending on
documentation.
• Customer collaboration
• As the requirements cannot be gathered completely in the beginning of the project
due to various factors, continuous customer interaction is very important to get
proper product requirements.
• Responding to change
• agile development is focused on quick responses to change and continuous
development.
Agile principles
• The Agile Manifesto is based on twelve principles
1) Customer satisfaction by early and continuous delivery of valuable software
2) Welcome changing requirements, even in late development
3) Working software is delivered frequently (weeks rather than months)
4) Close, daily cooperation between business people and developers
5) Projects are built around motivated individuals, who should be trusted
6) Face-to-face conversation is the best form of communication (co-location)
7) Working software is the principal measure of progress
8) Sustainable development, able to maintain a constant pace
9) Continuous attention to technical excellence and good design
10) Simplicity—the art of maximizing the amount of work not done—is essential
11) Best architectures, requirements, and designs emerge from self-organizing teams
12) Regularly, the team reflects on how to become more effective, and adjusts accordingly
Agile Model Pros and Cons
Pros Cons
• Is a very realistic approach to software development
• Promotes teamwork and cross training.
• Functionality can be developed rapidly and demonstrated.
• Resource requirements are minimum.
• Suitable for fixed or changing requirements
• Delivers early partial working solutions.
• Good model for environments that change steadily.
• Minimal rules, documentation easily employed.
• Enables concurrent development and delivery within an
overall planned context.
• Little or no planning required
• Easy to manage
• Gives flexibility to developers
• Not suitable for handling complex dependencies.
• More risk of sustainability, maintainability and extensibility.
• An overall plan, an agile leader and agile PM practice is a
must without which it will not work.
• Strict delivery management dictates the scope,
functionality to be delivered, and adjustments to meet the
deadlines.
• Depends heavily on customer interaction, so if customer is
not clear, team can be driven in the wrong direction.
• There is very high individual dependency, since there is
minimum documentation generated.
• Transfer of technology to new team members may be
quite challenging due to lack of documentation.
widely accepted in the software world recently, however, this method may not always be
suitable for all products.
Agile Testing Methodology
There are various methodologies that are collectively known as agile, as they
promote the values of the agile manifesto and they are consistent with the above
principles. The most popular ones are,
• Scrum is also an agile development method
• concentrates particularly on how to manage tasks within a team-based development environment.
• most popular and widely adopted agile method
• XP (Extreme Programming) is a more radical agile methodology
• focusing more on the software engineering process and addressing the analysis, development and test phases with
novel approaches that make a substantial difference to the quality of the end product
• DSDM is probably the original agile development method
• was around before the term ‘agile’ was even invented, but is absolutely based on all the principles we’ve come to
know as agile
DSDM IS PROBABLY THE MOST COMPLETE AGILE METHODOLOGY, WHEREAS
SCRUM AND XP ARE EASIER TO IMPLEMENT AND COMPLEMENTARY BECAUSE THEY
TACKLE DIFFERENT ASPECTS OF SOFTWARE DEVELOPMENT PROJECTS AND ARE
BOTH FOUNDED ON VERY SIMILAR CONCEPTS.
Scrum
• concentrates specifically on how to manage tasks within a team-based
development environment
• believes in empowering the development team and advocates working in small
teams.
• It consists of three roles, and their responsibilities are explained as follows
• Scrum Master
responsible for setting up the team, sprint meeting
and removes obstacles to progress
• Product owner
creates product backlog, prioritizes the backlog
and is responsible for the delivery of the
functionality at each iteration
• Scrum Team
manages its own work and organizes the work to
complete the sprint or cycle
Product Backlog
• where requirements are tracked with details on the no of requirements to be completed for
each release  maintained and prioritized by scrum master, and it should be distributed to
the scrum team  Team can also request for a new requirement addition or modification
or deletion
• Scrum Practices
Process flow of Scrum Methodologies
• Process flow of scrum testing is as follows
• Each iteration of a scrum is known as Sprint
• Product backlog is a list where all details are entered to get end product
• During each Sprint, top items of Product backlog are selected and turned into Sprint
backlog
• Team works on the defined sprint backlog
• Team checks for the daily work
• At the end of the sprint, team delivers product functionality
eXtreme Programming (XP)
• Extreme Programming technique is very helpful
• when there is constantly changing demands or requirements from the customers
• when they are not sure about the functionality of the system
• It advocates frequent "releases" of the product in short development cycles
• inherently improves the productivity of the system and also introduces a checkpoint where any customer
requirements can be easily implemented
• The XP develops software keeping customer in the target
• Business requirements are gathered in terms of stories  stories are stored in a
place called the parking lot.
• In this type of methodology
• Releases are based on the shorter cycles called Iterations with span of 14 days time
period
• Each iteration includes phases like coding, unit testing and system testing where at
each phase some minor or major functionality will be built in the application.
Phases of eXtreme programming
1) Planning
• Identification of stakeholders and sponsors
• Infrastructure Requirements
• Security related information and gathering
• Service Level Agreements and its conditions
2) Analysis
• Capturing of Stories in Parking lot
• Prioritize stories in Parking lot
• Scrubbing of stories for estimation
• Define Iteration SPAN(Time)
• Resource planning for both Development and QA teams
3) Design
• Break down of tasks
• Test Scenario preparation for each task
• Regression Automation Framework
4) Execution
• Coding
• Unit Testing
• Execution of Manual test scenarios
• Defect Report generation
• Conversion of Manual to Automation regression
test cases
• Mid Iteration review
• End of Iteration review
5) Wrapping
• Small Releases
• Regression Testing
• Demos and reviews
• Develop new stories based on the need
• Process Improvements based on end of
iteration review comments
6) Closure
• Pilot Launch
• Training
• Production Launch
• SLA Guarantee assurance
• Review SOA strategy
• Production Support
Crystal Methodologies
Crystal Methodology is based on three concepts
1) Chartering
Various activities involved in this phase are creating a development team, performing a
preliminary feasibility analysis, developing an initial plan and fine-tuning the development
methodology are done
2) Cyclic delivery: The main development phase consists of two or more delivery
cycles, during which the
1) Team updates and refines the release plan
2) Implements a subset of the requirements through one or more program test integrate iterations
3) Integrated product is delivered to real users
4) Review of the project plan and adopted development methodology
3) Wrap Up
The activities performed in this phase are deployment into the user environment, post-
deployment reviews and reflections are performed
Dynamic Software Development Method (DSDM)
• DSDM is a Rapid Application Development (RAD) approach and provides an agile project
delivery framework
• important aspect of DSDM is that the users are required to be involved actively, and the teams
are given the power to make decisions
• Frequent delivery of product becomes the active focus with DSDM.
• The techniques used in DSDM are
• Time Boxing
• MoSCoW Rules
• Prototyping
• The DSDM project consists of 7 phases
1) Pre-project
2) Feasibility Study
3) Business Study
4) Functional Model Iteration
5) Design and build Iteration
6) Implementation
7) Post-project
Feature Driven Development (FDD)
• Focused around "designing & building" features.
• FDD describes very specific and short phases of work that has to be
accomplished separately per feature
• It includes domain walkthrough, design inspection, promote to build, code
inspection and design
• FDD developed product keep following things in the target:
• Inspections
• Configuration Management
• Regular Builds
• Visibility of progress and results
• Domain object Modelling
• Development by feature
• Component / Class Ownership
• Feature Teams
Lean Software Development
• It based on the principle “Just in time production”
• It aims at increasing speed of software development and decreasing cost
• Lean development can be summarized in seven steps:
1) Eliminating Waste
2) Amplifying learning
3) Defer commitment (deciding as late as possible)
4) Early delivery
5) Empowering the team
6) Building Integrity
7) Optimize the whole
AGILE.
That’s all in

More Related Content

What's hot

ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
Swarnima Tiwari
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
Slideshare
 

What's hot (20)

ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
Iterative model
Iterative modelIterative model
Iterative model
 
Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life Cycle
 
Waterfall model in SDLC
Waterfall model in SDLCWaterfall model in SDLC
Waterfall model in SDLC
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.ppt
 
SDLC Models
SDLC ModelsSDLC Models
SDLC Models
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall model
 
Software Engineering - Spiral Model
Software Engineering - Spiral ModelSoftware Engineering - Spiral Model
Software Engineering - Spiral Model
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Agile Process models
Agile Process modelsAgile Process models
Agile Process models
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 

Similar to Agile Methodology - Software Engineering

Similar to Agile Methodology - Software Engineering (20)

Agile Model & Methodology
Agile Model & MethodologyAgile Model & Methodology
Agile Model & Methodology
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashed
 
CISSP - Software Development Security
CISSP - Software Development SecurityCISSP - Software Development Security
CISSP - Software Development Security
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimation
 
Agile best practices
Agile best practicesAgile best practices
Agile best practices
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
Introduction to the Agile Methods
Introduction to the Agile MethodsIntroduction to the Agile Methods
Introduction to the Agile Methods
 
ecse ppt.pptx
ecse ppt.pptxecse ppt.pptx
ecse ppt.pptx
 
ecse ppt.pptx
ecse ppt.pptxecse ppt.pptx
ecse ppt.pptx
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
Waterfall Model.pptx
Waterfall Model.pptxWaterfall Model.pptx
Waterfall Model.pptx
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
Agile
AgileAgile
Agile
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019
 
software engineering agile development notes.pptx
software engineering agile development notes.pptxsoftware engineering agile development notes.pptx
software engineering agile development notes.pptx
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
 

More from Purvik Rana

File system in iOS
File system in iOSFile system in iOS
File system in iOS
Purvik Rana
 

More from Purvik Rana (9)

Software Quality Assurance - Software Engineering
Software Quality Assurance - Software EngineeringSoftware Quality Assurance - Software Engineering
Software Quality Assurance - Software Engineering
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - Basics
 
OOPs Concepts - Android Programming
OOPs Concepts - Android ProgrammingOOPs Concepts - Android Programming
OOPs Concepts - Android Programming
 
Sql queries - Basics
Sql queries - BasicsSql queries - Basics
Sql queries - Basics
 
Android Workshop_1
Android Workshop_1Android Workshop_1
Android Workshop_1
 
Andriod_Intro
Andriod_IntroAndriod_Intro
Andriod_Intro
 
Apple bonjour
Apple bonjourApple bonjour
Apple bonjour
 
File system in iOS
File system in iOSFile system in iOS
File system in iOS
 

Recently uploaded

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 

Agile Methodology - Software Engineering

  • 2. • It describes a set of principles for software development where, • Requirements and solutions evolve through the collaborative effort of self- organizing + cross-functional teams • It advocates • Adaptive planning • Evolutionary development • Early delivery • Continuous improvement • Encourages rapid and flexible response to change THESE PRINCIPLES SUPPORT THE DEFINITION AND CONTINUING EVOLUTION OF MANY SOFTWARE DEVELOPMENT METHODS
  • 3. What isAgile?• Agile model believes, • Every project needs to be handled differently • Existing methods need to be tailored to best suit the project requirements • Tasks are divided to time boxes (small time frames) to deliver specific features for a release • Iterative approach is taken & working software build is delivered after each iteration • Each build is incremental in terms of features • Final build holds all the features required by the customer
  • 4. WhyAgile? • provides opportunities to assess the direction of a project throughout the development • achieved through regular cadences of work, known as sprints or iterations • at the end of a sprint teams must present a potentially shippable product increment. • focusing on the repetition of delievered work cycles as well as the functional product they yield, agile methodology is described as “iterative” and “incremental” • In waterfall • development teams only have one chance to get each aspect of a project right • In an agile paradigm • every aspect of development — requirements, design, etc. — is continually revisited throughout the lifecycle. When a team stops and re-evaluates the direction of a project every two weeks, there’s always time to steer it in another direction
  • 5. • The results of this “inspect-and-adapt” approach • reduce both development costs and time to market • Because teams can develop software at the same time they’re gathering requirements, the phenomenon known as “analysis paralysis” is less likely to impede a team from making progress • Agile development methodology helps companies build the right product • Instead of committing to market a piece of software that hasn’t even been written yet • agile empowers teams to continuously replan their release to optimize its value throughout development, allowing them to be as competitive as possible in the marketplace
  • 6. The Manifesto forAgile Software Development • Individuals and interactions • in agile development, self-organization and motivation are important, as are interactions like co-location and pair programming. • Working software • Demo working software is considered the best means of communication with the customer to understand their requirement, instead of just depending on documentation. • Customer collaboration • As the requirements cannot be gathered completely in the beginning of the project due to various factors, continuous customer interaction is very important to get proper product requirements. • Responding to change • agile development is focused on quick responses to change and continuous development.
  • 7. Agile principles • The Agile Manifesto is based on twelve principles 1) Customer satisfaction by early and continuous delivery of valuable software 2) Welcome changing requirements, even in late development 3) Working software is delivered frequently (weeks rather than months) 4) Close, daily cooperation between business people and developers 5) Projects are built around motivated individuals, who should be trusted 6) Face-to-face conversation is the best form of communication (co-location) 7) Working software is the principal measure of progress 8) Sustainable development, able to maintain a constant pace 9) Continuous attention to technical excellence and good design 10) Simplicity—the art of maximizing the amount of work not done—is essential 11) Best architectures, requirements, and designs emerge from self-organizing teams 12) Regularly, the team reflects on how to become more effective, and adjusts accordingly
  • 8. Agile Model Pros and Cons Pros Cons • Is a very realistic approach to software development • Promotes teamwork and cross training. • Functionality can be developed rapidly and demonstrated. • Resource requirements are minimum. • Suitable for fixed or changing requirements • Delivers early partial working solutions. • Good model for environments that change steadily. • Minimal rules, documentation easily employed. • Enables concurrent development and delivery within an overall planned context. • Little or no planning required • Easy to manage • Gives flexibility to developers • Not suitable for handling complex dependencies. • More risk of sustainability, maintainability and extensibility. • An overall plan, an agile leader and agile PM practice is a must without which it will not work. • Strict delivery management dictates the scope, functionality to be delivered, and adjustments to meet the deadlines. • Depends heavily on customer interaction, so if customer is not clear, team can be driven in the wrong direction. • There is very high individual dependency, since there is minimum documentation generated. • Transfer of technology to new team members may be quite challenging due to lack of documentation. widely accepted in the software world recently, however, this method may not always be suitable for all products.
  • 10. There are various methodologies that are collectively known as agile, as they promote the values of the agile manifesto and they are consistent with the above principles. The most popular ones are, • Scrum is also an agile development method • concentrates particularly on how to manage tasks within a team-based development environment. • most popular and widely adopted agile method • XP (Extreme Programming) is a more radical agile methodology • focusing more on the software engineering process and addressing the analysis, development and test phases with novel approaches that make a substantial difference to the quality of the end product • DSDM is probably the original agile development method • was around before the term ‘agile’ was even invented, but is absolutely based on all the principles we’ve come to know as agile DSDM IS PROBABLY THE MOST COMPLETE AGILE METHODOLOGY, WHEREAS SCRUM AND XP ARE EASIER TO IMPLEMENT AND COMPLEMENTARY BECAUSE THEY TACKLE DIFFERENT ASPECTS OF SOFTWARE DEVELOPMENT PROJECTS AND ARE BOTH FOUNDED ON VERY SIMILAR CONCEPTS.
  • 11. Scrum • concentrates specifically on how to manage tasks within a team-based development environment • believes in empowering the development team and advocates working in small teams. • It consists of three roles, and their responsibilities are explained as follows • Scrum Master responsible for setting up the team, sprint meeting and removes obstacles to progress • Product owner creates product backlog, prioritizes the backlog and is responsible for the delivery of the functionality at each iteration • Scrum Team manages its own work and organizes the work to complete the sprint or cycle
  • 12. Product Backlog • where requirements are tracked with details on the no of requirements to be completed for each release  maintained and prioritized by scrum master, and it should be distributed to the scrum team  Team can also request for a new requirement addition or modification or deletion • Scrum Practices
  • 13. Process flow of Scrum Methodologies • Process flow of scrum testing is as follows • Each iteration of a scrum is known as Sprint • Product backlog is a list where all details are entered to get end product • During each Sprint, top items of Product backlog are selected and turned into Sprint backlog • Team works on the defined sprint backlog • Team checks for the daily work • At the end of the sprint, team delivers product functionality
  • 14. eXtreme Programming (XP) • Extreme Programming technique is very helpful • when there is constantly changing demands or requirements from the customers • when they are not sure about the functionality of the system • It advocates frequent "releases" of the product in short development cycles • inherently improves the productivity of the system and also introduces a checkpoint where any customer requirements can be easily implemented • The XP develops software keeping customer in the target
  • 15. • Business requirements are gathered in terms of stories  stories are stored in a place called the parking lot. • In this type of methodology • Releases are based on the shorter cycles called Iterations with span of 14 days time period • Each iteration includes phases like coding, unit testing and system testing where at each phase some minor or major functionality will be built in the application.
  • 16. Phases of eXtreme programming 1) Planning • Identification of stakeholders and sponsors • Infrastructure Requirements • Security related information and gathering • Service Level Agreements and its conditions 2) Analysis • Capturing of Stories in Parking lot • Prioritize stories in Parking lot • Scrubbing of stories for estimation • Define Iteration SPAN(Time) • Resource planning for both Development and QA teams
  • 17. 3) Design • Break down of tasks • Test Scenario preparation for each task • Regression Automation Framework 4) Execution • Coding • Unit Testing • Execution of Manual test scenarios • Defect Report generation • Conversion of Manual to Automation regression test cases • Mid Iteration review • End of Iteration review 5) Wrapping • Small Releases • Regression Testing • Demos and reviews • Develop new stories based on the need • Process Improvements based on end of iteration review comments 6) Closure • Pilot Launch • Training • Production Launch • SLA Guarantee assurance • Review SOA strategy • Production Support
  • 18. Crystal Methodologies Crystal Methodology is based on three concepts 1) Chartering Various activities involved in this phase are creating a development team, performing a preliminary feasibility analysis, developing an initial plan and fine-tuning the development methodology are done 2) Cyclic delivery: The main development phase consists of two or more delivery cycles, during which the 1) Team updates and refines the release plan 2) Implements a subset of the requirements through one or more program test integrate iterations 3) Integrated product is delivered to real users 4) Review of the project plan and adopted development methodology 3) Wrap Up The activities performed in this phase are deployment into the user environment, post- deployment reviews and reflections are performed
  • 19. Dynamic Software Development Method (DSDM) • DSDM is a Rapid Application Development (RAD) approach and provides an agile project delivery framework • important aspect of DSDM is that the users are required to be involved actively, and the teams are given the power to make decisions • Frequent delivery of product becomes the active focus with DSDM. • The techniques used in DSDM are • Time Boxing • MoSCoW Rules • Prototyping • The DSDM project consists of 7 phases 1) Pre-project 2) Feasibility Study 3) Business Study 4) Functional Model Iteration 5) Design and build Iteration 6) Implementation 7) Post-project
  • 20. Feature Driven Development (FDD) • Focused around "designing & building" features. • FDD describes very specific and short phases of work that has to be accomplished separately per feature • It includes domain walkthrough, design inspection, promote to build, code inspection and design • FDD developed product keep following things in the target: • Inspections • Configuration Management • Regular Builds • Visibility of progress and results • Domain object Modelling • Development by feature • Component / Class Ownership • Feature Teams
  • 21. Lean Software Development • It based on the principle “Just in time production” • It aims at increasing speed of software development and decreasing cost • Lean development can be summarized in seven steps: 1) Eliminating Waste 2) Amplifying learning 3) Defer commitment (deciding as late as possible) 4) Early delivery 5) Empowering the team 6) Building Integrity 7) Optimize the whole