Software development is intensive in knowledge use, both tacit, regarding to experience, and explicit, concerning to project documentation. Knowledge must be shared, so the organization can learn, and employees can coordinately reach its objectives. Learning is impossible without organizational memory, which has formal and informal elements, related with tacit and explicit knowledge. Thus, the aim of this chapter is to discuss the relationship between knowledge, organizational learning, and organizational memory in software development, highlighting hurdles commonly faced and providing suggestions for improvement.