SlideShare a Scribd company logo
Unit-1
Agile
Development
 Looping
Outline
 What is Agility?
 Agile Process
 Agility Principles
 Where agile methodology not work?
 Agile Process Models
• Extreme Programming (XP)
• Adaptive Software Development (ASD)
• Dynamic Systems Development Method (DSDM)
• Scrum
• Feature Driven Development (FDD)
• Crystal
• Agile Modelling (AM)
Agility
 The ability to create and respond to change in order to profit in a unstable global business
environment.
 The ability to quickly reprioritize use of resources when requirements, technology, and
knowledge shift.
 A very fast response to sudden market changes and emerging threats by intensive customer
interaction.
 Use of evolutionary, incremental, and iterative delivery to converge on an optimal customer
solution.
 Maximizing BUSINESS VALUE with right sized, just- enough, and just-in-time processes and
documentation.
Agility is ability to move quickly and easily.
It is a property consisting of quickness, lightness, & ease of movement.
What is Agility? Cont.
Current Functionality
Change Request
Effective
response
to change
Effective
communication
among all
stakeholders
Organizing a team
so that it is in
control to perform
the work
Customer
Drawing the
customer onto
the team
Eliminate the
“us and them”
attitude
Development
Team
Rapid and Incremental delivery of software
Agile Process
 Agile software process addresses few assumptions
 An agile process must adapt incrementally.
 To accomplish incremental adaptation, an agile team requires customer feedback (so that
the appropriate adaptations can be made).
Analysis, design, construction and testing are not as predictable as we might like.
Difficulty in predicting changes of requirements and customer priorities.
For many types of software; design and construction are interleaved (mixed).
Agility Principles
 Highest priority is to satisfy the customer through early & continuous delivery of software
 Welcome changing requirements
 Deliver working software frequently
 Business people and developers must work together
 Build projects around motivated individuals
 Emphasize face-to-face conversation
 Working software is the measure of progress
 Continuous attention to technical excellence and good design
 Simplicity – the art of maximizing the amount of work done
 The best designs emerge from self-organizing teams
 The team tunes and adjusts its behaviour to become more effective
Where agile methodology not work
Project plan &
requirements are clear
& unlikely to change
Unclear understanding
of Agile Approach
among Teams
Big Enterprises where
team collaboration is
tough
Agile Process Models
Extreme Programming (XP)
Adaptive Software Development (ASD)
Dynamic Systems Development Method (DSDM)
Feature Driven Development (FDD)
Crystal
Agile Modelling (AM)
Extreme Programming (XP)
 The most widely used approach to agile software development
 A variant of XP called Industrial XP (IXP) has been proposed to target process for large
organizations
 It uses object oriented approach as its preferred development model
XP Values
 Communication: To achieve effective communication, it emphasized close & informal
(verbal) collaboration between customers and developers
 Simplicity: It restricts developers to design for immediate needs not for future needs
 Feedback: It is derived from three sources the implemented software, the customer and other
software team members, it uses Unit testing as primary testing
 Courage: It demands courage (discipline), there is often significant pressure to design for
future requirements, XP team must have the discipline (courage) to design for today
 Respect: XP team respect among members
The XP Process
It considers four framework activities
1. Planning  2. Design  3. Coding  4. Testing
Planning
User Stories
• Customers assigns value (priority)
• Developers assigns cost (number of development
weeks)
Project velocity
• Computed at the end of first release
• Number of stories implemented in first release
• Estimates for future release
• Guard against over-commitment
The XP Process cont.
• Keep-it-Simple (Design of extra functionality is discouraged)
• Preparation of CRC card is work project
• CRC cards identify and organize object oriented classes
• Spike Solutions (in case of difficult design problem is encountered)
• Operational prototype intended to clear confusion
• Refactoring
• Modify internals of code, No observable change
Design
CRC card
Coding
• Develops a series of Unit test for stories included in current release
• Complete code perform unit-test to get immediate feedback
• XP recommend pair-programming, “Two heads are better than one”
• Integrate code with other team members, this “continuous integration” helps to
avoid compatibility & interfacing problems, “smoke testing” environment to uncover
errors early
• Unit test by developers & fix small problems
• Acceptance tests - Specified by customer
• This encourages regression testing strategy whenever code is modified
Testing
What is Scrum?
A scrum is a method of restarting
play in rugby that involves players
packing closely together with their
heads down and attempting to gain
possession of the ball.
It is a lightweight process framework.
Lightweight means the overhead of the process is kept as
small as possible in order to maximize the productivity.
Sprint
Product
Product Backlog Product Owner
Scrum is an agile process model which is used for developing the complex software systems.
Daily
Scrum
Meeting
Scrum framework at a glance
Inputs from Customers,
Team, Managers
Product Owner
Product
Backlog
Sprint Planning
Meeting
Sprint
Backlog
Scrum
Master
Daily Scrum
Meetings
Sprint Review
Finished Work
Sprint Retrospective
Team Selects starting at
top as much as it can
commit to deliver by end
of sprint
Prioritized list of what is
required: features, bugs to fix...
Sprint end date and team
deliverable do not change
Scrum cont.
Backlog
 It is a prioritized list of project requirements or features that must be provided to the
