SlideShare a Scribd company logo
Agile Process
Extreme Programming
SCRUM Process
Dr. Vendhan Duraisamy
KAMARAJ College of Engineering and Technology
Unit I - Software Process and Agile Development
IT2203 - Software Engineering
Introduction to Agility
In agile software development process,
• It is a nimble team able to appropriately respond to changes.
• Effective (rapid and adaptive) response to change.
• Effective communication among all the stakeholders.
• Organizing a team so that it is in control of the work performed.
Yielding …
• Rapid, incremental delivery of software.
2
An Agile Process
Any agile software process is characterized in a manner that
addresses a number of key assumptions about the majority of
software projects:
• Is driven by customer descriptions of what is required
(scenarios).
• Develops software iteratively and delivers multiple ‘software
increments’.
• Adapts as changes occur.
3
Agility and the Cost of Change
4
Agility and the Cost of Change
• In software development the cost of change increases
nonlinearly as a project progresses (solid black curve).
• It is relatively easy to accommodate a change when a
software team is gathering requirements (early in a project).
• An agile process reduces the cost of change because the
software is released in increments and change can be
controlled within an increment.
5
Agility Principles
1. Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.
2. Welcome changing requirements, even late in development.
3. Deliver working software frequently, from a couple of weeks to a
couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily
throughout the project.
5. Build projects around motivated individuals.
Give them the environment and support they need, and trust them
to get the job done.
6
6. The most efficient and effective method of conveying information
to and within a development team is face–to–face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development.
9. Continuous attention to technical excellence and good design
enhances agility.
10. Simplicity - The art of maximizing the amount of work not done
is essential.
11. The best architectures, requirements, and designs emerge from
self-organizing teams.
12. At regular intervals, the team reflects on how to become more
effective, then tunes and adjusts its behavior accordingly.
7
Extreme Programming (XP)
• Extreme programming is the most widely used approach to
agile software development.
• Most recently a variant of XP called IXP (Industrial XP) has
been defined.
• IXP refines XP and targets the agile process specifically for use
within large organization.
Beck defines five XP values
1. Communication 2. Simplicity
3. Feedback 4. Courage
5. Respect
XP Process
Extreme programming uses an object oriented approach that
practices four framework activities.
1. Planning 2. Design
3. Coding 4. Testing
XP Process - Planning
The planning activity begins with listening a requirements
gathering activity that enables the technical members of XP to
understand the requirements.
• Listening leads to the creation of a set of stories (also called
user stories) that describe required output, features, and
functionality for software to be built.
• Members of the XP team then assess each story and assign a cost-
measured in development weeks to it.
• It is important to note that new stories can be written at any time.
• Customers and Developers work together to decide how to group
• If the story is estimated to require more than three development
weeks, the customer is asked to split the story into smaller stories
and the assignment of value and cost change occurs again.
• Once a basic commitment is made for a release, the XP team orders
the stories that will be developed in one of three ways:
1. All stories will be implemented immediately (within a few
weeks).
2. The stories with highest value will be moved up in the schedule
and implemented first.
3. The riskiest stories will be moved up in the schedule and
implemented first.
XP Process - Planning
• After the first project release (also called a software increment)
has been delivered, the XP team computes project velocity.
• Project velocity is the number of customer stories implemented
during the first release.
Project velocity can then be used to:
1. Estimate delivery dates and schedule for subsequent releases.
2. Determine whether an over commitment has been made for all
stories across the entire development project.
3. If an over commitment occurs, the content of releases is
modified or end delivery dates are changed.
XP Process - Design
• XP design follows the KIS (keep it simple) principle.
• A simple design is always preferred over a more complex
representation.
• XP encourages the use of CRC (Class-Responsibility
Collaborator) cards as an effective mechanism for thinking
about the software in an object-oriented context.
• If a difficult design, XP recommends the immediate creation of an
operational prototype of that portion of the design called a spike
solution, the design prototype is implemented and evaluated.
XP Process - Coding
• After design work is done, the team does not move to code, but
rather develops a series of unit tests.
• Once the unit test has been created, the developer is better able
to focus on what must be implemented to pass the test.
• Once the code is complete, it can be unit-tested immediately,
thereby providing instantaneous feedback to the developers.
• A key concept during the coding activity is pair programming.
• For example, one person might think about the coding details of a
particular portion of the design while the other ensures that coding
standards are being followed or that the code for the story will
XP-Process Coding
• This continuous integration strategy helps to avoid
compatibility and interfacing problems and provides a smoke
testing environment that helps to uncover errors early.
• XP encourages Refactoring a construction technique that is also
a method for design optimization.
• Refactoring is the process of changing a software system in
such a way that it does not alter the external behavior of the
code yet improves the internal structure.
• The intent of refactoring is to control these modifications by
suggesting small design changes that can radically improve the
design.
XP Process - Testing
• The creation of unit tests before coding commences as a key
element of the XP approach.
• This encourages a regression testing strategy whenever code is
modified.
• XP acceptance tests, also called customer tests, are specified by
the customer and focus on overall system features and
functionality that are visible and reviewable by the customer.
• Acceptance tests are derived from user stories that have been
implemented as part of a software release.
SCRUM
• Scrum is derived from an activity that occurs during a rugby match.
• It is an agile development method by jeff sutherland in 1990.
• It incorporates the following framework activities.
Requirements, Analysis, Design, Evolution and Delivery
Key Roles and Responsibilities
1. Product Owner - Customer to guide the team
2. Scrum Master - Project manager
3. Team Member - Cross-functional team members
SCRUM PROCESS
1. Backlog - A prioritized list of project requirements or features
that provides business value for the customer.
Features can be added to the backlog at any time.
i. Product Backlog - Lists all the prioritized features that remain
to be developed.
ii. Sprint Backlog - During sprint planning meeting, team
identifies one or more features to be assigned.
iii. Sprint Burndown Chart - Tool to visualize the progress made
and the work remaining on a daily basis.
2. Sprint - Consists of work units that are required to achieve a
requirement defined in the backlog in a predefined time, typically 30
days.
Changes are not introduced during the sprint.
3. Scrum Meetings - Short meeting (15 minutes) held daily by the
scrum team.
• What did you do since the last team meeting?
• What obstacles are you encountering?
• What do you plan to accomplish by the next team meeting?
It includes
1. Sprint Planning 2. Daily Scrum 3. Sprint Review Meeting

