Because software engineering is still a young science, the debate about best practices remains volatile. As process models become better defined, it becomes easier to describe them in machine-readable language. Being able to define a problem in this way is a key factor in creating automated processes. Once an adequate process model has been proposed and defined, process technology tools can be used to evaluate the tasks characterized by the process model. The functionality of these process technology tools can include designating tasks within the steps of the model and tracking their progress and success. (Royce, 2005). As models become better defined, it may also be possible to have a software control process using optimization methods. However, the difficulty in achieving this level of automation is that clear heuristics are needed for what qualifies as a successful model, heuristics that are computable. With clear heuristics for a model's success, such as reduced time or cost, a model's typical workflow can be evaluated against alternative workflows to determine the most time- or cost-effective path (Royce, 2005) . Using these tools, you can use computer-optimized process models to select the perfect process model for certain projects. There is the possibility of creating tailor-made process models for each project via
tags