Waterfall and Agile Quality Techniques

Slides:



Advertisements
Similar presentations
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Advertisements

AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
Software Life Cycle Requirements analysis System design Program design Program implementation (coding) Unit testing Integration testing System testing.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
NAUG NAUG Knowledge Evening – th February 2007.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Agile Methods and Extreme Programming CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 23, 2007.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Extreme Programming Mark Steverson. What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
An Agile View of Process
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Proceedings of the 28th Annual International Computer Software and Applications Conference (2004) Ming Huo, June Verner, Liming Zhu, Muhammad Ali Babar.
Software Engineering Modern Approaches
Chapter 4 Agile Development
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Extreme Programming.
XP – Extreme Programming
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
CS3100 Software Project Management Agile Approaches.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
It’s Agile …. like! A Corkman’s introduction to Agile software delivery.
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Presented By : Prima Business Solutions. Agile Software Development Process.
Project Management Software development models & methodologies
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
CS223: Software Engineering
Software Development.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Appendix B Agile Methodologies
Extreme Programming.
Planning User stories are written.
Alexander Kanavin Lappeenranta University of Technology
Extreme Programming.
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
What do you need to know about XP?
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Agile and XP Development
Chapt 2 Iterative Evolutionary Agile.
Agile and XP Development
Agile and XP Development
Copyright 2006 Pearson/Prentice Hall. All rights reserved.
Extreme Programming Extreme programming is "a lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly.
Chapter 3: Agile Software Processes
Appendix B Agile Methodologies
Extreme Programming.
Agile software development
Extreme Programming (and Pair Programming)
Chapter 5: New and Emerging Process Methodologies
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

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

Outline Agile Methodology Waterfall – Quality Techniques XP- What is Extreme About It? Agile Methods: Twelve Facets of XP Waterfall – Quality Techniques Agile – Quality Techniques Summary 9/17/2018

Outline Agile Methodology Waterfall – Quality Techniques XP- What is Extreme About It? Agile Methods: Twelve Facets of XP Waterfall – Quality Techniques Agile – Quality Techniques Summary 9/17/2018

Outline Agile Methodology Waterfall – Quality Techniques XP- What is Extreme About It? Agile Methods: Twelve Facets of XP Waterfall – Quality Techniques Agile – Quality Techniques Summary 9/17/2018

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 9/17/2018

Agile Methods (continued) Agile manifesto 9/17/2018 Source: http://agilemanifesto.org/

Examples of Agile Methods Extreme Programming Scrum Adaptive Software Development Lean Development Evolutionary Project Management Unified Process Crystal Dynamic System Development Method Feature Driven Development 9/17/2018

Outline Agile Methodology Waterfall – Quality Techniques XP- What is Extreme About It? Agile Methods: Twelve Facets of XP Waterfall – Quality Techniques Agile – Quality Techniques Summary 9/17/2018

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 9/17/2018

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 9/17/2018

Outline Agile Methodology Waterfall – Quality Techniques XP- What is Extreme About It? Agile Methods: Twelve Facets of XP Waterfall – Quality Techniques Agile – Quality Techniques Summary 9/17/2018

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) 9/17/2018

Agile Methods: Twelve Facets of XP (continued) Collective Ownership Continuous Integration (small increments) Simple Design Coding Standard Metaphor (common vision, common names) Refactoring 9/17/2018

Outline Agile Methodology Waterfall – Quality Techniques XP- What is Extreme About It? Agile Methods: Twelve Facets of XP Waterfall – Quality Techniques Agile – Quality Techniques Summary 9/17/2018

Outline Agile Methodology Waterfall – Quality Techniques XP- What is Extreme About It? Agile Methods: Twelve Facets of XP Waterfall – Quality Techniques Agile – Quality Techniques Summary 9/17/2018

Waterfall – Quality Techniques Below screenshot displays the quality techniques employed by waterfall model 9/17/2018 Source: Completed Waterfall Process Model (Huo et al. 2004)

Outline Agile Methodology Waterfall – Quality Techniques XP- What is Extreme About It? Agile Methods: Twelve Facets of XP Waterfall – Quality Techniques Agile – Quality Techniques Summary 9/17/2018

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 9/17/2018

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 9/17/2018

Agile – XP Quality Techniques (continued) Pair Programming Source: Costs and Benefits of Pair Programming by Cockburn & Williams 9/17/2018

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 9/17/2018

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 9/17/2018

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 9/17/2018

Outline Agile Methodology Waterfall – Quality Techniques XP- What is Extreme About It? Agile Methods: Twelve Facets of XP Waterfall – Quality Techniques Agile – Quality Techniques Summary 9/17/2018

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 9/17/2018

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 9/17/2018

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 9/17/2018

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 9/17/2018

Questions ?