Book Description
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.