Embracing change with Extreme Programming Method Engineering Erik ten Brinke - 3786234.

Slides:



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

Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
NAUG NAUG Knowledge Evening – th February 2007.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Agile development By Sam Chamberlain. First a bit of history..
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Agile
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
Agile Methods and Extreme Programming CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 23, 2007.
Extreme Programming Collaboration in Software Development Process.
Chapter 6 Prototyping, RAD, and Extreme Programming
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.
03/12/2001 © Bennett, McRobb and Farmer Managing Object-Oriented Projects—DSDM and XP Based on Chapter 21 of Bennett, McRobb and Farmer: Object.
Extreme Programming--a “New” Process Model Extreme Programming-- a “New” Process Model.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Creator: ACSession No: 19 Slide No: 1Reviewer: - CSE300Advanced Software EngineeringMarch 2007 ‘Agile Methods’ (part 2) CSE300 Advanced Software Engineering.
An Agile View of Process
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
© 2010 Bennett, McRobb and Farmer1 Agile Methodologies—DSDM, XP and Scrum Based on Chapter 21 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Chapter 4 An Agile View of Process
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
EXtreme Programming: An Introduction Presentation by: Jon Banta.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Agile
1 The Manifesto for Agile Software Development “We are uncovering better ways of developing software by doing it and helping others do it. Through this.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
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.
Chapter 3 Agile Development
Test Driven Development Daniel Brown dxb17u. Introduction Originates from Extreme Programming (XP) Proposed by Kent Beck in Test Driven Development.
Software Engineering (CSI 321) An Agile View of Process 1.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
EXtreme Programming and Open Source engineering paradigm A comparison
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Appendix B Agile Methodologies
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Planning User stories are written.
Software Engineering (CSI 321)
Waterfall and Agile Quality Techniques
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
What do you need to know about XP?
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Coming up: What is Agile?
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
DSDM ArLinda A. Carroll.
Appendix B Agile Methodologies
Agile software development
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

Embracing change with Extreme Programming Method Engineering Erik ten Brinke

Content 1)Introduction to Extreme Programming 2)What makes XP stands out? 3) Related literature 4) XP PDD 5) XP in practice 6) Questions

Extreme Programming  Agile development  Agile Manifesto (2001)  Kent Beck

 User stories  Open work environment  Face-to-face communication  Customer involvement  The Planning Game  What makes XP stand out?  Daily meeting  Pair programming  Unit tests  Continuous integration  Refactoring  Collective ownership Main aspects

 User stories  Open work environment  Face-to-face communication  Customer involvement  The Planning Game  Daily meeting  Pair programming  Unit tests  Continuous integration  Refactoring  Collective ownership Main aspects

Related Literature  Abrahamsson et al. (2002) indentified the differences and similarities between the several Agile software development methods. Their study showed the key points, special features, identified shortcomings, and differences of several Agile methods. Table 1: Comparison of four Agile methods (Abrahamsson et al., 2002) Agile methodKey pointsSpecial featuresIdentified shortcomings DSDMApplications of controls to RAD, use of timeboxing, empowered DSDM teams, active consortium to steer the method development First truly Agile software development method, use of prototyping, several user roles: ‘ambassador’, ‘visionary’ and ‘advisor’ While the method is available, only consortium members have access to white papers dealing with the actual use of the method. FDDFive step process, object oriented component (i.e. feature) based development, very short iterations from hours to 2 weeks Method simplicity, design and implement the system by features, object modeling FDD focuses only on design and implementation, needs other supporting approaches ScrumIndependent, small, self organizing development teams, 30 release cycles Enforce a paradigm shift from the ‘defined and repeatable’ to the ‘new product development view of Scrum’ While Scrum details in specific how to manage the 30 day release cycle, the integration and acceptance tests are not detailed XPCustomer driven development, small teams, daily builds Refactoring, the ongoing redesign of the system to improve its performance and responsiveness to change While individual practices are suitable for many situations, overall view and management practices are given less attention.

 Layman, Williams, and Cunningham (2004) performed a case study at an airline company named Sabre Airline Solutions. Their case study compared two releases from the same product, one from before the team used XP and one from when the team had been using XP for two years. H10: pre-release quality (as measured by defects found before product release) H20: post-release quality (as measured by defects found by the customer after release) H30: programmer productivity (as measured by both user stories and lines of code per person-month) H40: customer satisfaction (measured via interview and customer feedback) H50: team morale (assessed via a survey)  Pre-release quality: decrease of 65% in test defects  Post-release quality: increased by 35%, due to a decrease of defects found by the customer after a release  Programmer productivity: improved by a 50% increase in code output Case: Airline Company

XP PDD

XP in Practice A company wants to develop a software update for its ERP system.  Assuming the user stories are already written, the customer chooses the user stories that fit within the scope of the sprint. The chosen user stories could be functionality like the possibility to generate specific management reports or bug fixes for aspects that don’t work properly.  The chosen user stories are documented in a release definition.  The Planning Game is initiated.  (First)Daily meeting is performed.  Pair Programming.  Assuming that the organization already uses XP for some time, they have a collection of unit tests which they can use to test the developed user stories.  When the individual developed user stories pass the unit tests, they come together in a software release.  This software release is validated via an acceptance test, if it passes this test the software release is ready to be implemented at customers that use their ERP system.

Questions  Reviewers  Others