Reducing Delay Penalty of Multiple Concurrent Software Projects based on Overtime Planning - Zhang, Wei; Yang, Yun; Liu, Xiao (Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering, 2020)
For software projects, significant delays can result in heavy penalty which may end up with project costs exceeding their budgets. As a consequence, employees, i.e., software developers, are often requested to work overtime in order to reduce or even eliminate the delays. By doing so, overtime payment may often be introduced and excessive overtime payment can also easily swallow company profit which may even lead to serious overdraft Hence software manager needs to decide who should work overtime and how much overtime they would take in order to control the cost. This means that it is important to investigate how to reduce or eliminate the overall penalties by taking multiple concurrent software projects into account. In practice, there is normally a number of available employees with same or similar skills and domain knowledge from other similar concurrent projects. In addition, they have different skill proficiency.So rescheduling those employees with appropriate overtime may be feasible to find a solution which can reduce or eliminate the penalties of delayed software projects. Since this kind of scheduling is a typical NP-hard problem, a novel generic strategy is proposed to help select appropriate employees and determine how much overtime to be assigned to the delayed activities. The new strategy combines the features of Ant Colony Optimization algorithm and Tabu strategy and includes four rules to reduce the search space. A set of comprehensive generic experiments is carried out in order to evaluate the performance of the proposed strategy in a general manner. In addition, three real world software project instances are also utilized to evaluate our strategy The results demonstrate that our strategy is effective which outperforms the other representative strategies which are applied successfully at software project scheduling.