Skip to Content
Extreme Programming Explained
book

Extreme Programming Explained

by Kent Beck
October 1999
Intermediate to advanced
224 pages
3h 52m
English
Addison-Wesley Professional

Overview

Software development projects can be fun, productive, and even daring. Yet they can consistently deliver value to a business and remain under control.

Extreme Programming (XP) was conceived and developed to address the specific needs of software development conducted by small teams in the face of vague and changing requirements. This new lightweight methodology challenges many conventional tenets, including the long-held assumption that the cost of changing a piece of software necessarily rises dramatically over the course of time. XP recognizes that projects have to work to achieve this reduction in cost and exploit the savings once they have been earned.

Fundamentals of XP include:

  • Distinguishing between the decisions to be made by business interests and those to be made by project stakeholders.

  • Writing unit tests before programming and keeping all of the tests running at all times.

  • Integrating and testing the whole system--several times a day.

  • Producing all software in pairs, two programmers at one screen.

  • Starting projects with a simple design that constantly evolves to add needed flexibility and remove unneeded complexity.

  • Putting a minimal system into production quickly and growing it in whatever directions prove most valuable.

  • Why is XP so controversial? Some sacred cows don't make the cut in XP:

  • Don't force team members to specialize and become analysts, architects, programmers, testers, and integrators--every XP programmer participates in all of these critical activities every day.

  • Don't conduct complete up-front analysis and design--an XP project starts with a quick analysis of the entire system, and XP programmers continue to make analysis and design decisions throughout development.

  • Develop infrastructure and frameworks as you develop your application, not up-front--delivering business value is the heartbeat that drives XP projects.

  • Don't write and maintain implementation documentation--communication in XP projects occurs face-to-face, or through efficient tests and carefully written code.

  • You may love XP, or you may hate it, but Extreme Programming Explained will force you to take a fresh look at how you develop software.



    0201616416B04062001

    Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
    and much more.

    Read now

    Unlock full access

    More than 5,000 organizations count on O’Reilly

    AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

    QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
    Julian F.
    Head of Cybersecurity
    QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
    Addison B.
    Field Engineer
    QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
    Amir M.
    Data Platform Tech Lead
    QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
    Mark W.
    Embedded Software Engineer

    You might also like

    Extreme Programming Explained: Embrace Change, Second Edition

    Extreme Programming Explained: Embrace Change, Second Edition

    Kent Beck, Cynthia Andres
    Grokking Algorithms

    Grokking Algorithms

    Aditya Bhargava
    The Go Programming Language

    The Go Programming Language

    Alan A. A. Donovan, Brian W. Kernighan

    Publisher Resources

    ISBN: 0201616416Purchase book