Knowledge management practices in software development and engineering have been focused mainly on knowledge sharing and maintenance whereas less attention has been devoted to knowledge elicitation and codification issues. In this chapter we present a methodology based on causal mapping for the investigation and management of knowledge created and elaborated by software development teams in the production of new software applications. The chapter focuses on the early stages of the process when development teams have to make a choice regarding the software life cycle model that best fits, given constraints concerning ambiguity of the requirements, risks, costs evaluation and scheduling. A step-by-step application of the proposed methodology to a case study in a software company is presented to provide the reader with examples drawn from the field analysis and illustrates critical methodological aspects. Implications for knowledge management in software project development are then outlined and discussed.