SlideShare a Scribd company logo
Agile
❑Extreme Programming (XP)
❑Scrum
S K Goel VESIT
Software Development Methodologies:
Waterfall Model
The waterfall model is a relatively linear sequential design approach for
certain areas of engineering design. In software development, it tends to
be among the less iterative and flexible approaches, as progress flows in
largely one direction ("downwards" like a waterfall) through the phases of
conception, initiation, analysis, design, construction, testing, deployment
and maintenance.
This is a traditional way of software development.
S K Goel VESIT
Problems with Waterfall Model:
S K Goel VESIT
Software Development Methodologies:
What is Agile?
Agile is an iterative approach to software development under which
requirements and solutions evolve through the collaborative effort of self-
organizing cross-functional teams and their customer(s).
It advocates adaptive planning, evolutionary development, early delivery,
and continuous improvement, and it encourages rapid and flexible
response to change.”
S K Goel VESIT
Why Agile:
• Faster Time to Market
• Early Delivery of Customer Value
• Early and Frequent Testing
• Transparency and Visibility
• Early Risk Identification and Mitigation
• Improves Return on Investment
• Accommodates change easily
• Early and Regular Process Improvement
• Breaks complex projects into smaller logical chunks
S K Goel VESIT
History of Agile:
In 2001, seventeen software developers met at a resort in Snowbird, Utah to
discuss these lightweight development methods, including among others.
Together they published the Agile manifesto (http://agilemanifesto.org).
Agile Manifesto:
We are uncovering better ways of developing software by doing it and
helping others do it. Through this work we have come to value:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on
the left more.
S K Goel VESIT
Agility
Important in Agility
S K Goel VESIT
Agility and cost of change
S K Goel VESIT
What is an Agile Process
An agile SW process is characterized in a manner that addresses a number of key
assumptions
1. It is difficult to predict the priorities of a customer and also which sw requirement
persist and which will change.
2. 2.For many types of sw , design and construction are interleaved
3. Analysis, design , construction and testing are not as predictable
How do we create a process that can manage unpredictability?
Ans: Process of Adaptability……
But Continuous Adaption without forward progress accomplishes a little….Hence
Agile Process model must adapt Incrementally, to accomplish incremental adoption
continuous feedback of customer is required , for this operational prototype is
required ,
S K Goel VESIT
Principles of Agile:
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. Agile processes
harness change for the customer's competitive advantage.
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. 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. The sponsors, developers,
and users should be able to maintain a constant pace indefinitely.
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.
S K Goel VESIT
Various Agile Methods in Market:
• Scrum – Widely used
• Kanban – JIT – Reduce
Waste
• Extreme Programming (XP)
• Pair Programming
• Feature Driven Development
• Crystal
• Dynamic Systems
Development Method
• Agile Unified Process
S K Goel VESIT
Human Factors in Agile Development
 Competence-Sw related skills, Knowledge of process
 Common Focus-deliver a working sw Increment to customer within time
promised
 Collaboration-Among team members and other stakeholders
 Decision making ability-Team is given Autonomy
 Fuzzy Problem Solving ability-Today problem may not be tomorrow (but
Lesson learn may be benefit to the team later)
 Mutual Trust And Respect
 Self Organization-a. for the work itself b. process with best fit in the
environment c. work schedule
S K Goel VESIT
Agile Process models
13
14
Extreme Programming
(XP)
▪ XP uses an object oriented approach.
▪ XP has 4 framework activities:- Planning,
Design, Coding and testing.
➢ XP Planning
 Begins with the creation of user stories
 Agile team assesses each story and assigns a
cost
 Stories are grouped to for a deliverable increment
 A commitment is made on delivery date
 After the first increment project velocity is used to
help define subsequent delivery dates for other
increments
15
16
➢ XP Design
 Follows the KIS principle
 Encourage the use of CRC cards
 For difficult design problems, suggests the creation of spike
solutions — a design prototype
 Encourages refactoring — an iterative refinement of the internal
program design
➢ XP Coding
 Recommends the construction of a unit test for a store before
coding commences
 Encourages pair programming
➢ XP Testing
 All unit tests are executed daily
 Acceptance tests are defined by the customer and executed to
assess customer visible functionality
17
Extreme Programming (XP)
IXP-Industrial XP
IXP differs most from the original XP in its greater inclusion of management, its expanded role for
customers, and its upgraded technical practices.” IXP incorporates six new practices that are
designed to help ensure that an XP project works successfully for significant projects within a large
organization.
A)Readiness assessment. Prior to the initiation of an IXP project, the organization should conduct a
readiness assessment. The assessment ascertains whether
(1) an appropriate development environment exists to support IXP.
(2) the team will be populated by the proper set of stakeholders.
(3) the organization has a distinct quality program and supports continuous improvement
(4) the organizational culture will support the new values of an agile team
(5) the broader project community will be populated appropriately.
B) Project community. Classic XP suggests that the right people be used to populate the agile team to
ensure success. In IXP, the community members and their roles should be explicitly defined and
mechanisms for communication and coordination between community members should be established.
C) Project chartering. The IXP team assesses the project itself to determine whether an appropriate
business justification for the project exists and whether the project will further the overall goals and
objectives of the organization. Chartering also examines how it complements, extends, or replaces
existing systems or processes.
D) Test-driven management. An IXP project requires measurable criteria for assessing the state of the
project and the progress that has been made to date. Test-driven management establishes a series of
measurable “destinations” [Ker05] and then defines mechanisms for determining whether or not these
destinations have been reached.
E) Retrospectives. An IXP team conducts a specialized technical review after a software increment is
delivered,Called a retrospective, the review examines “issues, events, and lessons-learned” across a software
increment and/or the entire software release. The intent is to improve the IXP process.
F) Continuous learning. Because learning is a vital part of continuous process improvement, members of
the XP team are encouraged (and possi- bly, incented) to learn new methods and techniques that can lead to
a higher- quality product.
In addition to the six new practices discussed, IXP modifies a number of existing XP practices.
➢ Story-driven development (SDD) insists that stories for acceptance tests be written before a single line of
code is generated.
➢ Domain-driven design DDD suggests the evolutionary creation of a domain model that “accurately
represents how domain experts think about their subject
➢ Pairing extends the XP pair- programming concept to include managers and other stakeholders. The
intent is to improve knowledge sharing among XP team members who may not be directly in- volved in
technical development.
➢ Iterative usability discourages front-loaded inter- face design in favor of usability design that evolves as
software increments are delivered and users’ interaction with the software is studied.
➢ IXP makes smaller modifications to other XP practices and redefines certain roles and responsibilities to
make them more amenable to significant projects for large organizations.
S K Goel VESIT
Example:
Develop a Product – Generic
Steps Involved.
1. Identify What do you need in a product.
2. How to build the product
3. Gather a team and required resources
4. Team Works on Building a prototype
5. Test the product that is developed
6. Build the complete Product
S K Goel VESIT
Video: Scrum
https://www.youtube.com/watch?v=2Vt7Ik8Ublw
https://www.youtube.com/watch?v=iJ_sl6J8PRg
S K Goel VESIT
Scrum:
• Scrum: Iterative and incremental Agile software development
framework for managing software projects and product or application
development.
• Sprint: Time-boxed iteration during which a potentially releasable
product Increment is created.
• Design, Build and Test activities are performed within the Sprint.
• Sprint Duration:
Can be between 2-4 weeks; typically it is 4 weeks.
• Optimal SCRUM team size is 7-10 empowered and self-organizing
members.
S K Goel VESIT
Scrum Rules:
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
Scrum Roles:
Scrum Master:
• Facilitating (not participating in) the daily stand-up
• Setting up retrospectives, sprint reviews or sprint planning sessions
• Removing obstacles that affect the team
• Walking the product owner through more technical user stories
• Encouraging collaboration between the Scrum team and product owner
Product Owner
• Contributes to Product vision and managing Product backlog.
• Define the features of the product.
• Decide on release date and content.
• Be responsible for the profitability of the product.
• Prioritize features according to market value .
Team – Co-located, Size should be 7 to 9 members
• Cross-functional:
• Programmers, testers, user experience designers, Leads etc.
• Teams are self-organizing
S K Goel VESIT
Scrum Ceremonies:
Sprint Planning:
A Sprint begins with a Sprint planning meeting and ends with a Sprint
Review and Retrospective meetings.
Daily Stand Up: A Huddle. A short organizational meeting that is held each
day. Limited to 15 minutes long, and is referred to as a stand-up, or a daily
scrum. Each team member has to answer the following three questions:
1) What did you do yesterday?
2) What will you do today?
3) Are there any impediments in your way? ( Impediment Log)
• Not for Problem Solving
Sprint Review: A meeting with project Stakeholders to demonstrate the
completed solution capabilities from that Sprint
Sprint Retrospective: A meeting with the Project Team to reflect on the
experiences of the Sprint
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
Scrum Lifecycle:
S K Goel VESIT
S K Goel VESIT
S K Goel VESIT
Terms used in Agile:
Product Backlog: List of user stories(features) that product should have. It includes Epic, Stories,
Bug and Non Functional Requirements along with the priority. It has requirements of what that is
going be build , sorted by importance.
Sprit Backlog – Is a Subset of Product backlog and has stories prioritised for the sprint.
Epic : Features at a high level
User Story: A granular requirement of a feature.
e.g. As an internet banking customer I want to see a rolling balance for my everyday accounts so
that I know the balance of my account after each transaction is applied
Rule - INVEST - Independent ,Negotiable, Valuable, Estimable, Small, Testable.
Priority - MoSCoW (Must Have, Should Have, Could Have, Won’t have)
Acceptance criteria: Are a set of statements, each with a clear pass/fail result, that specify both
functional and non-functional requirements, and are applicable at the Epic, and Story Level
•The rolling balance is calculated for each transaction
Definition of Done
In order to be able to decide when an activity from the Sprint Backlog is completed, the
Definition of Done (DoD) is used. It is a comprehensive checklist of necessary activities that ensure
that only truly done features are delivered, not only in terms of functionality but in terms of quality
as well.
S K Goel VESIT
Estimations in Scrum.
Story Point:
Story points are used to express the size of user story. = Effort X Complexity X Uncertainty
Numbers from Fibonacci sequence is used to represent story points
•It’s a relative estimation based on individual's gut feel
•Story Points does not have any ‘unit’
•Planning poker is a popular method used for estimating
A. Each team member
•Reads the user story
•Privately picks up a poker card
•All members display card at once
B. There will be variation in estimates !
C. If the estimations are close; team quickly discuss and agree upon a value
D. If the variation is too wide then rationale for lowest and highest estimate are discussed
E. Team repeats step A
S K Goel VESIT
Scrum Metrices:
Team Velocity:
Amount of work completed by team in last completed sprint. I.e. Sum of
story points delivered in the recent sprint.
Burn down chart is a graphical representation of work left to do versus time.
The outstanding work (or backlog) is often on the vertical axis, with time
along the horizontal. That is, it is a run chart of outstanding work. It is useful
for predicting when all of the work will be completed.
Burn up chart:
This is used to track progress of the release, Amount of work completed so
far in the release.
S K Goel VESIT
Tools Used widely in industry for Agile Projects
Jira by Atlassian – Can create sprint boards, Manage Product backlog etc.
Trello by Atlassian – Used primarily for Kanban boards
Asana – Agile Project Management tool
Version One – By Agile Enterprises
Mingle – ThoughtWorks Inc
S K Goel VESIT
Review :
Video: Scrum
https://www.youtube.com/watch?v=2Vt7Ik8Ublw
https://www.youtube.com/watch?v=iJ_sl6J8PRg
S K Goel VESIT
THE END
S K Goel VESIT

