Mine is a "success" story. My project involved a primary site with 4 independently managed/written satellite sites (subdomains with different applications on them). We had 4 primary user bases (all within separate active directories) and none had a common authentication system. 3 were well-established and silo'd applications and the 4th satellite was brand new and had copied much of it's code base from our most established site.
Goal: Implement an enterprise wide identity system that could authenticate accounts across 4 domains and full manage (with self-service) accounts in 1 of the domains. Because .Net was already implemented on the satellites, the classic asp site that served as the "lead-in" would need to be rewritten, identity management added in, and all sites would need regression testing to make sure no services were impacted.
Resources: 3 primary architects - programmer, identity management, project manager. Approximately 20 developers, 10 analysts, 10 testers.
Time to completion (start to finish): 1.5 years
Launch Success: Near Failure
Longevity Success: Terrific
I was the identity management architect, so I designed the databases, subsystems and logical interfaces by which all of the satellites would interact. The "programmer" architect was a lead developer with extensive business knowledge of all of the satellites and experience with the applications and their development up to that point.
After several months of requirements gathering with 50 or so different people from various departments in our corporation, we managed to get the logical architecture ironed out and started banging out code. Because of the nature of the change, we had to rewrite our own website and all of the functionality that it contained into .Net. In some cases it was just a matter of refactoring. In many cases it involved a complete rewrite of the processes surrounding it. In 2 cases we simply abandoned the original feature as not important. We missed 2 deadlines in the process (but ended up hitting the original deadline I had proposed - barely). On launch day nothing worked. We launched on a Saturday so the impact was fairly minimal, but I spent the entire day combing through logs, rewriting pieces and evaluating server loads. More testing might have helped. A more complete SDLC might have helped even more (we had an SDLC, but it was mixed).
By the end of the first day, all of the sites were up and running and everything was working (I would say a nominal success). Over the course of the last 2.5 years everything has been a terrific success. Having all of our sites on a common architecture with a common framework base has made development and cross-developer work much easier. Features I wrote into our site 2.5 years ago (during our rewrite) have since been seen/adopted by a couple of the satellite silos.
We have increased logging, user tracking, increased up-time, a singular application responsible for authentication/authorization/identification. The satellite silos can focus on their applications entirely and can trust that any authentication/authorization problems exist with the identity management application.
Our project was a lot of frustration, heartache and disasters. In the end it has paid off and then some. I am 100% in agreement with Joel Spolsky's assessment of rewrites as a general rule, but there are always exceptions. If you're considering a rewrite, you just need to make sure it's absolutely what you need. If it is, then be prepared for all of the aches that come with it.