SlideShare a Scribd company logo
1 of 31
UNIT :1
Agile Software Development
Dr. N. N. Maltare
Government Engineering College, Modasa
Unit 1: Agile software development 1
COURSE OUTCOMES
Understand the practices and philosophies of
agile methods.
Examine the User experiences and User
designs with empirical and analytic evaluations.
Demonstrate the connection between UX design
with Agile software Development.
Use an agile UX design and Agile software
development method as per the need of the
project.
2
WATERFALL MODEL
Chapter 3 Agile software development 3
PROBLEMS OF WATERFALL MODEL
4
PROBLEMS OF WATERFALL MODEL
5
AGILE METHODOLOGY
• AGILE methodology is a practice that
promotes continuous iteration of
development and testing throughout the
software development lifecycle of the project.
• In the Agile model, both development and
testing activities are concurrent, unlike the
Waterfall model.
6
AGILE METHODOLOGY
The Agile software development methodology is
one of the simplest and effective processes to turn a
vision for a business need into software solutions.
Agile is a term used to describe software
development approaches that employ continual
planning, learning, improvement, team
collaboration, evolutionary development, and early
delivery.
It encourages flexible responses to change.
7
FOUR CORE VALUES OF AGILE
8
Agile manifesto
Our values:
 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.
Chapter 3 Agile software development 9
Plan-driven and agile specification
Chapter 3 Agile software development 10
separate
development
stages with
the outputs to
be produced
at each of
these stages
planned in
advance.
Not
necessarily
waterfall
model – plan-
driven,
incremental
development
is possible
Iteration within stage
Iteration of stage
User's full
agreement at
end, not before
code
Copyright © 2010 AgileInnovation
Problems with agile methods
 It can be difficult to keep the interest of customers / users who are involved
in the process.
 Team members may be unsuited to the intense involvement that
characterizes agile methods.
 Prioritizing changes can be difficult where there are multiple stakeholders.
 Maintaining simplicity requires extra work.
 Contracts may be a problem as with other approaches to iterative
development.
 Because of their focus on small, tightly-integrated teams, there are
problems in scaling agile methods to large systems.
 Less emphasis on documentation - harder to maintain when you get a new
team for maintenance
Chapter 3 Agile software development 12
Balance plan driven and agile
• Not great for Agile:
– What type of system is being developed?
• Plan-driven approaches may be required for systems that require a lot of analysis before implementation (e.g. real-time
system with complex timing requirements).
– What is the expected system lifetime?
• Long-lifetime systems may require more design documentation to communicate the original intentions of the system
developers to the support team.
– What technologies are available to support system development?
• Agile methods rely on good tools to keep track of an evolving design
– How is the development team organized?
• Many teams; Outsourcing ---> need design documents to control borders
 Culture or contract needs detailed specification
 Is rapid feedback from users realistic?
 Large scale, not co-located may require more formal communication methods
 Need high level programming skills - refactoring, work with little spec
 Outside regulation documentation requirements
Chapter 3 Agile software development 13
Extreme programming
 A popular form of Agile
 Extreme Programming (XP) takes an ‘extreme’ approach to iterative
development.
 New versions may be built several times per day;
 Increments are delivered to customers every 2 weeks;
 All tests must be run for every build and the build is only accepted if tests run
successfully.
 Customer involvement means full-time customer engagement with the
team. - Specifications through user stories broken into tasks
 People not process : pair programming, collective ownership and a process
that avoids long working hours.
 Regular system releases. - release set of user stories
 Maintaining simplicity through constant refactoring of code.
Chapter 3 Agile software development 14
The extreme programming release
cycle
Chapter 3 Agile software development 15
The Parts and the Whole
Controller
Inspect
Set Target Adapt
• Clean Design & Code & Refactor
• User Stories - Late Elaboration
• Shared Code Ownership
• Test Driven Development…..
• Iteration Plan
• Daily Stand-Up
• Pair Programming
• Customer Reviews &
Feedback
• Retrospectives
• AutoTest…..
Sustainable pace
Collective Ownership with users
Minimal documentation for sprint
The Life of an Iteration
Copyright © 2010 AgileInnovation
“Tell me how you will measure
me and I’ll tell you how I’ll
behave”
Transparency
Copyright © 2010 AgileInnovation
A ‘prescribing medication’ story
Chapter 3 Agile software development 19
Examples of task cards for
prescribing medication
Chapter 3 Agile software development 20
Refactoring
 Programming team look for possible software improvements and