More Related Content

PPT
3. Agility and extreme programming OF UNIT-1 PPT
sharmila27432
 
PPTX
Chapter 5
TehreemSaleem5
 
PPTX
Software engineering MODULE3__Agile.pptx
ssuser2801af1
 
PPT
SE Lecture 3.ppt
ssusere16bd9
 
PPTX
agile modeling in project management.pptx
RahatUllah55
 
PPT
SE chapter 4
Hardik Patel
 
PPTX
Agile development
JoshuaU1
 
PPTX
Agile Software Development
مصعب محمد زكريا
 
3. Agility and extreme programming OF UNIT-1 PPT
sharmila27432
 
Chapter 5
TehreemSaleem5
 
Software engineering MODULE3__Agile.pptx
ssuser2801af1
 
SE Lecture 3.ppt
ssusere16bd9
 
agile modeling in project management.pptx
RahatUllah55
 
SE chapter 4
Hardik Patel
 
Agile development
JoshuaU1
 
Agile Software Development
مصعب محمد زكريا
 

Similar to Role of Agile model in software development (20)

PPT
Software Engineering (An Agile View of Process)
ShudipPal
 
PPTX
Fundamentals of Software Engineering
Madhar Khan Pathan
 
PPT
Week_03-Agile Developmnet.ppt
RedHeart11
 