customer.
 The items can be included in the backlog at any time.
 The product manager analyses this list and updates the priorities as per the requirements.
Sprint
 These are the work units that are needed to achieve the requirements mentioned in the
backlogs.
 Typically the sprints have fixed duration or time box (of 2 to 4 weeks, 30 days).
 Change are not introduced during the sprint.
 Thus sprints allow the team members to work in stable and short-term environment
Scrum Meetings
 There are 15 minutes daily meetings to report the completed activities, obstacles and plan
for next activities.
 Following are three questions that are mainly discussed during the meetings.
1. What are the tasks done since last meeting ?
2. What are the issues that team is facing ?
3. What are the next activities that are planned?
 The scrum master leads the meeting and analyses the response of each team member.
 Scrum meeting helps the team to uncover potential problems as early as possible
 It leads to “knowledge socialization” & promotes “self-organizing team structure”
Demo
Scrum cont.
 Deliver software increment to customer
 Implemented functionalities are demonstrated to the customer
Adaptive Software development (ASD)
 This is a technique for building complex software systems using iterative approach.
 ASD focus on working in collaboration and team self-organization.
ASD incorporates three phases
1. Speculation, 2. Collaboration & 3. Learning
Speculation
 The adaptive cycle planning is conducted.
 In this cycle planning mainly three types of
information is used
Customer’s mission statement
Project constraints
(Delivery date, budgets etc…)
Basic requirements of the project
Adaptive Software development (ASD) cont.
Collaboration
 In this, collaboration among the members
of development team is a key factor.
 For successful collaboration and
coordination it is necessary to have
following qualities in every individual
Learning
 Emphasize is on learning new skills and
techniques.
 There are three ways by which the team
members learn
Assist each other without resentment (offense)
Work hard Posses the required skill set
Communicate problems and help each other
Criticize without any hate
Focus groups
The feedback from the end-users is obtained.
Formal technical review
This review is conducted for better quality.
Postmortems
Team analyses its own performance and makes
appropriate improvements.
Dynamic Systems Development Methods (DSDM)
Various phases of this life cycle model
 Feasibility study: By analysing the business requirements and constraints the viability of the
application is determined
 Business study: The functional and informational requirements are identified and then the
business value of the application is determined
 Functional model iteration: The incremental approach is adopted for development
 Design and build iteration: If possible design and build activities can be carried out in parallel
 Implementation: The software increment is placed in the working environment
Feature Driven Development (FDD)
It is practical
process model
for object
oriented
software
engineering
In FDD, the feature means client valued function.
Feature Driven Development (FDD) cont.
1. Develop overall model
 The high-level walkthrough of scope and
detailed domain walkthrough are conducted
to create overall models.
2. Build feature list
 List of features is created and expressed in
the following form
<action> the <result> <by for of to> a(n) <object>
For Ex. “Display product-specifications of the product”
3. Plan by feature
 After completing the feature list the
development plan is created
Design by feature
 For each feature the sequence diagram
is created
Build by feature
 Finally the class owner develop the
actual code for their classes

More Related Content

Similar to Unit_1_Agile development.pdf about the script of software (20)

PPT
Chapter 3 Agile Development 7e.ppt,Chapter 5 - 1.ppt
NaveedRehman55
 
PPT
notes-SRE Lec_2(2).pptx education dg khan
WaleedAbdullah55
 
