Umple is a technology designed to provide the benefits of model-driven engineering in a usable way. It is a textual modeling language, allowing agile developers to quickly incorporate state machines, associations, and many other modeling features into their codebase, with comprehensive code generation for multiple target languages. This significantly reduces the amount of code developers have to write. At the same time, Umple's always-on diagram generation and analysis allows quick understanding of model-driven projects and discovery of their defects. The chapter demonstrates the benefits of textual modeling languages and discusses multiple ways that Umple can help bring modeling to the agile development community, including its support for product-line engineering. Umple is in use worldwide, with the online version hosting over 200,000 user sessions a year.