make these improvements even where there is no immediate need
for them.
 This improves the understandability of the software and so reduces
the need for documentation.
 Changes are easier to make because the code is well-structured
and clear.
 However, some changes requires architecture refactoring and this is
much more expensive.
RISK:
Changes the user does not test
Changes to working software break it
Chapter 3 Agile software development 22
Examples of refactoring
Re-organization of a class hierarchy to
remove duplicate code.
Tidying up and renaming attributes and
methods to make them easier to
understand.
The replacement of inline code with calls
to methods that have been included in a
program library.
Chapter 3 Agile software development 23
Test case description for dose
checking
Chapter 3 Agile software development 24
Test automation
Automate tests (junit)
Run upon checkin
Difficulties:
Time constraints
Programmer preferences to not test
Test coverage
Chapter 3 Agile software development 25
Pair programming
In XP, programmers work in pairs, sitting
together to develop code.
Common ownership
Knowledge spread
Informal review
Refactoring
Similar output to two people coding
Chapter 3 Agile software development 26
Scrum
Project Manager's job: - Deliver needed
system on time within budget
The Scrum approach - manage the
iterations
There are three phases in Scrum.
 outline planning phase - general picture and
architecture
 Sprint cycles releasing increments of the
system.
 The project closure phase - final delivery,
Chapter 3 Agile software development 27
The Scrum process
Chapter 3 Agile software development 28
The Sprint cycle
Every 2–4 weeks (a fixed length).
1) Project team with customer: Look at
product backlog - select stories to
implement
2) implement with all customer
communication through scrum master
(protecting pgmr at this point)
Scrum master has project manager role
during sprint
Daily 15 min meetings
Chapter 3 Agile software development 29
Scrum benefits
The product is broken down into a set of
manageable and understandable chunks.
Unstable requirements do not hold up
progress.
The whole team have visibility of
everything and consequently team
communication is improved.
Customers see on-time delivery of
increments and gain feedback on how the
product works.
Chapter 3 Agile software development 30
Summary
Plan Driven (Ex: Waterfall) vs Incremental
(Ex: Agile )
Structure and benefits and downfalls
XP - an implementation of Agile - Power to the
Programmer
User story requirements
Test driven design with continual retest and
integration
Pair Programming
Refactoring encouraged
Chapter 3 Agile software development 31

More Related Content

Similar to Unit -1.ppt

03 - Agile Software Development.pptx
03 - Agile Software Development.pptx03 - Agile Software Development.pptx
03 - Agile Software Development.pptxALI2H
 
Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Ahmed Alageed
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentDanWooster1
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9Ian Sommerville
 
Chapter 3 software engineering.pptx
Chapter 3 software engineering.pptxChapter 3 software engineering.pptx
Chapter 3 software engineering.pptx02LabiqaIslam
 
Agile - Software - Development Powerpoint
Agile - Software - Development PowerpointAgile - Software - Development Powerpoint
Agile - Software - Development Powerpointjohncalebtan
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfyedej15330
 
Lecture - 16-19.pptx
Lecture - 16-19.pptxLecture - 16-19.pptx
Lecture - 16-19.pptxFarHana74914
 
Lean as Agile methodology – A Study
Lean as Agile methodology – A StudyLean as Agile methodology – A Study
Lean as Agile methodology – A StudyEswar Publications
 
Lecture - 20-23.pptx
Lecture - 20-23.pptxLecture - 20-23.pptx
Lecture - 20-23.pptxFarHana74914
 
ch3-150102101842-conversion-gate02.pdf
ch3-150102101842-conversion-gate02.pdfch3-150102101842-conversion-gate02.pdf
ch3-150102101842-conversion-gate02.pdfabdallhelkahlout1
 
LU 3 Agile SW Dev.pptx
LU 3 Agile SW Dev.pptxLU 3 Agile SW Dev.pptx
LU 3 Agile SW Dev.pptxTAISEEREISA
 

Similar to Unit -1.ppt (20)