More Related Content

PPTX
Software engineering MODULE3__Agile.pptx
PPT
what is agile and its usage and properties
PPTX
software engineering process ,Agile and methods
PPT
chapter-03-Agile view of process.ppt
PDF
ch2-Agile-Software-Development-engineerning.pdf
PPT
SE Lecture 3.ppt
PPTX
Agile development
DOCX
Software engineering MODULE3__Agile.pptx
what is agile and its usage and properties
software engineering process ,Agile and methods
chapter-03-Agile view of process.ppt
ch2-Agile-Software-Development-engineerning.pdf
SE Lecture 3.ppt
Agile development

Similar to 3. Agile Process and Extreme Programming.pptx (20)

PDF
Role of Agile model in software development
PPT
Week_03-Agile Developmnet.ppt
PPT
3. Agility and extreme programming OF UNIT-1 PPT
PDF
Unit_1_Agile development.pdf about the script of software
PPTX
Lecture3.se.pptx
PDF
4. ch 3-agile process
PPTX
Xp(Xtreme Programming) presentation
PPTX
Agile process model powerpoint presentat
PPTX
software engineering and project management 3rd module ppt presenetation
PPT
Software Engineering (An Agile View of Process)
PDF
Agile Methodology - Software Engineering
PPTX
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
PPTX
Agile-Software-Development in SAP ERP.pptx
PDF
Extreme Programming (XP) as A Popular Agile methodology.
PPT
notes-SRE Lec_2(2).pptx education dg khan
PPT
notes-SRE Lec_2.ppt University of Education Lahore Pakistan
PPT
Agile Development | Agile Process Models
PPT
agility_principles.ppt
PPT
Chapter 3 - Agile Software Development.ppt
Role of Agile model in software development
Week_03-Agile Developmnet.ppt
3. Agility and extreme programming OF UNIT-1 PPT
Unit_1_Agile development.pdf about the script of software
Lecture3.se.pptx
4. ch 3-agile process
Xp(Xtreme Programming) presentation
Agile process model powerpoint presentat
software engineering and project management 3rd module ppt presenetation
Software Engineering (An Agile View of Process)
Agile Methodology - Software Engineering
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Agile-Software-Development in SAP ERP.pptx
Extreme Programming (XP) as A Popular Agile methodology.
notes-SRE Lec_2(2).pptx education dg khan
notes-SRE Lec_2.ppt University of Education Lahore Pakistan
Agile Development | Agile Process Models
agility_principles.ppt
Chapter 3 - Agile Software Development.ppt
Ad

More from ssuser000e54 (19)

