Typically, development in the software engineering life cycle for the system functionality is done independently from development in the usability engineering life cycle for the user interface, with little communication between them. This lack of communication results in reduced overall situational awareness, higher risks in managing design changes, missed opportunities to coordinate and synchronize related activities, and delayed possibilities to check constraints and dependencies. In this book we describe Ripple, a three-part framework to foster and structure communication among developer roles within these two life cycles and a corresponding real world case study. The first part is an abstract model that formally defines the concepts and relationships among entities in the development space. The second part is an implementation schema that reifies the abstract conceptual model into a concrete communication structure for application within real-world efforts. The third part is an implementation instance that tailors this schema to a specific project, including the scope, goals, parameters, personnel, development activities, roles, and work products particular to that project.