Communications of the ACM November 96, Volume 39, Number 11 Data Mining p 11 Practical Programmer The relationship between theory and practice in software engineering by Robert Glass