Software processes as a hierarchy