Software Design: Creating Solutions for Ill-Structured Problems, published by Taylor & Francis Group