Stephen J. Withall has been developing and specifying software systems for more than 26 years in a variety of roles: programmer, analyst/programmer, team leader, systems analyst, business analyst, project manager, systems architect, and chief technical officer. He has worked in diverse environments in companies big and small, in 17 countries across four continents. He has used object-oriented design approaches and technology for more than 16 years, and actively maintains his hands-on software development skills.