03 - Agile Software Development.pptx
03 - Agile Software Development.pptx03 - Agile Software Development.pptx
03 - Agile Software Development.pptx
 
Lecture 3 se
Lecture 3 seLecture 3 se
Lecture 3 se
 
Ch3
Ch3Ch3
Ch3
 
Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile Development
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
 
Agile software process
Agile software processAgile software process
Agile software process
 
Chapter 3 software engineering.pptx
Chapter 3 software engineering.pptxChapter 3 software engineering.pptx
Chapter 3 software engineering.pptx
 
Agile - Software - Development Powerpoint
Agile - Software - Development PowerpointAgile - Software - Development Powerpoint
Agile - Software - Development Powerpoint
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdf
 
Lecture - 16-19.pptx
Lecture - 16-19.pptxLecture - 16-19.pptx
Lecture - 16-19.pptx
 
Lean as Agile methodology – A Study
Lean as Agile methodology – A StudyLean as Agile methodology – A Study
Lean as Agile methodology – A Study
 
Lecture - 20-23.pptx
Lecture - 20-23.pptxLecture - 20-23.pptx
Lecture - 20-23.pptx
 
03. Agile Development
03. Agile Development03. Agile Development
03. Agile Development
 
ch3-150102101842-conversion-gate02.pdf
ch3-150102101842-conversion-gate02.pdfch3-150102101842-conversion-gate02.pdf
ch3-150102101842-conversion-gate02.pdf
 
LU 3 Agile SW Dev.pptx
LU 3 Agile SW Dev.pptxLU 3 Agile SW Dev.pptx
LU 3 Agile SW Dev.pptx
 
Ch3 - Agile SW Dev
Ch3 - Agile SW DevCh3 - Agile SW Dev
Ch3 - Agile SW Dev
 
Agile process
Agile processAgile process
Agile process
 
Agile process
Agile processAgile process
Agile process
 

Recently uploaded

Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfakmcokerachita
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 

Recently uploaded (20)

TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdf
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 