PDF
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
Agile ME
 
PPTX
software engineering and project management 3rd module ppt presenetation
suma919559
 
DOCX
Unit2
MercyPrince1
 
PDF
4. ch 3-agile process
Delowar hossain
 
PDF
Agile Methodologies & Key Principles
Orchestrate Mortgage and Title Solutions, LLC
 
PDF
Introduction To Agile Refresh Savannah July20 2010 V1 4
Marvin Heery
 
PPT
Agile Project Management for IT Projects
rachna_nainani
 
PDF
DevOps, SAFe and critical information bearers: A practical approach for plann...
Bosnia Agile
 
PPTX
Agile Process models
Student
 
PDF
Lect7
Sulman Ahmed
 
PDF
Lect7
Sulman Ahmed
 
PPT
Agile project management PMI-ACP
EVOLVE for Instructors Materials
 
PPT
what is agile and its usage and properties
NMahendiran
 
PPTX
Introduction to Agile Software Development
aboulkheir
 
PPTX
Cognizant Presentation for Task 1.pptx
MannuMatamAkash
 
PPTX
Cognizant Presentation for Task 1.pptx
qqsw1
 
PPTX
Fundamentals of Agile
Zülfikar Karakaya
 
Software Engineering (An Agile View of Process)
ShudipPal
 
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Week_03-Agile Developmnet.ppt
RedHeart11
 
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
Agile ME
 
