Conducting research and development (R&D) software projects, in an environment where both industry and university collaborate, is challenging due to many factors. In fact, industrial companies and universities have generally different interests and objectives whenever they collaborate. For this reason, it is not easy to manage and negotiate the industrial companies' interests, namely schedules and their expectations. Conducting such projects in an agile framework is expected to decrease these risks, since partners have the opportunity to frequently interact with the development team in short iterations and are constantly aware of the characteristics of the system under development. However, in this type of collaborative R&D projects, it is often advantageous to include some waterfall practices, like upfront requirements modeling using UML models, which are not commonly used in agile processes like Scrum, in order to better prepare the implementation phase of the project. This paper presents some lessons learned that result from experience of the authors in adopting some Scrum practices in a R&D project, like short iterations, backlogs, and product increments, and simultaneously using UML models, namely use cases and components.