Waterfall and Waterfall and Agile Quality Agile Quality TechniquesTechniques
Latha KarriLatha Karri EECS 814EECS 814
December 9th, 2009December 9th, 2009
04/19/23 2
OutlineOutline
Agile MethodologyAgile Methodology XP- What is Extreme About It? Agile Methods: Twelve Facets of XP
Waterfall – Quality TechniquesWaterfall – Quality Techniques Agile – Quality TechniquesAgile – Quality Techniques SummarySummary
04/19/23 3
OutlineOutline
Agile MethodologyAgile Methodology XP- What is Extreme About It? Agile Methods: Twelve Facets of XP
Waterfall – Quality TechniquesWaterfall – Quality Techniques Agile – Quality TechniquesAgile – Quality Techniques SummarySummary
04/19/23 4
OutlineOutline
Agile MethodologyAgile Methodology XP- What is Extreme About It? Agile Methods: Twelve Facets of XP
Waterfall – Quality TechniquesWaterfall – Quality Techniques Agile – Quality TechniquesAgile – Quality Techniques SummarySummary
04/19/23 5
Agile MethodsAgile Methods
Agility defined: “marked by ready ability to move with
quick easy grace” “having a quick resourceful and
adaptable character” Emphasis on flexibility in producing
software quickly and capably
04/19/23 6
Agile Methods Agile Methods (continued)(continued)
Agile manifesto
Source: http://agilemanifesto.org/
04/19/23 7
Examples of Agile Examples of Agile MethodsMethods Extreme Programming
Scrum Adaptive Software Development Lean Development Evolutionary Project Management Unified Process Crystal Lean Development Dynamic System Development Method Feature Driven Development
04/19/23 8
OutlineOutline
Agile MethodologyAgile Methodology XP- What is Extreme About It? Agile Methods: Twelve Facets of XP
Waterfall – Quality TechniquesWaterfall – Quality Techniques Agile – Quality TechniquesAgile – Quality Techniques SummarySummary
04/19/23 9
XP- What is Extreme XP- What is Extreme About It?About It?
If code review is good, we’ll review code all the time -Pair programming
If testing is good, every body will test all the time -Unit testing by developers, functional testing by customers
If simplicity is good, we’ll make it part of the system with simplest design that supports its current functionality – Simple design
If short iterations are good, we’ll make the iterations really, really short - Small iterations and the planning game
04/19/23 10
XP- What is Extreme XP- What is Extreme About It?About It? (continued)(continued)
If integration testing is important, then we’ll integrate and test several times a day – Continuous integration
If design is good, we’ll make it part of everybody’s daily business –Refactoring
If architecture is important, everybody will work defining and refining the architecture all the time - Metaphor
04/19/23 11
OutlineOutline
Agile MethodologyAgile Methodology XP- What is Extreme About It? Agile Methods: Twelve Facets of XP
Waterfall – Quality TechniquesWaterfall – Quality Techniques Agile – Quality TechniquesAgile – Quality Techniques SummarySummary
04/19/23 12
Agile Methods: Twelve Facets of XP
The Planning Game (customer defines value)
Small Release Writing Tests First On-site Customer Pair Programming Sustainable Pace (40 hours/week)
04/19/23 13
Agile Methods: Twelve Facets of XP (continued)
Collective Ownership Continuous Integration (small
increments) Simple Design Coding Standard Metaphor (common vision, common
names) Refactoring
04/19/23 14
OutlineOutline
Agile MethodologyAgile Methodology XP- What is Extreme About It? Agile Methods: Twelve Facets of XP
Waterfall – Quality TechniquesWaterfall – Quality Techniques Agile – Quality TechniquesAgile – Quality Techniques SummarySummary
04/19/23 15
OutlineOutline
Agile MethodologyAgile Methodology XP- What is Extreme About It? Agile Methods: Twelve Facets of XP
Waterfall – Quality TechniquesWaterfall – Quality Techniques Agile – Quality TechniquesAgile – Quality Techniques SummarySummary
04/19/23 16
Waterfall – Quality Waterfall – Quality TechniquesTechniques
Below screenshot displays the Below screenshot displays the quality techniques employed by quality techniques employed by waterfall modelwaterfall model
Source: Completed Waterfall Process Model (Huo et al. 2004)
04/19/23 17
OutlineOutline
Agile MethodologyAgile Methodology XP- What is Extreme About It? Agile Methods: Twelve Facets of XP
Waterfall – Quality TechniquesWaterfall – Quality Techniques Agile – Quality TechniquesAgile – Quality Techniques SummarySummary
04/19/23 18
Agile – XP Quality Agile – XP Quality TechniquesTechniques
On-site Customer real, live user on the team, available
full-time to answer questions reduces the amount of hard copy
documentation and the high cost associated with its
creation and maintenance reduces the delay in response time
04/19/23 19
Agile – XP Quality Agile – XP Quality TechniquesTechniques (continued)(continued)
Pair Programming two programmers continuously working
on the same code -widely recognized as -widely recognized as continuous code inspectioncontinuous code inspection improves design qualityimproves design quality reduces defectsreduces defects helps to learn from other personhelps to learn from other person coding becomes funscoding becomes funs resolution time for some critical problems is resolution time for some critical problems is
much fastermuch faster
04/19/23 20
Agile – XP Quality Agile – XP Quality TechniquesTechniques (continued)(continued)
Pair Programming
Source: Costs and Benefits of Pair Programming by Cockburn & Williams
04/19/23 21
Agile – XP Quality Agile – XP Quality Techniques Techniques (continued)(continued)
Continuous Integration integrate and build the system several
times a day, every time a talk is completed.
reduces compatibility issues reduces time in finding the bugs reduces the risk and helps you understand
what works and what does not work early on
04/19/23 22
Agile – XP Quality Agile – XP Quality TechniquesTechniques (continued)(continued)
Test Driven Development programmers write tests first based on
user stories (requirements) reduces defectsreduces defects helps to ensure that the application is helps to ensure that the application is
written for testability written for testability improves design qualityimproves design quality ensures that tests for every feature will be ensures that tests for every feature will be
written written gives confidence to the developersgives confidence to the developers
04/19/23 23
Agile – XP Quality Agile – XP Quality TechniquesTechniques (continued)(continued)
Sustainable Pace \ 40 hr work week programmers work 40-45 hr per week
helps to produce high quality code in less helps to produce high quality code in less timetime
helps the programmers to be healthy and helps the programmers to be healthy and happyhappy
04/19/23 24
OutlineOutline
Agile MethodologyAgile Methodology XP- What is Extreme About It? Agile Methods: Twelve Facets of XP
Waterfall – Quality TechniquesWaterfall – Quality Techniques Agile – Quality TechniquesAgile – Quality Techniques SummarySummary
04/19/23 25
SummarySummary
Agile methods generally promote a Agile methods generally promote a disciplined project management disciplined project management process that encourages frequent process that encourages frequent inspection and breaks tasks into inspection and breaks tasks into small increments with minimal small increments with minimal planningplanning
XP took common practices to the an XP took common practices to the an extreme level by doing them more extreme level by doing them more frequentlyfrequently
04/19/23 26
Summary Summary (continued)(continued)
Moving forward, we discussed the Moving forward, we discussed the quality aspects of waterfall modelquality aspects of waterfall model
Finally, concluded with the agile Finally, concluded with the agile quality techniques as addressed by quality techniques as addressed by test driven development, on-site test driven development, on-site customer, continuous integration, customer, continuous integration, pair programming and sustainable pair programming and sustainable pacepace
04/19/23 27
ReferencesReferences http://www.agiledeveloper.com/presehttp://www.agiledeveloper.com/prese
ntations/AgileMethodologies.pdfntations/AgileMethodologies.pdf Huo, M., Verner, J., Zhu, L., & Babar, Huo, M., Verner, J., Zhu, L., & Babar,
M. A. (2004), “M. A. (2004), “Software Quality and Software Quality and Agile MethodsAgile Methods”, Proceedings of the ”, Proceedings of the 28th IEEE Annual International 28th IEEE Annual International Computer Software and Applications Computer Software and Applications Conference, pp. 520-525 Washington, Conference, pp. 520-525 Washington, DCDC
http://aswec07.cs.latrobe.edu.au/12.phttp://aswec07.cs.latrobe.edu.au/12.pdfdf
04/19/23 28
References References (continued)(continued)
http://aswec07.cs.latrobe.edu.au/12.pdfhttp://aswec07.cs.latrobe.edu.au/12.pdf http://people.eecs.ku.edu/~saiedian/http://people.eecs.ku.edu/~saiedian/
Teaching/Fa08/810/Lectures/PA-ch02.pdf Teaching/Fa08/810/Lectures/PA-ch02.pdf http://collaboration.csc.ncsu.edu/laurie/http://collaboration.csc.ncsu.edu/laurie/
Papers/XPSardinia.PDFPapers/XPSardinia.PDF Discipline vs Agility report by Jason CraditDiscipline vs Agility report by Jason Cradit http://www.orlandojug.org/http://www.orlandojug.org/
XP_Methodology_overview_v3a.ppt#2XP_Methodology_overview_v3a.ppt#276,31,XP > Pros76,31,XP > Pros