Every few years, something comes along to stir the software development field into a state of excitement. It may be a passionate rededication to an old idea, or a completely new idea, or simply an old idea dressed up in new clothes to attract the attention of a new generation of developers. Whatever its origin, it will be embraced by some as a silver bullet, rejected by others as dangerous snake oil, and ignored by the majority who simply continue plodding along with whatever tools and techniques they already had.