For most businesses only about 20% of the code being written today is for new applications; (DDN: Not true 100% however that is about right for budgets which is likely what they meant anyway). the majority of work is being done on existing code bases. A typical issue encountered when working on existing code is not having good tools to help the architect or developer understand the system. (DDN: Uh.. How about no regression tests? How about no mandate for reuse, framework API quality, etc. etc.? Sure lets not talk about the why, just the ways we can profit from it) This can make it challenging to not only understand what needs to be done to make the required changes, but it makes it equally challenging to understand the broader impact of the changes. Often it isn’t until much later that an unexpected bug is discovered as a result of a change. Our modeling tools have tight integration into the actual code of the application. This means that a developer or architect can use models to explore existing code assets.