Increasingly, firms are outsourcing their processes. Outsourcing regards not only peripheral activities but portions of key activities as well. Outsourcing is a pervasive phenomenon that often overlaps, and interferes with, the strategic decision to define a firm’s boundaries. By outsourcing phases of R&D processes, for example, firms may lose their know-how concerning the production of core products. The outsourcing of processes may interact with a firm’s organizational learning, thereby influencing the definition of the boundary that includes the core activity of the firm. Thus, managing outsourcing requires regulating the flow of knowledge that leaves the organization. Such a calibration produces transaction costs, which, in the long term, may decrease the desirability of outsourcing. To address the dynamic interplay among forces at work in outsourcing processes we built a system dynamics model. Specifically, the model represents the different components of software production. One of the main industries on which outsourcing has had a big impact in the last few years is software development. Our model attempts to include the main dynamics of a software-house company that is considering the possibility of outsourcing its production. We used the model to generate a number of hypotheses to study long term consequences of outsourcing policies.