290 likes | 301 Views
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
E N D
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 • XP- What is Extreme About It? • Agile Methods: Twelve Facets of XP • Waterfall – Quality Techniques • Agile – Quality Techniques • Summary
Outline • Agile Methodology • XP- What is Extreme About It? • Agile Methods: Twelve Facets of XP • Waterfall – Quality Techniques • Agile – Quality Techniques • Summary
Agile 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
Agile Methods (continued) • Agile manifesto Source: http://agilemanifesto.org/
Examples of Agile Methods • Extreme Programming • Scrum • Adaptive Software Development • Lean Development • Evolutionary Project Management • Unified Process • Crystal • Lean Development • Dynamic System Development Method • Feature Driven Development
Outline • Agile Methodology • XP- What is Extreme About It? • Agile Methods: Twelve Facets of XP • Waterfall – Quality Techniques • Agile – Quality Techniques • Summary
XP- What is Extreme 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
XP- What is Extreme About It?(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
Outline • Agile Methodology • XP- What is Extreme About It? • Agile Methods: Twelve Facets of XP • Waterfall – Quality Techniques • Agile – Quality Techniques • Summary
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)
Agile Methods: Twelve Facets of XP (continued) • Collective Ownership • Continuous Integration (small increments) • Simple Design • Coding Standard • Metaphor (common vision, common names) • Refactoring
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 • XP- What is Extreme About It? • Agile Methods: Twelve Facets of XP • Waterfall – Quality Techniques • Agile – Quality Techniques • Summary
Waterfall – Quality Techniques • Below screenshot displays the quality techniques employed by waterfall model Source: Completed Waterfall Process Model (Huo et al. 2004)
Outline • Agile Methodology • XP- What is Extreme About It? • Agile Methods: Twelve Facets of XP • Waterfall – Quality Techniques • Agile – Quality Techniques • Summary
Agile – XP Quality Techniques • 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
Agile – XP Quality Techniques(continued) • Pair Programming • two programmers continuously working on the same code -widely recognized as continuous code inspection • improves design quality • reduces defects • helps to learn from other person • coding becomes funs • resolution time for some critical problems is much faster
Agile – XP Quality Techniques(continued) • Pair Programming Source: Costs and Benefits of Pair Programming by Cockburn & Williams
Agile – XP Quality Techniques (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
Agile – XP Quality Techniques(continued) • Test Driven Development • programmers write tests first based on user stories (requirements) • reduces defects • helps to ensure that the application is written for testability • improves design quality • ensures that tests for every feature will be written • gives confidence to the developers
Agile – XP Quality Techniques(continued) • Sustainable Pace \ 40 hr work week • programmers work 40-45 hr per week • helps to produce high quality code in less time • helps the programmers to be healthy and happy
Outline • Agile Methodology • XP- What is Extreme About It? • Agile Methods: Twelve Facets of XP • Waterfall – Quality Techniques • Agile – Quality Techniques • Summary
Summary • Agile methods generally promote a disciplined project management process that encourages frequent inspection and breaks tasks into small increments with minimal planning • XP took common practices to the an extreme level by doing them more frequently
Summary (continued) • Moving forward, we discussed the quality aspects of waterfall model • Finally, concluded with the agile quality techniques as addressed by test driven development, on-site customer, continuous integration, pair programming and sustainable pace
References • http://www.agiledeveloper.com/presentations/AgileMethodologies.pdf • Huo, M., Verner, J., Zhu, L., & Babar, M. A. (2004), “Software Quality and Agile Methods”, Proceedings of the 28th IEEE Annual International Computer Software and Applications Conference, pp. 520-525 Washington, DC • http://aswec07.cs.latrobe.edu.au/12.pdf
References (continued) • http://aswec07.cs.latrobe.edu.au/12.pdf • http://people.eecs.ku.edu/~saiedian/Teaching/Fa08/810/Lectures/PA-ch02.pdf • http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF • Discipline vs Agility report by Jason Cradit • http://www.orlandojug.org/XP_Methodology_overview_v3a.ppt#276,31,XP > Pros