PPT
1. Introduction to Software Engineering and Software Process.ppt
PPTX
20UIT007_INTERN_PPT.pptx review of iternship
PPTX
20UIT013 review of in Internship-odd.pptx
PPTX
SAUML Unit 1 software architecture and UML
PPTX
Playfair Cipher Cryptography and Network Security
PPTX
CS8792 - CNSe - Unit V.pptx Cryptography
PPTX
CS8392 OBJECT ORIENTED PROGRAMMING UNIT 3 NOTES.pptx
PPTX
IT1634 – SDN Unit 1.pptx Software defined
PPTX
IT1634 – SDN Unit 3Software Defined Nwtwork
PPTX
IT1634 – SDN Unit 2 Software Defined Nwtwork
PPTX
IT235 POC - Unit I priciples of cryptography
PPT
Web securiy - Network security essentials
PPTX
Restoring Division Computer oragaiztions
PPT
VIT311 Network Security Essentials Unit 1.ppt
PPTX
Unit 1 Centralized and Distributed Control and Date Planes .ppt.pptx
PPTX
Evolution, Strutcture and Operations.pptx
PPTX
Unit 1 Centralized and Distributed Control and Date Planes .ppt.pptx
PPTX
1165839977.pptx
PPTX
Instruction set.pptx
1. Introduction to Software Engineering and Software Process.ppt
20UIT007_INTERN_PPT.pptx review of iternship
20UIT013 review of in Internship-odd.pptx
SAUML Unit 1 software architecture and UML
Playfair Cipher Cryptography and Network Security
CS8792 - CNSe - Unit V.pptx Cryptography
CS8392 OBJECT ORIENTED PROGRAMMING UNIT 3 NOTES.pptx
IT1634 – SDN Unit 1.pptx Software defined
IT1634 – SDN Unit 3Software Defined Nwtwork
IT1634 – SDN Unit 2 Software Defined Nwtwork
IT235 POC - Unit I priciples of cryptography
Web securiy - Network security essentials
Restoring Division Computer oragaiztions
VIT311 Network Security Essentials Unit 1.ppt
Unit 1 Centralized and Distributed Control and Date Planes .ppt.pptx
Evolution, Strutcture and Operations.pptx
Unit 1 Centralized and Distributed Control and Date Planes .ppt.pptx
1165839977.pptx
Instruction set.pptx
Ad

Recently uploaded (20)

PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
web development for engineering and engineering
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
Well-logging-methods_new................
PDF
Digital Logic Computer Design lecture notes
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPT
Project quality management in manufacturing
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Sustainable Sites - Green Building Construction
DOCX
573137875-Attendance-Management-System-original
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Geodesy 1.pptx...............................................
PPTX
Welding lecture in detail for understanding
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Internet of Things (IOT) - A guide to understanding
additive manufacturing of ss316l using mig welding
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
web development for engineering and engineering
CYBER-CRIMES AND SECURITY A guide to understanding
bas. eng. economics group 4 presentation 1.pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Well-logging-methods_new................
Digital Logic Computer Design lecture notes
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Project quality management in manufacturing
CH1 Production IntroductoryConcepts.pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Sustainable Sites - Green Building Construction
573137875-Attendance-Management-System-original
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Geodesy 1.pptx...............................................
Welding lecture in detail for understanding
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx

