Introduction To Extreme Programming

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Introduction To Extreme Programming - Presentation Transcript

    1. Introduction to Extreme Programming Joe Drumgoole 10-December-2004
    2. What is Extreme Programming?
      • Doing things we know work to the extreme!
      • Testing is Good –
        • Write tests for everything
        • Write tests first
        • Write tests that fail and then fix them
      • Code Review is Good –
        • Review every line of code by ensuring that all code is written by programmers working in pairs (pair-programming)
      • Integration is Good –
        • Integrate as often as possible (daily, hourly builds)
        • Use tests to identify regressions
    3. Manifesto for Agile Software Development
      • We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
        • Individuals and interactions over processes and tools
        • Working software over comprehensive documentation
        • Customer collaboration over contract negotiation
        • Responding to change over following a plan
      • That is, while there is value in the items on the right,we value the items on the left more
    4. XP – The Players
      • The Customer
        • Onsite
        • Engaged
        • Writes user stories
        • Defines Priorities
      • The Programmer
        • Volunteers to implement specific stories
        • Provides estimates
        • Splits stories where required
        • Identifies risks/difficulties
        • Implements
      • The Project Manager
        • Removes obstacles
        • Tracks Progress
        • Plots Project Velocity
    5. XP – Planning – User Stories
      • Requirements = User Stories
      • User Stories are :-
        • Short (Capture on a post-it sized note)
        • High level
        • Always express end-user functionality and/or features
      • User Stories are always written by the Customer
      • User Stories lead to the creation of Acceptance Tests
      • Acceptance Tests are executable demonstrations of features
      • The complete set of stories is then used to create Release Plan
    6. XP – Planning – Release Planning
      • Each programmer gives an estimate as to the time need to complete a given story
      • The development cycle is divided into Iterations
      • Each iteration should span about 2 to 3 weeks
      • Programmers plan each iteration when it starts
      • Customer assigns priority at the start of each iteration
      • Number of Stories per Iteration = Project Velocity
      • Project Velocity for the next iteration is defined by what happened in the last iteration
    7. XP - Coding
      • Customer is always available
      • Coding is to agreed standards
      • Test driven development
      • Code is written in pairs (Pair Programming)
      • Code is owned by everybody
      • One pair integrates at a time
      • Integration is continuous throughout the project
      • NO OVERTIME
    8. XP - Design
      • The Simplest Possible Solution
      • Spike solutions for thorny situations
      • Refactor for simplicity and clarity
      • No Design for tomorrow
    9. XP - Testing
      • Test Driven Development
        • Inverts your point of view
        • Forces you to think about integration
        • Leads to cleaner interfaces
        • Tests prove existence
      • All code must pass unit tests prior to integration
      • All bugs lead to unit tests
      • GUIs are code free, put the code in the model
      • Acceptance Tests are run weekly and the score is a progress measure
      • What to test ? Test everything that might break
    10. Test Driven Development
      • Write Tests First
      • Tests force user view/integration view/interface view
      • Tests demonstrate progress
      • Tests prove existence
      • Automated test for everything that could break
    11. XP - Problems
      • Many customers
      • No Customer
      • Reluctant Customer
      • Team skill set
      • Release Constraints
      • User Training
      • No time for tests
      • Architecture Astronautics
      • Waterfall Documentation
    12. Conclusions
      • XP has a proven track record
      • Its easy to implement
      • Has excellent tool support
      • Might be a good fit at Oracle if we can engage our customers!

    + Joe DrumgooleJoe Drumgoole, 4 months ago

    custom

    335 views, 0 favs, 0 embeds more stats

    An overview of Extreme Programming.

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 335
      • 335 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 10
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories