Software development is a very complex, knowledge intensive and rapidly changing activity with different people involved in it (Nicholson and Sahay, 2004). Likewise, as time evolves technology changes, development methodology changes, processes changes and people interest changes so therefore there is a need to retain this knowledge properly in company for reuse in future. In Software development, the teams have lot of inter-dependency of work. To ensure no rework, learning from past experiences, not repeating the mistakes and utilizing the resources properly, knowledge management is necessary. KM strategies can help manage the knowledge effectively and will abate the problems faced in DSD. In this section, an overview to the discipline of KM would be given to understand what KM is and the theories which can help to achieve the study’s goal to understand the importance of KM in DSD