PPT
notes-SRE Lec_2.ppt University of Education Lahore Pakistan
muhammadshan6133044
 
PPTX
3. Agile Process and Extreme Programming.pptx
ssuser000e54
 
PPT
SE Lecture 3.ppt
ssusere16bd9
 
PDF
A littlebook about agile
Maris Prabhakaran M
 
PPT
3. Agility and extreme programming OF UNIT-1 PPT
sharmila27432
 
PPTX
Agile Development unleashed
livgeni
 
PPT
Week_03-Agile Developmnet.ppt
RedHeart11
 
PPTX
agile modeling in project management.pptx
RahatUllah55
 
PPTX
Introduction to Software Engineering
International Islamic University Islamabad
 
PPTX
Agile software development
saurabh goel
 
PPTX
An overview of agile methodologies
parvezmisarwala
 
PPT
Agile
Rakesh Ranjan
 
PPT
chapter-03-Agile view of process.ppt
NakulP3
 
PDF
Agile Methodology - Software Engineering
Purvik Rana
 
PPTX
module I.pptx
NitinManne
 
PDF
Role of Agile model in software development
RaviRai305867
 
PPTX
It's XP Stupid (2019)
Mike Harris
 
Chapter 3 Agile Development 7e.ppt,Chapter 5 - 1.ppt
NaveedRehman55
 
notes-SRE Lec_2(2).pptx education dg khan
WaleedAbdullah55
 
notes-SRE Lec_2.ppt University of Education Lahore Pakistan
muhammadshan6133044
 
3. Agile Process and Extreme Programming.pptx
ssuser000e54
 
SE Lecture 3.ppt
ssusere16bd9
 
A littlebook about agile
Maris Prabhakaran M
 
3. Agility and extreme programming OF UNIT-1 PPT
sharmila27432
 
Agile Development unleashed
livgeni
 
Week_03-Agile Developmnet.ppt
RedHeart11
 
agile modeling in project management.pptx
RahatUllah55
 
Introduction to Software Engineering
International Islamic University Islamabad
 
Agile software development
saurabh goel
 
An overview of agile methodologies
parvezmisarwala
 
chapter-03-Agile view of process.ppt
NakulP3
 
Agile Methodology - Software Engineering
Purvik Rana
 
module I.pptx
NitinManne
 
Role of Agile model in software development
RaviRai305867
 
It's XP Stupid (2019)
Mike Harris
 

Recently uploaded (20)

PDF
mbse_An_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
PPT
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
 
PDF
Digital water marking system project report
Kamal Acharya
 
PDF
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
PPTX
MODULE 05 - CLOUD COMPUTING AND SECURITY.pptx
Alvas Institute of Engineering and technology, Moodabidri
 
PPTX
Distribution reservoir and service storage pptx
dhanashree78
 
PDF
Electrical Engineer operation Supervisor
ssaruntatapower143
 
PPTX
Knowledge Representation : Semantic Networks
Amity University, Patna
 
PDF
methodology-driven-mbse-murphy-july-hsv-huntsville6680038572db67488e78ff00003...
henriqueltorres1
 
PDF
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
PPTX
Water Resources Engineering (CVE 728)--Slide 3.pptx
mohammedado3
 
PDF
REINFORCEMENT LEARNING IN DECISION MAKING SEMINAR REPORT
anushaashraf20
 
PPTX
澳洲电子毕业证澳大利亚圣母大学水印成绩单UNDA学生证网上可查学历
Taqyea
 
PDF
Design Thinking basics for Engineers.pdf
CMR University
 
PDF
SERVERLESS PERSONAL TO-DO LIST APPLICATION
anushaashraf20
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PPTX
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
PPTX
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
PPTX
Numerical-Solutions-of-Ordinary-Differential-Equations.pptx
SAMUKTHAARM
 
PPTX
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
mbse_An_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
 
Digital water marking system project report
Kamal Acharya
 
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
MODULE 05 - CLOUD COMPUTING AND SECURITY.pptx
Alvas Institute of Engineering and technology, Moodabidri
 
Distribution reservoir and service storage pptx
dhanashree78
 
Electrical Engineer operation Supervisor
ssaruntatapower143
 
Knowledge Representation : Semantic Networks
Amity University, Patna
 
