Extreme Programming Mark Steverson. What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck.

Slides:



Advertisements
Similar presentations
Extreme Programming Patrick Mattis Alana Trafford Akarsh Sakalaspur.
Advertisements

An Introduction to eXtreme Programming Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
9th October, 2001Confidential to Ian Mitchell1 XP – All the Rest Ian Mitchell, FNZCS.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
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: Practices and Strategies Extreme Programming Practices and Strategies Mohammad Alshayeb Information and Computer.
Introduction to XP “When the tests all run, you’re done”
Agile Methodology: The New Wave in Software Development By Patricia Cleary Thesis Hypothesis: The agile methodologies are better than the current methodology.
Extreme Programming Collaboration in Software Development Process.
EXtreme Programming By: Aaron Flocke, Leena Paulose, Geetha Krishna (Team 6)
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Extreme Programming > an agile methodology
1 Department of Computer Science, University of Sheffield An introduction to eXtreme Programming Professor Mike Holcombe.
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.
Agile Awareness Workshop 2008 Flavours of Agile II eXtreme Programming V I K A S H A Z R A T I June 14' 2008.
Extreme Programming(XP)
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Extreme programming overview Agenda  Extreme programming goals  Extreme programming values  Extreme programming practices  The Extreme programming.
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
Extreme Programming Daniel Baranowski 3/29/06. What is Extreme Programming? An agile development methodology Created by Kent Beck in the mid 1990’s A.
1 e X treme P rogramming D. Dranidis September 2000 CITY College.
Extreme Programming Sylvain Giroux October 3 rd, 2000.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
XP (not Microsoft) e X treme P rogramming Can KOMAR
Extreme Programming.
XP – Extreme Programming
EXtreme Programming Development Adrian Williamson People, Technology and People and Technology Consultant.
Extreme Programming David Li CTO, DigitalSesame. Problem in Developing Software The Basic Problem - Risk –Schedule slips –Project canceled –System goes.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
3/5/2009Computer systems1 Agile Modeling and Prototyping Prototyping Agile Modeling a collection of innovative, user-centered approaches to systems development.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
December Using Software Development Methodology (SDM) in the Third Teaching Unit (laboratory) CS Teachers Conference Dr. Orit Hazzan & Yael Dubinsky.
DAVID STOTTS DEPT. OF COMPUTER SCIENCE UNIV. OF NORTH CAROLINA AT CHAPEL HILL Extreme Programming.
CS3100 Software Project Management Agile Approaches.
Extreme Programming (XP) XP is an agile methodology: –aims to be responsive to change Theme running through XP is the importance of communication –amongst.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Extreme Programming Based on and
Center for Advanced Studies, Research and Development in Sardinia Network Distributed Application XP4IDE Applying XP Practices to Project Management Open.
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Test Driven Development Daniel Brown dxb17u. Introduction Originates from Extreme Programming (XP) Proposed by Kent Beck in Test Driven Development.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
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
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY 1 eXtreme Programming – one of the Agile Software Development Methodologies.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
9th October, 2001Confidential to Ian Mitchell1 XP – An Overview Ian Mitchell, FNZCS.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Software Development Process Models (II) Agile Methodologies Extreme Programming.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Extreme Programming.
Planning User stories are written.
Extreme Programming.
System DEVELOPMENT LIFE CYCLE MODELS
Coming up: What is Agile?
Refactoring.
Introduction to XP.
Extreme Programming.
Agile software development
Extreme Programming (and Pair Programming)
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

Extreme Programming Mark Steverson

What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck ● Designed to work with projects that can be built by teams of two to ten programmers,that aren't sharply constrained by the existing computing environment, and where executing tests can be done in a fraction of the day ● XP contains four values at its core: Communication, Simplicity, Feedback, and Courage ● Five Basic Principles: Rapid Feedback, Assume Simplicity, Incremental Change, Embracing Change, Quality Work

Practices of Extreme Programming ● The Planning Game – Determine the scope of the next release by looking at business priorities and technical estimates ● Small Releases – Release simple versions of the system often ● Metaphor – A story of how the system works, the architecture ● Simple Design – System should be designed as simply as possible at any given moment ● Testing – Test constantly, all tests must run flawlessly to continue development. ● Refactoring – Programmers can restructure the system at any time without changing behaviour to simplify, remove duplication, or add flexibility

Practices Continued ● Pair Programming – All code is written by two programmers using one machine ● Collective Ownership – Everyone owns the code and can modify it at any time ● Continuous Integration – Every time a task is completed it should be integrated and tested, integration should take place many times a day ● 40-Hour Week – Only work 40 hours a week, no overtime for two weeks in a row ● On-Site Customer – A person who will be using the system on call at all time to answer questions. ● Coding Standards - Code is written in a standard way by all programmers to improve communication

Where Will XP not work? ● Anytime you are using a technology with an inherently exponential cost curve. ● An environment where it takes a long time to gain feedback ● Any place where the physical environment is not suited for communication ● XP will not work well with a large amount of people