EXtreme Programming BY R.V.Ramesh MCA II Semester.

Slides:



Advertisements
Similar presentations
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Advertisements

NAUG NAUG Knowledge Evening – th February 2007.
Agile
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
Extreme Programming Collaboration in Software Development Process.
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
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.
EXtreme Programming (XP) By: Alayna McBride Jason Young.
An Agile View of Process
Software SYSTEMS DEVELOPMENT
Introduction to Agile.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Software Engineering Modern Approaches
Agile Programming Principles.
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.
Describing Methodologies PART II Rapid Application Development* Systems Analysis and Design II.
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.
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.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
XP – Extreme Programming
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Chapter 3 Agile Software Development (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
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.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Extreme Programming Based on and
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.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
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.
Project Management Software development models & methodologies
Agile development: a PM’s perspective
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Project Management and the yin & yang of
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Extreme Programming.
Extreme Programming.
Waterfall and Agile Quality Techniques
What do you need to know about XP?
ICSM and Extreme Programming(XP)
Agile Process: Overview
Chapter 3 – Agile Software Development
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Chapter 3: Agile Software Processes
Coming up: What is Agile?
Introduction to XP.
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:

EXtreme Programming BY R.V.Ramesh MCA II Semester

Extreme programming A gentle Introduction: The first Extreme Programming project was started March 6, 1996. Extreme Programming is one of several popular Agile

What is Extreme Programming? Extreme Programming is a discipline of software development based on values of simplicity, and courage. It works by bringing the whole team together in the presence of simple practices, with communication, feedback enough feedback to enable the team to see where they are and to tune the practices to their unique situation.

Process: Extreme Programming is successful because it stresses customer satisfaction. Instead of delivering everything you could possibly want on some date far in the future this process delivers the software you need as you need it. Extreme Programming empowers your developers to confidently respond to changing customer requirements, even late in the life cycle. Extreme Programming emphasizes teamwork. Managers, customers, and developers are all equal partners in a collaborative team. Extreme Programming improves a software project in five essential ways; communication, simplicity, feedback, respect, and courage.

Extreme Programming Overview                                                                                             

Development overview

Purpose User Stories are used to create time estimates for the release planning meeting. They are also used instead of a large requirements document. User Stories also drive the creation of the acceptance tests.

Extreme: Taking proven practices to the extreme If testing is good, let everybody test all the time If code reviews are good, review all the time If design is good, refectory all the time If integration testing is good, integrate all the time If simplicity is good, do the simplest thing that could possibly work If short iterations are good, make them really, really short

Why XP works: Light-weight: discipline without bureaucracy Under stress, people do what is easiest All XP practices have short-term benefits as well as long-term benefits Development as a Conversation The code is the documentation XP is fun

Who benefits from XP? Programmers: Customers: get clear requirements & priorities can do a good job can make technical decisions don’t work overtime Customers: get most business value first get accurate feedback can make informed business decisions can change their mind

Pair Programming Two people looking at one machine, with one keyboard and one mouse Two roles: implementation and strategy All production code is written in pairs

Implement XP with limited available resources to revive the project: First work in pair and take over the ownership of code left by senior programmer using one computer in each Started to work on each others code in pair. Promote a code standard. Promote a collective ownership of project. Perform unit test, integration test, and user test frequently on each implementation. Users are consistently available to each programmer on feedback about changes, requirements implementations. All above had made development, modification, unit testing and integration testing much easier and faster.

Advantages: 1. notecards 2. group hug 3. ruby on rails 4. Object Oriented 5. gift-based society

Disadvantages: 1. stupid managers wont understand 2. other programmers (Stupid Ones) won't understand 3. expensive, must attend training seminars to receive certifications,flowcharts, mug. well worth it though 4. wiki not as good as EXTREME 5. you're having too much *Fun*!!, you'll never want to use rainstick or caddyshack methodology again

Conclusion It has been found that the intense fear and adrenaline rush produced by dangerous situations heightens the programmer's awareness and thus the quality of code produced, albeit at the cost of reducing the programmer's life expectancy (due to continuous disintegration). However, with colleges and universities churning out highly qualified young programmers at an astonishing rate, this is considered an acceptable and very cost-effective tradeoff.