A Learning Software Organization (LSO) is an organization that learns within the domain of software development, evolution and application. In the context of LSO, knowledge management and learning approaches are complementary views on knowledge handling processes. Learning is based on knowledge and experiences related to the different processes, products, tools, techniques and methods applied to the software development process. The overall objective of an LSO is to improve software processes and products according to the strategic goals of the organization.
Knowledge is considered a crucial resource of each organization and, therefore, needs to be managed carefully. The knowledge management literature usually deals with the mechanisms of knowledge handling, while learning approaches address the process how to gain knowledge. This can be done on an individual, group, or organizational level. Learning extends knowledge and enables decision making for individuals as well as for groups and entire organizations. LSO can only be understood from the interplay between its organizational, content, technology, and methodology dimension.
In this chapter, KM as a prerequisite for organizational learning is described. The basic terminology and core principles of an LSO are characterized in the same way as its enabling techniques: experimentation, modeling, measurement, reuse and collaborative learning.