3. Agile Process and Extreme Programming.pptx

  • 1. Agile Process Extreme Programming SCRUM Process Dr. Vendhan Duraisamy KAMARAJ College of Engineering and Technology Unit I - Software Process and Agile Development IT2203 - Software Engineering
  • 2. Introduction to Agility In agile software development process, • It is a nimble team able to appropriately respond to changes. • Effective (rapid and adaptive) response to change. • Effective communication among all the stakeholders. • Organizing a team so that it is in control of the work performed. Yielding … • Rapid, incremental delivery of software. 2
  • 3. An Agile Process Any agile software process is characterized in a manner that addresses a number of key assumptions about the majority of software projects: • Is driven by customer descriptions of what is required (scenarios). • Develops software iteratively and delivers multiple ‘software increments’. • Adapts as changes occur. 3
  • 4. Agility and the Cost of Change 4
  • 5. Agility and the Cost of Change • In software development the cost of change increases nonlinearly as a project progresses (solid black curve). • It is relatively easy to accommodate a change when a software team is gathering requirements (early in a project). • An agile process reduces the cost of change because the software is released in increments and change can be controlled within an increment. 5
  • 6. Agility Principles 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6
  • 7. 6. The most efficient and effective method of conveying information to and within a development team is face–to–face conversation. 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity - The art of maximizing the amount of work not done is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 7
  • 8. Extreme Programming (XP) • Extreme programming is the most widely used approach to agile software development. • Most recently a variant of XP called IXP (Industrial XP) has been defined. • IXP refines XP and targets the agile process specifically for use within large organization. Beck defines five XP values 1. Communication 2. Simplicity 3. Feedback 4. Courage 5. Respect
  • 9. XP Process Extreme programming uses an object oriented approach that practices four framework activities. 1. Planning 2. Design 3. Coding 4. Testing
  • 10. XP Process - Planning The planning activity begins with listening a requirements gathering activity that enables the technical members of XP to understand the requirements. • Listening leads to the creation of a set of stories (also called user stories) that describe required output, features, and functionality for software to be built. • Members of the XP team then assess each story and assign a cost- measured in development weeks to it. • It is important to note that new stories can be written at any time. • Customers and Developers work together to decide how to group
  • 11. • If the story is estimated to require more than three development weeks, the customer is asked to split the story into smaller stories and the assignment of value and cost change occurs again. • Once a basic commitment is made for a release, the XP team orders the stories that will be developed in one of three ways: 1. All stories will be implemented immediately (within a few weeks). 2. The stories with highest value will be moved up in the schedule and implemented first. 3. The riskiest stories will be moved up in the schedule and implemented first. XP Process - Planning
  • 12. • After the first project release (also called a software increment) has been delivered, the XP team computes project velocity. • Project velocity is the number of customer stories implemented during the first release. Project velocity can then be used to: 1. Estimate delivery dates and schedule for subsequent releases. 2. Determine whether an over commitment has been made for all stories across the entire development project. 3. If an over commitment occurs, the content of releases is modified or end delivery dates are changed.
  • 13. XP Process - Design • XP design follows the KIS (keep it simple) principle. • A simple design is always preferred over a more complex representation. • XP encourages the use of CRC (Class-Responsibility Collaborator) cards as an effective mechanism for thinking about the software in an object-oriented context. • If a difficult design, XP recommends the immediate creation of an operational prototype of that portion of the design called a spike solution, the design prototype is implemented and evaluated.
  • 14. XP Process - Coding • After design work is done, the team does not move to code, but rather develops a series of unit tests. • Once the unit test has been created, the developer is better able to focus on what must be implemented to pass the test. • Once the code is complete, it can be unit-tested immediately, thereby providing instantaneous feedback to the developers. • A key concept during the coding activity is pair programming. • For example, one person might think about the coding details of a particular portion of the design while the other ensures that coding standards are being followed or that the code for the story will
  • 15. XP-Process Coding • This continuous integration strategy helps to avoid compatibility and interfacing problems and provides a smoke testing environment that helps to uncover errors early. • XP encourages Refactoring a construction technique that is also a method for design optimization. • Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves the internal structure. • The intent of refactoring is to control these modifications by suggesting small design changes that can radically improve the design.
  • 16. XP Process - Testing • The creation of unit tests before coding commences as a key element of the XP approach. • This encourages a regression testing strategy whenever code is modified. • XP acceptance tests, also called customer tests, are specified by the customer and focus on overall system features and functionality that are visible and reviewable by the customer. • Acceptance tests are derived from user stories that have been implemented as part of a software release.
  • 17. SCRUM • Scrum is derived from an activity that occurs during a rugby match. • It is an agile development method by jeff sutherland in 1990. • It incorporates the following framework activities. Requirements, Analysis, Design, Evolution and Delivery Key Roles and Responsibilities 1. Product Owner - Customer to guide the team 2. Scrum Master - Project manager 3. Team Member - Cross-functional team members
  • 19. 1. Backlog - A prioritized list of project requirements or features that provides business value for the customer. Features can be added to the backlog at any time. i. Product Backlog - Lists all the prioritized features that remain to be developed. ii. Sprint Backlog - During sprint planning meeting, team identifies one or more features to be assigned. iii. Sprint Burndown Chart - Tool to visualize the progress made and the work remaining on a daily basis.
  • 20. 2. Sprint - Consists of work units that are required to achieve a requirement defined in the backlog in a predefined time, typically 30 days. Changes are not introduced during the sprint. 3. Scrum Meetings - Short meeting (15 minutes) held daily by the scrum team. • What did you do since the last team meeting? • What obstacles are you encountering? • What do you plan to accomplish by the next team meeting? It includes 1. Sprint Planning 2. Daily Scrum 3. Sprint Review Meeting