XP Explained Chapters 7-9. Primary Practices  Sit together Ideal Resistance Multi-site  Whole Team All the necessary skills in a single management structure.

Slides:



Advertisements
Similar presentations
Iteration Planning.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Agile Project Management with Scrum
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Review: Agile Software Testing in Large-Scale Project Talha Majeed COMP 587 Spring 2011.
Permeation of RUP and XP on Small and Middle-Size Projects KREŠIMIR FERTALJ University of Zagreb Faculty of Electrical Engineering and Computing Department.
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.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
COMP 350: Object Oriented Analysis and Design Lecture 2
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
VENDORS, CONSULTANTS AND USERS
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Get quality results faster: Agile Projects and your team Presenters: Laurie Barnas and Wendy Taylor, Associate Registrars, University of Victoria.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
Software Development Landscape
Chapter 3 Agile Software Development (2/2) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
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.
Agile Software Development Chapter 3 – Lecture 1 Adrián Susinos.
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.
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.
Most Important Tests (MITs) Most Important Tests is just a method which focuses on the risky and important areas of the system to test –Based on statistical.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
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.
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Chapter 3 Agile Software Development (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
VENDORS, CONSULTANTS AND USERS. WHY CAN’T COMPANIES DEVELOP THEIR OWN ERP PACKAGES? To develop an ERP package is a complex & time consuming activity which.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Het einde van het beroep van tester - Wat Agile, DevOps en Scrum betekenen voor het testvak -
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.
Project Management Workshop James Small. Goals Understand the nature of projects Understand why Project Management is important Get an idea of the key.
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.
K15T2-Team 5- PoD Team Software Project Management.
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.
Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have.
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)
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
CS223: Software Engineering Lecture 16: The Agile Methodology.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
Extreme Software Engineering A Hands-On Approach From Extreme Software Engineering: A Hands-On Approach Daniel H. Steinberg Daniel W. Palmer.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
Agile Center of Excellence. Richard K Cheng Agile is just a high level concept.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta.
CS223: Software Engineering
Agile Project Management and the yin & yang of
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Chapter 3 – Agile Software Development
Taking an Iteration Down to Code
Chapter 3 – Agile Software Development
Rapid software development
Chapter 3 – Agile Software Development
Extreme Programming.
Agile Development.
Extreme Programming (and Pair Programming)
Presentation transcript:

XP Explained Chapters 7-9

Primary Practices  Sit together Ideal Resistance Multi-site  Whole Team All the necessary skills in a single management structure This is dynamic No fractional staff

Primary Practices  Informative workspace Key metrics as big graphs and charts Visible planning and tracking Requirements groups  Energized Work 40 hour week Focus time

Primary Practices  Pair Programming (switch as needed, maybe multiple times per day) Keep each other on task Brainstorm Clarify Switch lead when one is stuck Hold each accountable

Primary Practices  Pair Programming and personal space See figure 6 page 44 We like our personal space!

Primary Practices  Stories Plan using units of customer visible functionality  Provide a 2 click way for customers to dial frequently used numbers  Make technical requirements visible with test cases Requirement is a misnomer Value cannot be determined with out cost estimates

Primary Practices  Weekly Cycle Weekly meeting  Review progress  Customer pick new weeks worth of stories  Break stories into tasks, team members sign up for tasks and estimate them Start the week by writing automated test

Primary Practices  Quarterly Cycle Reflect on the team, project, progress. Process, and alignment with larger goals Quarterly meeting  Identify bottlenecks  Initiate repairs  Plan themes  Big picture – where the project fits within stakeholder concerns

Primary Practices  Slack Everything can’t be planned Include tasks in the plan that could be dropped

Primary Practices  Ten Minute Build Automatically build and test in 10 minutes. What if you can’t  You can more often that you think

Primary Practices  Continuous integration Integrate and test changes after no more than a couple of hours Integration can take more time that the original programming Synchronous is better than Asynchronous

Primary Practices  Test first Programming Write the tests before the code –and do it at a very fine level of granularity. If it is hard to write a test you have a design problem not a test problem Rhythm

Primary Practices  Incremental Design Invest in the design of the system every day Defer design decisions to the last responsible moment The most effective time to design is in the light of experience The closer the implementation of a design mechanism to the time it is actually needed, the more efficient

Chapter 8 Getting Started

 Make adopting XP an XP project Write stories  Educate management  Attending training  Automate the build Prioritize the stories Estimate their time and cost Create and track metrics

Chapter 9 Corollary Practices

 Real Customer Involvement Make your stakeholders part of the team

Corollary Practices  Incremental Deployment Run parallel systems if necessary

Corollary Practices  Team Continuity Don’t throw everyone back into the “labor pool” once a project is finished

Corollary Practices  Shrinking Teams As a team grows in capability, keep its workload constant but gradually reduce its size

Corollary Practices  Root Cause Analysis When you find a defect, eliminate the defect and the cause The goal is that the team won’t ever make the same mistake again I expect that individuals will make mistakes, but my process should ensure that my team doesn’t make mistakes Five whys

Corollary Practices  Shared Code Anyone can improve any part of the system at anytime  Eliminates bottlenecks  Doesn’t work across team boundries

Corollary Practices  Code and Tests Maintain only the code and tests as permanent artifacts. Generate other documents from the code and tests. Rely on Social mechanisms for the rest.

Corollary Practices  Single Code Base Duplication is not fun and it is very expensive Frameworks can help solve this

Corollary Practices  Daily Deployment Put new software into production every night

Corollary Practices  Negotiated Scope Contract Write contracts that fix time, costs, and quality but call for an ongoing negotiation of the scope  Fix scope but leave specific requirement to ongoing negotiation Sign a series of shorter contracts rather than one big one