Cover of Extreme Programming Explained: Embrace Change (The XP Series)

Extreme Programming Explained: Embrace Change (The XP Series)

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

Read more

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.

Audience
adult
Length
short · 190 pages

Click a tag to see books like this one that share it. Point at it (on a phone, tap it) for less of it instead.

Read it? Sign in to help tag it.

Liked Extreme Programming Explained: Embrace Change (The XP Series)? Here’s where I’d start.

These suit anyone who liked Extreme Programming Explained: Embrace Change (The XP Series). Sign in and mark a few books for picks shaped around your own taste.

  1. Agile Software Development, Principles, Patterns, and Practices (Alan Apt Series) Shares programming, agile, software development
  2. Ship It! Shares programming, agile, software development
  3. Refactoring to Patterns (Addison Wesley Signature Series) Shares programming, tech, software development
  4. Growing Object-Oriented Software, Guided by Tests Shares programming, tech, software development

“People who read Extreme Programming Explained: Embrace Change (The XP Series) tend to reach for these next.”

  1. Agile Retrospectives: Making Good Teams Great
  2. Implementing Lean Software Development: From Concept to Cash
  3. xUnit Test Patterns: Refactoring Test Code
  4. User Stories Applied: For Agile Software Development (Addison Wesley Signature Series)

“If you want more of the same (science about technology), start with these.”

  1. Software Estimation: Demystifying the Black Art
  2. The Art of Agile Development
  3. Programming Interviews Exposed: Secrets to Landing Your Next Job
  4. Software Project Survival Guide

“If it was the agile that hooked you, try one of these.”

  1. Agile!: The Good, the Hype and the Ugly
  2. Specification by Example
  3. The Agile Samurai: How Agile Masters Deliver Great Software
  4. The Nature of Software Development

“These start from a similar idea, even if they go somewhere else with it.”

  1. Code Simplicity: The Fundamentals of Software
  2. Agile Principles, Patterns, and Practices in C#
  3. Design Patterns Explained: A New Perspective on Object-Oriented Design (Software Patterns Series)
  4. Domain-Driven Design: Tackling Complexity in the Heart of Software