Diane Pozefsky. Extreme Programming Flowchart

Slides:



Advertisements
Similar presentations
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
Advertisements

NAUG NAUG Knowledge Evening – th February 2007.
Agile Programming 9 OCTOBER History 1960’s  60’s  “Cowboys” wrote software anyway that they could  Difference between best programmers and worst.
8 December Logistics  Sitterson 014 at 8 am Tuesday, Dec 14  Inviting all clients  Schedule will depend on client constraints ( once booked)
6 December ’s  60’s “Cowboys” wrote software anyway that they could Difference between best programmers and worst as high as 28:1 (many sources)
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
1 March Extreme programming. Presentations Tuesday Campus Tour Sami Says Hawks Thursday Read2Me UNCSET Oral Lab NetVis If helpful, invite your client.
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Extreme Programming Collaboration in Software Development Process.
Agile Software Development Matt Rice November 27, 2006.
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.
Transitioning to XP or The Fanciful Opinions of Don Wells.
Agile Software Development
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
The Agile Alliance By Mark Rucker. The Agile Alliance What is the Agile Alliance? History of the Agile Alliance What is the Agile Alliance today? The.
Diane Pozefsky. 1960’s  60’s “Cowboys” wrote software anyway that they could Difference between best programmers and worst as high as 28:1 (many sources)
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.
AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 © Bartosz Walter Quality Connection 2002, Helsinki Poznan University of Technology Poznan,
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
1 e X treme P rogramming D. Dranidis September 2000 CITY College.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Planning Game in Artifacts Tracker (AT) Project Michal Pilawski.
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
XP – Extreme Programming
The Strengths and Weaknesses of Extreme Programming
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
Software Craftsmanship Raising the bar for software development
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.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due tomorrow, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Tomorrow’s lecture.
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
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY 1 eXtreme Programming – one of the Agile Software Development Methodologies.
Agile Programming Simple Complex Anarchy Complicated Technology Requirements Far from Agreement Close to Agreement Close to Certainty Far from Certainty.
Extreme Programming. Programming History 1960’s  60’s  “Cowboys” wrote software anyway that they could  Difference between best programmers and worst.
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
Extreme Software Engineering A Hands-On Approach From Extreme Software Engineering: A Hands-On Approach Daniel H. Steinberg Daniel W. Palmer.
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
Forget about Agile for a second!
Manifesto for Agile Software Development
End Game.
EXtreme Programming BY R.V.Ramesh MCA II Semester.
Extreme Programming.
Waterfall and Agile Quality Techniques
What do you need to know about XP?
Agile and XP Development
eXtreme Programming (XP) and eXtreme Modeling (XM)
Agile and XP Development
Agile and XP Development
Coming up: What is Agile?
Refactoring.
Introduction to XP.
Agile software development
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

Diane Pozefsky

Extreme Programming Flowchart

Iteration  Scope: all parts of the system Only add functions needed for current user stories  Recommendation: 3 weeks  Moving people around Backup and training Code is owned by the whole team  Pair programming  Re-factoring

Pair Programming  Two people working at a single computer  Built-in backup and inspections  Collaboration builds better code  Mechanical model One drives, the other talks Keyboard slides between the two  Logical model One tactical, the other strategic Both think about the full spectrum but bring different perspectives

Pair Programming Experiments  Typical numbers show the total manpower consumed not very different Numbers range, but no more than ¼ additional manpower  Implication: actual time is reduced  Improved satisfaction also improves productivity  Williams et al, “Strengthening the Case for Pair-Programming”Strengthening the Case for Pair-Programming

Refactoring  Each iteration adds just the function needed  If you continue to add new functions every two weeks, code can get messy  Refactoring is the cleaning up of the code at the end of the iteration  Critical to maintaining quality code  (Also applies to the design)  Difference between refactoring & rewriting?

Feedback Loops

The Rules of Extreme Programming  Planning  Managing  Designing  Coding  Testing

When to Use XP  Types of projects High risk Poorly understood requirements  Team Small size: 2 to 12 Needs to include customer  Automated testing Timing issue

What Makes a Project XP  Paradigm see change as the norm, not the exception optimize for change  Values communication, simplicity, feedback, and courage honor in actions  Power sharing business makes business decisions development makes technical decisions  Distributed responsibility and authority people make commitments for which they are accountable  Optimizing process aware of process and whether it is working experiment to fix acculturate new team members Ward Cunningham, Ron Jeffries, Martin Fowler, Kent Beck

References  Agile Methodologies  Discussion

Egoless Programming  Weinberg 1971, The Psychology of Computer ProgrammingThe Psychology of Computer Programming During the “cowboy” era Re-issued in 1998  Observed that programmers needed to be team players Accept inspections and reviews Open to corrections and critiques

(Lamont Adams)

Software Craftsmanship  Emphasizes coding skills of the developers  Recognition of importance of the individual  Basis Pragmatic Programmer (Hunt and Thomas) Pragmatic Programmer Software Craftsmanship (McBreen) Software Craftsmanship  Manifesto Manifesto  First conference 2009  Fundamentals Apprenticeship Pride in your work

Can Craftsmanship Help?  Craftsmen sign their work basis for reputation hiring on portfolio Forget licensing  Exploit productivity differences between individuals not managing hordes of 'average' programmers small teams of good developers pay differentials  Expose the fallacy of good enough software  Software development is a social, intellectual activity not mechanical : engineering wrong metaphor mythical man month problem still exists  Apprenticeship more effective than training software development as a craft not the same as being taught how to program.