Designing hard software the essential tasks - Bennett (MANNING, 1996)