At Barcamp Saigon last weekend, we presented our eXtreme Programming (XP) approach at the Barcamp technology conference in Ho Chi Minh City, Vietnam.
We follow a pure approach to XP:
(1) Code review, collaboration, and teamwork are good. So we do them continuously by pair programming. Our developers work in pairs, with two mice, keyboards and monitors connected to the same machine, allowing a constant exchange of ideas throughout each day.
(2) Testing by developers is good. So we do testing continuously through test driven development (TDD). Before we write any code, we first write tests that define what it should do. As we expand and refactor our code, we expand and refactor its associated tests.
(3) Responsiveness to clients, starting sooner and going live quickly are good. So we practice iterative development. We start work immediately without detailed requirements. We implement essential elements first. Accomodate experimentation and continously changing needs. And we are ready to go live at the end of each weekly iteration. This process and our interaction with clients is greatly assisted by Pivotal Labs' Pivotal Tracker, a suberb XP software development project management tool, recently released from private beta.
Our presentation talks about Extreme Programming, but also provides a simple live demonstration of its use in the context of creating a Facebook Application using Ruby on Rails and Pivotal Tracker.
You can see video of this presentation online: 180MB Quicktime .mov
[ED: For more on Extreme Programming, see Kent Beck's seminal 1999 book: Extreme Programming Explained: Embrace Change. Addison-Wesley. It coins eXtreme Programming (XP). Follow @KentBeck on Twitter]