Unit -1.ppt

  • 1. UNIT :1 Agile Software Development Dr. N. N. Maltare Government Engineering College, Modasa Unit 1: Agile software development 1
  • 2. COURSE OUTCOMES Understand the practices and philosophies of agile methods. Examine the User experiences and User designs with empirical and analytic evaluations. Demonstrate the connection between UX design with Agile software Development. Use an agile UX design and Agile software development method as per the need of the project. 2
  • 3. WATERFALL MODEL Chapter 3 Agile software development 3
  • 6. AGILE METHODOLOGY • AGILE methodology is a practice that promotes continuous iteration of development and testing throughout the software development lifecycle of the project. • In the Agile model, both development and testing activities are concurrent, unlike the Waterfall model. 6
  • 7. AGILE METHODOLOGY The Agile software development methodology is one of the simplest and effective processes to turn a vision for a business need into software solutions. Agile is a term used to describe software development approaches that employ continual planning, learning, improvement, team collaboration, evolutionary development, and early delivery. It encourages flexible responses to change. 7
  • 8. FOUR CORE VALUES OF AGILE 8
  • 9. Agile manifesto Our values:  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. Chapter 3 Agile software development 9
  • 10. Plan-driven and agile specification Chapter 3 Agile software development 10 separate development stages with the outputs to be produced at each of these stages planned in advance. Not necessarily waterfall model – plan- driven, incremental development is possible Iteration within stage Iteration of stage User's full agreement at end, not before code
  • 11. Copyright © 2010 AgileInnovation
  • 12. Problems with agile methods  It can be difficult to keep the interest of customers / users who are involved in the process.  Team members may be unsuited to the intense involvement that characterizes agile methods.  Prioritizing changes can be difficult where there are multiple stakeholders.  Maintaining simplicity requires extra work.  Contracts may be a problem as with other approaches to iterative development.  Because of their focus on small, tightly-integrated teams, there are problems in scaling agile methods to large systems.  Less emphasis on documentation - harder to maintain when you get a new team for maintenance Chapter 3 Agile software development 12
  • 13. Balance plan driven and agile • Not great for Agile: – What type of system is being developed? • Plan-driven approaches may be required for systems that require a lot of analysis before implementation (e.g. real-time system with complex timing requirements). – What is the expected system lifetime? • Long-lifetime systems may require more design documentation to communicate the original intentions of the system developers to the support team. – What technologies are available to support system development? • Agile methods rely on good tools to keep track of an evolving design – How is the development team organized? • Many teams; Outsourcing ---> need design documents to control borders  Culture or contract needs detailed specification  Is rapid feedback from users realistic?  Large scale, not co-located may require more formal communication methods  Need high level programming skills - refactoring, work with little spec  Outside regulation documentation requirements Chapter 3 Agile software development 13
  • 14. Extreme programming  A popular form of Agile  Extreme Programming (XP) takes an ‘extreme’ approach to iterative development.  New versions may be built several times per day;  Increments are delivered to customers every 2 weeks;  All tests must be run for every build and the build is only accepted if tests run successfully.  Customer involvement means full-time customer engagement with the team. - Specifications through user stories broken into tasks  People not process : pair programming, collective ownership and a process that avoids long working hours.  Regular system releases. - release set of user stories  Maintaining simplicity through constant refactoring of code. Chapter 3 Agile software development 14
  • 15. The extreme programming release cycle Chapter 3 Agile software development 15
  • 16. The Parts and the Whole Controller Inspect Set Target Adapt • Clean Design & Code & Refactor • User Stories - Late Elaboration • Shared Code Ownership • Test Driven Development….. • Iteration Plan • Daily Stand-Up • Pair Programming • Customer Reviews & Feedback • Retrospectives • AutoTest….. Sustainable pace Collective Ownership with users Minimal documentation for sprint
  • 17. The Life of an Iteration Copyright © 2010 AgileInnovation
  • 18. “Tell me how you will measure me and I’ll tell you how I’ll behave” Transparency Copyright © 2010 AgileInnovation
  • 19. A ‘prescribing medication’ story Chapter 3 Agile software development 19
  • 20. Examples of task cards for prescribing medication Chapter 3 Agile software development 20
  • 21.
  • 22. Refactoring  Programming team look for possible software improvements and make these improvements even where there is no immediate need for them.  This improves the understandability of the software and so reduces the need for documentation.  Changes are easier to make because the code is well-structured and clear.  However, some changes requires architecture refactoring and this is much more expensive. RISK: Changes the user does not test Changes to working software break it Chapter 3 Agile software development 22
  • 23. Examples of refactoring Re-organization of a class hierarchy to remove duplicate code. Tidying up and renaming attributes and methods to make them easier to understand. The replacement of inline code with calls to methods that have been included in a program library. Chapter 3 Agile software development 23
  • 24. Test case description for dose checking Chapter 3 Agile software development 24
  • 25. Test automation Automate tests (junit) Run upon checkin Difficulties: Time constraints Programmer preferences to not test Test coverage Chapter 3 Agile software development 25
  • 26. Pair programming In XP, programmers work in pairs, sitting together to develop code. Common ownership Knowledge spread Informal review Refactoring Similar output to two people coding Chapter 3 Agile software development 26
  • 27. Scrum Project Manager's job: - Deliver needed system on time within budget The Scrum approach - manage the iterations There are three phases in Scrum.  outline planning phase - general picture and architecture  Sprint cycles releasing increments of the system.  The project closure phase - final delivery, Chapter 3 Agile software development 27
  • 28. The Scrum process Chapter 3 Agile software development 28
  • 29. The Sprint cycle Every 2–4 weeks (a fixed length). 1) Project team with customer: Look at product backlog - select stories to implement 2) implement with all customer communication through scrum master (protecting pgmr at this point) Scrum master has project manager role during sprint Daily 15 min meetings Chapter 3 Agile software development 29
  • 30. Scrum benefits The product is broken down into a set of manageable and understandable chunks. Unstable requirements do not hold up progress. The whole team have visibility of everything and consequently team communication is improved. Customers see on-time delivery of increments and gain feedback on how the product works. Chapter 3 Agile software development 30
  • 31. Summary Plan Driven (Ex: Waterfall) vs Incremental (Ex: Agile ) Structure and benefits and downfalls XP - an implementation of Agile - Power to the Programmer User story requirements Test driven design with continual retest and integration Pair Programming Refactoring encouraged Chapter 3 Agile software development 31