Applications require short development cycles and constant interaction with customers. Requirement gathering has become an ongoing process, reflecting continuous changes in technology and market demands. System analysis and modeling that are made at the initial project stages are quickly abandoned and become outmoded. Model driven architecture (MDA), rapid application development (RAD), adaptive development, extreme programming (XP), and others have resulted in a shift from the traditional waterfall model. These methodologies attempt to respond to the needs, but do they really fulfill their objectives, which are essential to the success of software development? Unified modeling language (UML) was created by the convergence of several well-known modeling methodologies. Despite its popularity and the investments that have been made in UML tools, UML is not yet translatable into running code. Some of the problems that have been discovered have to do with the absence of action semantics language and its size. This chapter reviews and evaluates the UML evolution (UML2, xUML), providing criteria and requirements to evaluate UML and the xUML potential to raise levels of abstraction, flexibility, and productivity enhancement. At the same time, it pinpoints its liabilities that keep it from completely fulfilling the vision of software development through a continuous exactable modeling process, considered to be the future direction for modeling and implementation.