Achieving On-Time Delivery: A Two-Stage Probabilistic Scheduling Strategy for Software Projects

  • Xiao Liu
  • Yun Yang
  • Jinjun Chen
  • Qing Wang
  • Mingshu Li
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5543)


Due to the uncertainty of software processes, statistic based schedule estimation and stochastic project scheduling both play significant roles in software project management. However, most current work investigates them independently without an integrated process to achieve on-time delivery for software development organisations. For such an issue, this paper proposes a two-stage probabilistic scheduling strategy which aims to decrease schedule overruns. Specifically, a probability based temporal consistency model is employed at the first pre-scheduling stage to support a negotiation between customers and project managers for setting balanced deadlines of individual software processes. At the second scheduling stage, an innovative genetic algorithm based scheduling strategy is proposed to minimise the overall completion time of multiple software processes with individual deadlines. The effectiveness of our strategy in achieving on-time delivery is verified with large scale simulation experiments.


Software Process Schedule Estimation Project Scheduling Probabilistic Strategy Genetic Algorithm 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alba, E., Chicano, J.F.: Software Project Management with GAs. Information Sciences 177, 2380–2401 (2007)CrossRefGoogle Scholar
  2. 2.
    Bucci, G., Sassoli, L., Vicario, E.: Correctness Verification and Performance Analysis of Real-Time Systems Using Stochastic Preemptive Time Petri Nets. IEEE Transaction on Software Engineering 31(11), 913–927 (2005)CrossRefGoogle Scholar
  3. 3.
    Chang, C.K., Jiang, H., Di, Y.: Time-line Based Model for Software Project Scheduling with Genetic Algorithms. Information and Software Technology 50, 1142–1154 (2008)CrossRefGoogle Scholar
  4. 4.
    Chen, J., Yang, Y.: Adaptive Selection of Necessary and Sufficient Checkpoints for Dynamic Verification of Temporal Constraints in Grid Workflow Systems. ACM Transaction on Autonomous and Adaptive Systems 2(2) Article 6 (2007)Google Scholar
  5. 5.
    Chen, J., Yang, Y.: Temporal Dependency based Checkpoint Selection for Dynamic Verification of Fixed-time Constraints in Grid Workflow Systems. In: Proceedings of 30th International Conference on Software Engineering, Leipzig, Germany, pp. 141–150 (2008)Google Scholar
  6. 6.
    Herroelen, W., Leus, R.: Project Scheduling Under Uncertainty: Survey and Research Potentials. European Journal of Operational Research 165, 289–306 (2005)CrossRefzbMATHGoogle Scholar
  7. 7.
    Hindi, K.S., Yang, H., Fleszar, K.: An Evolutionary Algorithm for Resource-Constrained Project Scheduling. IEEE Transaction on Evolutionary Computation 6(5), 512–518 (2002)CrossRefGoogle Scholar
  8. 8.
    Jørgensen, M.: Evidence-Based Guidelines for Assessment of Software Development Cost Uncertainty. IEEE Transaction on Software Engineering 31(11), 942–954 (2005)CrossRefGoogle Scholar
  9. 9.
    Jørgensen, M., Shepperd, M.: Systematic Review of Software Development Cost Estimation Studies. IEEE Transaction on Software Engineering 33(1), 33–53 (2007)CrossRefGoogle Scholar
  10. 10.
    Law, A.M., Kelton, W.D.: Simulation Modelling and Analysis, 4th edn. McGraw-Hill, New York (2007)zbMATHGoogle Scholar
  11. 11.
    Liu, X., Chen, J., Yang, Y.: A Probabilistic Strategy for Setting Temporal Constraints in Scientific Workflows. In: Dumas, M., Reichert, M., Shan, M.-C. (eds.) BPM 2008. LNCS, vol. 5240, pp. 180–195. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  12. 12.
    Tracy, D.B., Howard, J.S., Noah, B.: Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems. Journal of Parallel and Distributed Computing 61(6), 810–837 (2001)CrossRefGoogle Scholar
  13. 13.
    Wang, Q., Jiang, N.: Practical Experience of Cost/Schedule Measure through Earner Value Management and Statistical Process Control. In: Proceedings of 2006 International Software Process Workshop, Shanghai, China (2006)Google Scholar
  14. 14.
    Wang, Q., Jiang, N., Gou, L., Liu, X., Li, M., Wang, Y.: BSR: A Statistic-based Approach for Establishing and Refining Software Process Performance Baseline. In: Proceedings of 28th International Conference on Software Engineering, Shanghai, China, pp. 584–594 (2006)Google Scholar
  15. 15.
    Yang, Q., Li, M., Wang, Q.: An Algebraic Approach for Managing Inconsistencies in Software Processes. In: Wang, Q., Pfahl, D., Raffo, D.M. (eds.) ICSP 2007. LNCS, vol. 4470, pp. 121–133. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  16. 16.
    Zhang, D., Tsai, J.P.: Machine Learning Applications in Software Engineering. World Scientific, Singapore (2005)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Xiao Liu
    • 1
  • Yun Yang
    • 1
  • Jinjun Chen
    • 1
  • Qing Wang
    • 2
  • Mingshu Li
    • 2
  1. 1.Faculty of Information and Communication TechnologiesSwinburne University of TechnologyHawthorn, MelbourneAustralia
  2. 2.Laboratory for Internet Software Technologies, Institute of SoftwareChinese Academy of SciencesBeijingP.R. China

Personalised recommendations