SlideShare a Scribd company logo
Chapter 3 – Agile Software Development
Pepper
modification of Sommerville presentation
& Colm O’hEocha – AgileInnovation Ltd presentation
1
Chapter 3 Agile software development
Topics covered
 Agile methods
 Plan-driven and agile development
 Extreme programming
 Agile project management
 Scaling agile methods
2
Chapter 3 Agile software development
Rapid software development
 Why?
 Need to react to changes more quickly than 2 year long waterfall projects
 2 years and then you got the design wrong anyway! Small deliveries
aren't abstract
 How?
 Goal - Deliver working software quickly
• Compromise - less functionality in a delivery, not lower quality
• Less documentation
 Focus on the code rather than the design
 Interleave
• Specification, design and implementation are inter-leaved
 Deliver small versions and get user (stakeholder) input
3
Chapter 3 Agile software development
Painpoints
Your
Favorite!
Transparency
Copyright © 2010 AgileInnovation
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 5
Plan-driven and agile specification
6
Chapter 3 Agile software development
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
8
Chapter 3 Agile software development
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
9
Chapter 3 Agile software development
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.
10
Chapter 3 Agile software development
The extreme programming release cycle
11
Chapter 3 Agile software development
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
15
Chapter 3 Agile software development
Examples of task cards for prescribing
medication
16
Chapter 3 Agile software development
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 18
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 19
Test case description for dose checking
20
Chapter 3 Agile software development
Test automation
 Automate tests (junit)
 Run upon checkin
 Difficulties:
 Time constraints
 Programmer preferences to not test
 Test coverage
Chapter 3 Agile software development 21
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
22
Chapter 3 Agile software development
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, documentation and
review of lessons learned.
Chapter 3 Agile software development 23
The Scrum process
24
Chapter 3 Agile software development
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
Stand up often
Team presents progress and impediments
Scrum master tasked with removing impediments
 3) Review system release with user
25
Chapter 3 Agile software development
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.
 Trust between customers and developers is established
and a positive culture is created in which everyone
expects the project to succeed.
Chapter 3 Agile software development 26
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
 Scrum - project management of Agile using sprints
 Iterations of full team contact / Scrum master protection of
programmers / full team release review
27
Chapter 3 Agile software development

More Related Content

Similar to agile.ppt

Chapter 3 software engineering.pptx
Chapter 3 software engineering.pptxChapter 3 software engineering.pptx
Chapter 3 software engineering.pptx
02LabiqaIslam
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile Development
DanWooster1
 
03. Agile Development
03. Agile Development03. Agile Development
03. Agile Development
Ashis Kumar Chanda
 
Agile - Software - Development Powerpoint
Agile - Software - Development PowerpointAgile - Software - Development Powerpoint
Agile - Software - Development Powerpoint
johncalebtan
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
software-engineering-book
 
Ch3 - Agile SW Dev
Ch3 - Agile SW DevCh3 - Agile SW Dev
Ch3 - Agile SW Dev
Harsh Verdhan Raj
 
ch3-150102101842-conversion-gate02.pdf
ch3-150102101842-conversion-gate02.pdfch3-150102101842-conversion-gate02.pdf
ch3-150102101842-conversion-gate02.pdf
abdallhelkahlout1
 
LU 3 Agile SW Dev.pptx
LU 3 Agile SW Dev.pptxLU 3 Agile SW Dev.pptx
LU 3 Agile SW Dev.pptx
TAISEEREISA
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdf
yedej15330
 
Lecture 3 se
Lecture 3 seLecture 3 se
Lecture 3 se
Tribhuvan University
 
Agile software process
Agile software processAgile software process
Agile software process
Jennifer Polack
 
Lecture - 16-19.pptx
Lecture - 16-19.pptxLecture - 16-19.pptx
Lecture - 16-19.pptx
FarHana74914
 
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
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
HumzaWaris1
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Saqib Raza
 
Agile Project Management for IT Projects
Agile Project Management for IT ProjectsAgile Project Management for IT Projects
Agile Project Management for IT Projectsrachna_nainani
 
Lean as Agile methodology – A Study
Lean as Agile methodology – A StudyLean as Agile methodology – A Study
Lean as Agile methodology – A Study
Eswar Publications
 
Software-Engineering-Agile-Methodologies.pptx
Software-Engineering-Agile-Methodologies.pptxSoftware-Engineering-Agile-Methodologies.pptx
Software-Engineering-Agile-Methodologies.pptx
SHIVASAI508232
 
