Defining a well-designed large-scale algorithm