Many software organizations have a reputation for producing expensive, low-quality software systems. This results from the inherent complexity of software itself as well as the chaotic organization of developers building these systems. Therefore, we set a stage for software development based on social software for knowledge and learning management to support reuse in software engineering as well as knowledge sharing in and between projects. In the RISE (Reuse in Software Engineering) project, we worked with several German SMEs to develop a system for the reuse of software engineering products such as requirement documents. The methodology and technology developed in the RISE project makes it possible to share knowledge in the form of software artifacts, experiences, or best practices based on pedagogic approaches. This chapter gives an overview of the reuse of knowledge and so-called Learning Components in software engineering projects and raises several requirements one should keep in mind when building such systems to support knowledge transfer and reuse.