In Extreme Programming, you try to keep your system always running, always improving. This is done using Frequent Releases, after running a suite of Unit Tests and , Acceptance Tests.
Unit Tests must always score 100%. That is, you may not release anything that breaks any of the existing assertions, as encoded in the unit tests.
Acceptance Tests test the system from end to end, and their scores improve as the system evolves more and more functionality. You graph the Acceptance Tests scores, preferably daily.
By keeping the system integrated all the time, you go faster because you don't have those awful days when you put tens of classes together for the first time and nothing works.
By keeping the system correct all the time, you go faster because errors are easier to find when you've only changed one or two things.
By keeping the scores visible you build confidence that the system works and is improving, and make introduced errors show up at the earliest possible moment.
-- Ron Jeffries
This sounds like Microsoft Corporation's sync-and-stabilize development model. I heard about it first a few years ago through some papers published by the Sloan school of management. Since then, I've changed our departmental development process to match it and it works beautifully.
Is there a reference to this, preferably on the web? -- Ron Jeffries
There is a nice article by Steve Mc Connell (author of Code Complete) titled "Daily Build and Smoke Test". It is available online at <www.stevemcconnell.com > and explains this practice in the context of Microsoft Corporation. -- Ernesto Guisado
There was a book (Microsoft Secrets) that described it in some detail. -- Pete Mc Breen
Essentially, Microsoft arrived at it the same way that I suppose Extreme Programming did. The philosophy of sync-and-stabilize is to find a stable point and stay there. They do daily builds and tests. If you break code, you can't move on until it gets fixed. Development is divided into milestones no more than a few months long.
Chrysler Comprehensive Compensation's Extreme Programming "iterations" are three weeks long. In that interval we implement maybe 30 user stories. Of course we're using Smalltalk. YMMV. -- Ron Jeffries
A year or two ago, Microsoft stunned many people by starting to deliver their development environment and tools by quarterly subscription with rather large functional upgrades. That is one hell of a feat. They actually cut back because many shops were not ready for that degree of tool churn even though they maintained backwards compatibility with everything. -- Michael Feathers
This sounds similar to the Ae Gis process.
See original on c2.com