For today's business organizations, workflow models play important roles in analyzing the productivity, evaluating the performances and costs, optimizing the business operations, and supporting evolving services and products. Workflow mining, the process of empirically extracting structured process descriptions from a set of real executions, thus has attracted a lot of attention recently. However, there are several challenges that have not been fully addressed in the previous research: i) How can we mine process models with optional tasks? ii) How can we efficiently use new available workflow log data to incrementally update pre-existing workflow models or to complete previous partial process models? iii) How can we compare two different workflow models of similar organizations? In this paper, we present our research efforts to address the above challenges. We present a workflow mining algorithm that is able to mine process models with optional tasks and propose an incremental workflow mining algorithm based on intermediate relationships such as ordering and independence. The intermediate relationships can also be used to facilitate the comparison of two process models. We successfully apply our algorithm to address the challenges in production printing workflow: how to update the process model according to the dynamic changes and how to compare the "designed" process and the "deployed and executed" one.