Lect7
Lect7Lect7

Similar to agile.ppt (20)

Chapter 3 software engineering.pptx
Chapter 3 software engineering.pptxChapter 3 software engineering.pptx
Chapter 3 software engineering.pptx
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile Development
 
03. Agile Development
03. Agile Development03. Agile Development
03. Agile Development
 
Agile - Software - Development Powerpoint
Agile - Software - Development PowerpointAgile - Software - Development Powerpoint
Agile - Software - Development Powerpoint
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
 
Ch3 - Agile SW Dev
Ch3 - Agile SW DevCh3 - Agile SW Dev
Ch3 - Agile SW Dev
 
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
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdf
 
Lecture 3 se
Lecture 3 seLecture 3 se
Lecture 3 se
 
Agile software process
Agile software processAgile software process
Agile software process
 
Lecture - 16-19.pptx
Lecture - 16-19.pptxLecture - 16-19.pptx
Lecture - 16-19.pptx
 
Ch17
Ch17Ch17
Ch17
 
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)
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Agile Project Management for IT Projects
Agile Project Management for IT ProjectsAgile Project Management for IT Projects
Agile Project Management for IT Projects
 
Lean as Agile methodology – A Study
Lean as Agile methodology – A StudyLean as Agile methodology – A Study
Lean as Agile methodology – A Study
 
Software-Engineering-Agile-Methodologies.pptx
Software-Engineering-Agile-Methodologies.pptxSoftware-Engineering-Agile-Methodologies.pptx
Software-Engineering-Agile-Methodologies.pptx
 
Lect7
Lect7Lect7
Lect7
 

Recently uploaded

Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
GeoBlogs
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
Col Mukteshwar Prasad
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
AzmatAli747758
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
Celine George
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
PedroFerreira53928
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
bennyroshan06
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 

Recently uploaded (20)

Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 

agile.ppt

  • 1. Chapter 3 – Agile Software Development Pepper modification of Sommerville presentation & Colm O’hEocha – AgileInnovation Ltd presentation 1 Chapter 3 Agile software development
  • 2. Topics covered  Agile methods  Plan-driven and agile development  Extreme programming  Agile project management  Scaling agile methods 2 Chapter 3 Agile software development
  • 3. Rapid software development  Why?  Need to react to changes more quickly than 2 year long waterfall projects  2 years and then you got the design wrong anyway! Small deliveries aren't abstract  How?  Goal - Deliver working software quickly • Compromise - less functionality in a delivery, not lower quality • Less documentation  Focus on the code rather than the design  Interleave • Specification, design and implementation are inter-leaved  Deliver small versions and get user (stakeholder) input 3 Chapter 3 Agile software development
  • 5. 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 5
  • 6. Plan-driven and agile specification 6 Chapter 3 Agile software development 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
  • 7. Copyright © 2010 AgileInnovation
  • 8. 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 8 Chapter 3 Agile software development
  • 9. 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 9 Chapter 3 Agile software development
  • 10. 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. 10 Chapter 3 Agile software development
  • 11. The extreme programming release cycle 11 Chapter 3 Agile software development
  • 12. 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
  • 13. The Life of an Iteration Copyright © 2010 AgileInnovation
  • 14. “Tell me how you will measure me and I’ll tell you how I’ll behave” Transparency Copyright © 2010 AgileInnovation
  • 15. A ‘prescribing medication’ story 15 Chapter 3 Agile software development
  • 16. Examples of task cards for prescribing medication 16 Chapter 3 Agile software development
  • 17.
  • 18. 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 18
  • 19. 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 19
  • 20. Test case description for dose checking 20 Chapter 3 Agile software development
  • 21. Test automation  Automate tests (junit)  Run upon checkin  Difficulties:  Time constraints  Programmer preferences to not test  Test coverage Chapter 3 Agile software development 21
  • 22. 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 22 Chapter 3 Agile software development
  • 23. 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, documentation and review of lessons learned. Chapter 3 Agile software development 23
  • 24. The Scrum process 24 Chapter 3 Agile software development
  • 25. 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 Stand up often Team presents progress and impediments Scrum master tasked with removing impediments  3) Review system release with user 25 Chapter 3 Agile software development
  • 26. 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.  Trust between customers and developers is established and a positive culture is created in which everyone expects the project to succeed. Chapter 3 Agile software development 26
  • 27. 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  Scrum - project management of Agile using sprints  Iterations of full team contact / Scrum master protection of programmers / full team release review 27 Chapter 3 Agile software development