It's an extremely rapid development software tool with a lot of enterprise-level software maintenance functionality. It is similar to the software that was used in all of the impact analysis stuff that's really necessary in an enterprise world. In terms of impact analysis, this is an old tool. It actually came out originally as IEF (Information Engineering Facility) in the late 1980s or early 1990s. (The name was later changed to Cool.Gen and then to CA Gen.) A lot of big systems were built upon it. When you go to make changes in these systems, you need to know what you're going to impact so you can test it effectively and make sure you don't make a mistake because a bug in a production environment can frequently be a very high cost issue. You see that all the time. People make changes and their systems come down. The airline systems of late have been big in that. This tool facilitates you knowing where your impact is as opposed to you guessing where your impact is. It's lived long beyond what people thought was its life expectancy as a product, largely because it is such a quality tool that people can't replace. It would take, I would estimate, three times the number of developers to maintain the C code that it generates than it does to maintain the other codes.
CA Gen, at least where I work, is used in a way that causes predictable production implementations. The tool supports extensive and predictable impact analysis. Other tools from partners capture changes and make promotions precise.
.Net is a great language and the Team Foundation tools are great but the merge process is not perfect. Backing out changes in an environment were multiple people can work on the same code can be problematic.