software engineering and project management 3rd module ppt presenetation
suma919559
 
4. ch 3-agile process
Delowar hossain
 
Agile Methodologies & Key Principles
Orchestrate Mortgage and Title Solutions, LLC
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Marvin Heery
 
Agile Project Management for IT Projects
rachna_nainani
 
DevOps, SAFe and critical information bearers: A practical approach for plann...
Bosnia Agile
 
Agile Process models
Student
 
Agile project management PMI-ACP
EVOLVE for Instructors Materials
 
what is agile and its usage and properties
NMahendiran
 
Introduction to Agile Software Development
aboulkheir
 
Cognizant Presentation for Task 1.pptx
MannuMatamAkash
 
Cognizant Presentation for Task 1.pptx
qqsw1
 
Fundamentals of Agile
Zülfikar Karakaya
 
Ad

Recently uploaded (20)

PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Software Development Methodologies in 2025
KodekX
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Ad

Role of Agile model in software development

  • 2. Software Development Methodologies: Waterfall Model The waterfall model is a relatively linear sequential design approach for certain areas of engineering design. In software development, it tends to be among the less iterative and flexible approaches, as progress flows in largely one direction ("downwards" like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, deployment and maintenance. This is a traditional way of software development. S K Goel VESIT
  • 3. Problems with Waterfall Model: S K Goel VESIT
  • 4. Software Development Methodologies: What is Agile? Agile is an iterative approach to software development under which requirements and solutions evolve through the collaborative effort of self- organizing cross-functional teams and their customer(s). It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change.” S K Goel VESIT
  • 5. Why Agile: • Faster Time to Market • Early Delivery of Customer Value • Early and Frequent Testing • Transparency and Visibility • Early Risk Identification and Mitigation • Improves Return on Investment • Accommodates change easily • Early and Regular Process Improvement • Breaks complex projects into smaller logical chunks S K Goel VESIT
  • 6. History of Agile: In 2001, seventeen software developers met at a resort in Snowbird, Utah to discuss these lightweight development methods, including among others. Together they published the Agile manifesto (http://agilemanifesto.org). Agile Manifesto: We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. S K Goel VESIT
  • 8. Agility and cost of change S K Goel VESIT
  • 9. What is an Agile Process An agile SW process is characterized in a manner that addresses a number of key assumptions 1. It is difficult to predict the priorities of a customer and also which sw requirement persist and which will change. 2. 2.For many types of sw , design and construction are interleaved 3. Analysis, design , construction and testing are not as predictable How do we create a process that can manage unpredictability? Ans: Process of Adaptability…… But Continuous Adaption without forward progress accomplishes a little….Hence Agile Process model must adapt Incrementally, to accomplish incremental adoption continuous feedback of customer is required , for this operational prototype is required , S K Goel VESIT
  • 10. Principles of Agile: 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. Agile processes harness change for the customer's competitive advantage. 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. 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. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 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. S K Goel VESIT
  • 11. Various Agile Methods in Market: • Scrum – Widely used • Kanban – JIT – Reduce Waste • Extreme Programming (XP) • Pair Programming • Feature Driven Development • Crystal • Dynamic Systems Development Method • Agile Unified Process S K Goel VESIT
  • 12. Human Factors in Agile Development  Competence-Sw related skills, Knowledge of process  Common Focus-deliver a working sw Increment to customer within time promised  Collaboration-Among team members and other stakeholders  Decision making ability-Team is given Autonomy  Fuzzy Problem Solving ability-Today problem may not be tomorrow (but Lesson learn may be benefit to the team later)  Mutual Trust And Respect  Self Organization-a. for the work itself b. process with best fit in the environment c. work schedule S K Goel VESIT
  • 14. 14 Extreme Programming (XP) ▪ XP uses an object oriented approach. ▪ XP has 4 framework activities:- Planning, Design, Coding and testing.
  • 15. ➢ XP Planning  Begins with the creation of user stories  Agile team assesses each story and assigns a cost  Stories are grouped to for a deliverable increment  A commitment is made on delivery date  After the first increment project velocity is used to help define subsequent delivery dates for other increments 15
  • 16. 16 ➢ XP Design  Follows the KIS principle  Encourage the use of CRC cards  For difficult design problems, suggests the creation of spike solutions — a design prototype  Encourages refactoring — an iterative refinement of the internal program design ➢ XP Coding  Recommends the construction of a unit test for a store before coding commences  Encourages pair programming ➢ XP Testing  All unit tests are executed daily  Acceptance tests are defined by the customer and executed to assess customer visible functionality
  • 18. IXP-Industrial XP IXP differs most from the original XP in its greater inclusion of management, its expanded role for customers, and its upgraded technical practices.” IXP incorporates six new practices that are designed to help ensure that an XP project works successfully for significant projects within a large organization. A)Readiness assessment. Prior to the initiation of an IXP project, the organization should conduct a readiness assessment. The assessment ascertains whether (1) an appropriate development environment exists to support IXP. (2) the team will be populated by the proper set of stakeholders. (3) the organization has a distinct quality program and supports continuous improvement (4) the organizational culture will support the new values of an agile team (5) the broader project community will be populated appropriately.
  • 19. B) Project community. Classic XP suggests that the right people be used to populate the agile team to ensure success. In IXP, the community members and their roles should be explicitly defined and mechanisms for communication and coordination between community members should be established. C) Project chartering. The IXP team assesses the project itself to determine whether an appropriate business justification for the project exists and whether the project will further the overall goals and objectives of the organization. Chartering also examines how it complements, extends, or replaces existing systems or processes. D) Test-driven management. An IXP project requires measurable criteria for assessing the state of the project and the progress that has been made to date. Test-driven management establishes a series of measurable “destinations” [Ker05] and then defines mechanisms for determining whether or not these destinations have been reached.
  • 20. E) Retrospectives. An IXP team conducts a specialized technical review after a software increment is delivered,Called a retrospective, the review examines “issues, events, and lessons-learned” across a software increment and/or the entire software release. The intent is to improve the IXP process. F) Continuous learning. Because learning is a vital part of continuous process improvement, members of the XP team are encouraged (and possi- bly, incented) to learn new methods and techniques that can lead to a higher- quality product. In addition to the six new practices discussed, IXP modifies a number of existing XP practices. ➢ Story-driven development (SDD) insists that stories for acceptance tests be written before a single line of code is generated. ➢ Domain-driven design DDD suggests the evolutionary creation of a domain model that “accurately represents how domain experts think about their subject ➢ Pairing extends the XP pair- programming concept to include managers and other stakeholders. The intent is to improve knowledge sharing among XP team members who may not be directly in- volved in technical development. ➢ Iterative usability discourages front-loaded inter- face design in favor of usability design that evolves as software increments are delivered and users’ interaction with the software is studied. ➢ IXP makes smaller modifications to other XP practices and redefines certain roles and responsibilities to make them more amenable to significant projects for large organizations.
  • 21. S K Goel VESIT
  • 22. Example: Develop a Product – Generic Steps Involved. 1. Identify What do you need in a product. 2. How to build the product 3. Gather a team and required resources 4. Team Works on Building a prototype 5. Test the product that is developed 6. Build the complete Product S K Goel VESIT
  • 24. Scrum: • Scrum: Iterative and incremental Agile software development framework for managing software projects and product or application development. • Sprint: Time-boxed iteration during which a potentially releasable product Increment is created. • Design, Build and Test activities are performed within the Sprint. • Sprint Duration: Can be between 2-4 weeks; typically it is 4 weeks. • Optimal SCRUM team size is 7-10 empowered and self-organizing members. S K Goel VESIT
  • 25. Scrum Rules: S K Goel VESIT
  • 26. S K Goel VESIT
  • 27. S K Goel VESIT
  • 28. S K Goel VESIT
  • 29. Scrum Roles: Scrum Master: • Facilitating (not participating in) the daily stand-up • Setting up retrospectives, sprint reviews or sprint planning sessions • Removing obstacles that affect the team • Walking the product owner through more technical user stories • Encouraging collaboration between the Scrum team and product owner Product Owner • Contributes to Product vision and managing Product backlog. • Define the features of the product. • Decide on release date and content. • Be responsible for the profitability of the product. • Prioritize features according to market value . Team – Co-located, Size should be 7 to 9 members • Cross-functional: • Programmers, testers, user experience designers, Leads etc. • Teams are self-organizing S K Goel VESIT
  • 30. Scrum Ceremonies: Sprint Planning: A Sprint begins with a Sprint planning meeting and ends with a Sprint Review and Retrospective meetings. Daily Stand Up: A Huddle. A short organizational meeting that is held each day. Limited to 15 minutes long, and is referred to as a stand-up, or a daily scrum. Each team member has to answer the following three questions: 1) What did you do yesterday? 2) What will you do today? 3) Are there any impediments in your way? ( Impediment Log) • Not for Problem Solving Sprint Review: A meeting with project Stakeholders to demonstrate the completed solution capabilities from that Sprint Sprint Retrospective: A meeting with the Project Team to reflect on the experiences of the Sprint S K Goel VESIT
  • 31. S K Goel VESIT
  • 32. S K Goel VESIT
  • 33. S K Goel VESIT
  • 34. S K Goel VESIT
  • 35. S K Goel VESIT
  • 36. S K Goel VESIT
  • 37. S K Goel VESIT
  • 38. S K Goel VESIT
  • 39. S K Goel VESIT
  • 40. S K Goel VESIT
  • 41. S K Goel VESIT
  • 42. S K Goel VESIT
  • 43. S K Goel VESIT
  • 44. Scrum Lifecycle: S K Goel VESIT
  • 45. S K Goel VESIT
  • 46. S K Goel VESIT
  • 47. Terms used in Agile: Product Backlog: List of user stories(features) that product should have. It includes Epic, Stories, Bug and Non Functional Requirements along with the priority. It has requirements of what that is going be build , sorted by importance. Sprit Backlog – Is a Subset of Product backlog and has stories prioritised for the sprint. Epic : Features at a high level User Story: A granular requirement of a feature. e.g. As an internet banking customer I want to see a rolling balance for my everyday accounts so that I know the balance of my account after each transaction is applied Rule - INVEST - Independent ,Negotiable, Valuable, Estimable, Small, Testable. Priority - MoSCoW (Must Have, Should Have, Could Have, Won’t have) Acceptance criteria: Are a set of statements, each with a clear pass/fail result, that specify both functional and non-functional requirements, and are applicable at the Epic, and Story Level •The rolling balance is calculated for each transaction Definition of Done In order to be able to decide when an activity from the Sprint Backlog is completed, the Definition of Done (DoD) is used. It is a comprehensive checklist of necessary activities that ensure that only truly done features are delivered, not only in terms of functionality but in terms of quality as well. S K Goel VESIT
  • 48. Estimations in Scrum. Story Point: Story points are used to express the size of user story. = Effort X Complexity X Uncertainty Numbers from Fibonacci sequence is used to represent story points •It’s a relative estimation based on individual's gut feel •Story Points does not have any ‘unit’ •Planning poker is a popular method used for estimating A. Each team member •Reads the user story •Privately picks up a poker card •All members display card at once B. There will be variation in estimates ! C. If the estimations are close; team quickly discuss and agree upon a value D. If the variation is too wide then rationale for lowest and highest estimate are discussed E. Team repeats step A S K Goel VESIT
  • 49. Scrum Metrices: Team Velocity: Amount of work completed by team in last completed sprint. I.e. Sum of story points delivered in the recent sprint. Burn down chart is a graphical representation of work left to do versus time. The outstanding work (or backlog) is often on the vertical axis, with time along the horizontal. That is, it is a run chart of outstanding work. It is useful for predicting when all of the work will be completed. Burn up chart: This is used to track progress of the release, Amount of work completed so far in the release. S K Goel VESIT
  • 50. Tools Used widely in industry for Agile Projects Jira by Atlassian – Can create sprint boards, Manage Product backlog etc. Trello by Atlassian – Used primarily for Kanban boards Asana – Agile Project Management tool Version One – By Agile Enterprises Mingle – ThoughtWorks Inc S K Goel VESIT
  • 52. THE END S K Goel VESIT