What type of knowledge, among domain, technology, and methodology knowledge, is most influential to the performance of software development? We answer to this question by empirically investigating the learning and forgetting curves in software development using an extensive archival data set of software development projects in an IT service company. We find that prior experiences with the same methodology or technology have a stronger impact on software project performance than those in the same application domain. Furthermore, our results show that methodology knowledge is more easily forgotten than domain or technology knowledge. Our findings provide managerial implications not only to the development of knowledge and skills, but also to other organizational issues in software development such as project team staffing and career development.