methodology-driven-mbse-murphy-july-hsv-huntsville6680038572db67488e78ff00003...
henriqueltorres1
 
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
Water Resources Engineering (CVE 728)--Slide 3.pptx
mohammedado3
 
REINFORCEMENT LEARNING IN DECISION MAKING SEMINAR REPORT
anushaashraf20
 
澳洲电子毕业证澳大利亚圣母大学水印成绩单UNDA学生证网上可查学历
Taqyea
 
Design Thinking basics for Engineers.pdf
CMR University
 
SERVERLESS PERSONAL TO-DO LIST APPLICATION
anushaashraf20
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
Numerical-Solutions-of-Ordinary-Differential-Equations.pptx
SAMUKTHAARM
 
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
Ad

Unit_1_Agile development.pdf about the script of software

  • 2.  Looping Outline  What is Agility?  Agile Process  Agility Principles  Where agile methodology not work?  Agile Process Models • Extreme Programming (XP) • Adaptive Software Development (ASD) • Dynamic Systems Development Method (DSDM) • Scrum • Feature Driven Development (FDD) • Crystal • Agile Modelling (AM)
  • 3. Agility  The ability to create and respond to change in order to profit in a unstable global business environment.  The ability to quickly reprioritize use of resources when requirements, technology, and knowledge shift.  A very fast response to sudden market changes and emerging threats by intensive customer interaction.  Use of evolutionary, incremental, and iterative delivery to converge on an optimal customer solution.  Maximizing BUSINESS VALUE with right sized, just- enough, and just-in-time processes and documentation. Agility is ability to move quickly and easily. It is a property consisting of quickness, lightness, & ease of movement.
  • 4. What is Agility? Cont. Current Functionality Change Request Effective response to change Effective communication among all stakeholders Organizing a team so that it is in control to perform the work Customer Drawing the customer onto the team Eliminate the “us and them” attitude Development Team Rapid and Incremental delivery of software
  • 5. Agile Process  Agile software process addresses few assumptions  An agile process must adapt incrementally.  To accomplish incremental adaptation, an agile team requires customer feedback (so that the appropriate adaptations can be made). Analysis, design, construction and testing are not as predictable as we might like. Difficulty in predicting changes of requirements and customer priorities. For many types of software; design and construction are interleaved (mixed).
  • 6. Agility Principles  Highest priority is to satisfy the customer through early & continuous delivery of software  Welcome changing requirements  Deliver working software frequently  Business people and developers must work together  Build projects around motivated individuals  Emphasize face-to-face conversation  Working software is the measure of progress  Continuous attention to technical excellence and good design  Simplicity – the art of maximizing the amount of work done  The best designs emerge from self-organizing teams  The team tunes and adjusts its behaviour to become more effective
  • 7. Where agile methodology not work Project plan & requirements are clear & unlikely to change Unclear understanding of Agile Approach among Teams Big Enterprises where team collaboration is tough
  • 8. Agile Process Models Extreme Programming (XP) Adaptive Software Development (ASD) Dynamic Systems Development Method (DSDM) Feature Driven Development (FDD) Crystal Agile Modelling (AM)
  • 9. Extreme Programming (XP)  The most widely used approach to agile software development  A variant of XP called Industrial XP (IXP) has been proposed to target process for large organizations  It uses object oriented approach as its preferred development model XP Values  Communication: To achieve effective communication, it emphasized close & informal (verbal) collaboration between customers and developers  Simplicity: It restricts developers to design for immediate needs not for future needs  Feedback: It is derived from three sources the implemented software, the customer and other software team members, it uses Unit testing as primary testing  Courage: It demands courage (discipline), there is often significant pressure to design for future requirements, XP team must have the discipline (courage) to design for today  Respect: XP team respect among members
  • 10. The XP Process It considers four framework activities 1. Planning  2. Design  3. Coding  4. Testing Planning User Stories • Customers assigns value (priority) • Developers assigns cost (number of development weeks) Project velocity • Computed at the end of first release • Number of stories implemented in first release • Estimates for future release • Guard against over-commitment
  • 11. The XP Process cont. • Keep-it-Simple (Design of extra functionality is discouraged) • Preparation of CRC card is work project • CRC cards identify and organize object oriented classes • Spike Solutions (in case of difficult design problem is encountered) • Operational prototype intended to clear confusion • Refactoring • Modify internals of code, No observable change Design CRC card Coding • Develops a series of Unit test for stories included in current release • Complete code perform unit-test to get immediate feedback • XP recommend pair-programming, “Two heads are better than one” • Integrate code with other team members, this “continuous integration” helps to avoid compatibility & interfacing problems, “smoke testing” environment to uncover errors early • Unit test by developers & fix small problems • Acceptance tests - Specified by customer • This encourages regression testing strategy whenever code is modified Testing
  • 12. What is Scrum? A scrum is a method of restarting play in rugby that involves players packing closely together with their heads down and attempting to gain possession of the ball. It is a lightweight process framework. Lightweight means the overhead of the process is kept as small as possible in order to maximize the productivity. Sprint Product Product Backlog Product Owner Scrum is an agile process model which is used for developing the complex software systems. Daily Scrum Meeting
  • 13. Scrum framework at a glance Inputs from Customers, Team, Managers Product Owner Product Backlog Sprint Planning Meeting Sprint Backlog Scrum Master Daily Scrum Meetings Sprint Review Finished Work Sprint Retrospective Team Selects starting at top as much as it can commit to deliver by end of sprint Prioritized list of what is required: features, bugs to fix... Sprint end date and team deliverable do not change
  • 14. Scrum cont. Backlog  It is a prioritized list of project requirements or features that must be provided to the customer.  The items can be included in the backlog at any time.  The product manager analyses this list and updates the priorities as per the requirements. Sprint  These are the work units that are needed to achieve the requirements mentioned in the backlogs.  Typically the sprints have fixed duration or time box (of 2 to 4 weeks, 30 days).  Change are not introduced during the sprint.  Thus sprints allow the team members to work in stable and short-term environment
  • 15. Scrum Meetings  There are 15 minutes daily meetings to report the completed activities, obstacles and plan for next activities.  Following are three questions that are mainly discussed during the meetings. 1. What are the tasks done since last meeting ? 2. What are the issues that team is facing ? 3. What are the next activities that are planned?  The scrum master leads the meeting and analyses the response of each team member.  Scrum meeting helps the team to uncover potential problems as early as possible  It leads to “knowledge socialization” & promotes “self-organizing team structure” Demo Scrum cont.  Deliver software increment to customer  Implemented functionalities are demonstrated to the customer
  • 16. Adaptive Software development (ASD)  This is a technique for building complex software systems using iterative approach.  ASD focus on working in collaboration and team self-organization. ASD incorporates three phases 1. Speculation, 2. Collaboration & 3. Learning Speculation  The adaptive cycle planning is conducted.  In this cycle planning mainly three types of information is used Customer’s mission statement Project constraints (Delivery date, budgets etc…) Basic requirements of the project
  • 17. Adaptive Software development (ASD) cont. Collaboration  In this, collaboration among the members of development team is a key factor.  For successful collaboration and coordination it is necessary to have following qualities in every individual Learning  Emphasize is on learning new skills and techniques.  There are three ways by which the team members learn Assist each other without resentment (offense) Work hard Posses the required skill set Communicate problems and help each other Criticize without any hate Focus groups The feedback from the end-users is obtained. Formal technical review This review is conducted for better quality. Postmortems Team analyses its own performance and makes appropriate improvements.
  • 18. Dynamic Systems Development Methods (DSDM) Various phases of this life cycle model  Feasibility study: By analysing the business requirements and constraints the viability of the application is determined  Business study: The functional and informational requirements are identified and then the business value of the application is determined  Functional model iteration: The incremental approach is adopted for development  Design and build iteration: If possible design and build activities can be carried out in parallel  Implementation: The software increment is placed in the working environment
  • 19. Feature Driven Development (FDD) It is practical process model for object oriented software engineering In FDD, the feature means client valued function.
  • 20. Feature Driven Development (FDD) cont. 1. Develop overall model  The high-level walkthrough of scope and detailed domain walkthrough are conducted to create overall models. 2. Build feature list  List of features is created and expressed in the following form <action> the <result> <by for of to> a(n) <object> For Ex. “Display product-specifications of the product” 3. Plan by feature  After completing the feature list the development plan is created Design by feature  For each feature the sequence diagram is created Build by feature  Finally the class owner develop the actual code for their classes