Waterfall and Agile Quality Techniques

29
Waterfall and Waterfall and Agile Quality Agile Quality Techniques Techniques Latha Karri Latha Karri EECS 814 EECS 814 December 9th, 2009 December 9th, 2009

description

Waterfall and Agile Quality Techniques. Latha Karri EECS 814 December 9th, 2009. Outline. Agile Methodology XP- What is Extreme About It? Agile Methods: Twelve Facets of XP Waterfall – Quality Techniques Agile – Quality Techniques Summary. Outline. Agile Methodology - PowerPoint PPT Presentation

Transcript of Waterfall and Agile Quality Techniques

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

Questions ?Questions ?