Software development is a knowledge intensive activity and its success depends on knowledge and creativity of the developers. In the last years the traditional perspective on software development is changing and agile methods have received considerable attention. Among other attributes, the agilists claim that fostering knowledge sharing and creativity is one of the keys to response to common problems and challenges of software development today. The development of new software products requires the generation of novel and useful ideas. The purpose of this paper is to provide an understanding of knowledge management and creativity in relation with new software engineering trends. The implications of these findings are considered, and some possible directions for future research are suggested.