Extreme Programming

Far from being a way to write code while swigging high-caffeine beverages on a snowboard, Extreme Programming is a software development methodology designed to help us write bug-free code quickly, while keeping the ability to quickly change the direction in which we're taking the development of the product. As such, it is one - perhaps the first - of the Agile software development methodologies.

It has many practices that go against traditional software engineering, but the two that are most often highlighted are:

There's more about these rules, and the others, on the Extreme Programming site.