Creating Agile Business Systems with Reusable Knowledge