Seldom does a software project of any size get built by only one person. Most often many different people, with different skills work together to build the solution. It is not uncommon to have the technology not be the most challenging part of the project, but rather it is often the lack of clear communication between the project team members. The Unified Modeling Language (UML) helps the team members to communicate clearly and precisely. The UML includes several diagrams and models that support the design of different aspects of the solution. If each member of the team is able to understand those models that are useful to them they are more likely to understand each other, and the challenges and risks of different understandings and views of the solution are minimized. In this course we review the need for this clear communication. We discuss several of the common diagrams that teams use to model a software solution and identify some of the team members that most commonly use the diagram. The UML is very large and there is much that can be done with it beyond what is covered in this introductory course. But having this basic understanding of the common models can reduce many of the challenges faced by project teams.