A Dynamic Model of Software Engineering Knowledge Creation