HEMP: An agile approach to analysis and design