Skip to main content

Formalizing Rework in Software Processes

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2786))

Abstract

This paper indicates how effective software-process programming languages can lead to improved understandings of critical software processes, as well as improved process performance. In this paper we study the commonly mentioned, but seldom defined, rework process. We note that rework is generally understood to be a major software development activity, but note that it is poorly defined and understood. In this paper we use the vehicle of software-process programming to elucidate the nature of this type of process. In doing so we demonstrate that an effective language (i.e. one incorporating appropriate semantic features) can help explain the nature of rework, and also raise hopes that this type of process can be expedited through execution of the defined process. The paper demonstrates the key role played in effective rework definition by such semantic features as procedure invocation, scoping, exception management, and resource management, which are commonly found in programming languages. A more ambitious program of research into the most useful process-programming language semantic features is then suggested. The goal of this work is improved languages, for improved understandings of software processes, and improved support for software development.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. FileNet Business Process Manager, http://www.filenet.com

  2. PAVONE Process Modeler, http://www.pavone.com/web/uk/pages.nsf/goto/home

  3. MultiDESKWorkflow, http://www.multidesk.com/

  4. Poseidon for UML, http://www.gentleware.com

  5. First CeBASE eWorkshop: Focusing on the cost and effort due to software defects. NSF Center for Empirically Based Software Engineering (March 2001), http://www.cebase.org/www/researchActivities/defectReduction/eworkshop1/

  6. Bandinelli, S., Fuggetta, A., Grigolli, S.: Process modeling in-the-large with SLANG. In: Proc. of the Second Int. Conf. on the Soft. Process, pp. 75–83. IEEE Computer Society Press, Los Alamitos (1993)

    Chapter  Google Scholar 

  7. Belkhatir, N., Estublier, J., Walcelio, M.L.: ADELE-TEMPO: An environment to support process modeling and enaction. In: Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.) Software Process Modelling and Technology, pp. 187–222. John Wiley & Sons Inc., Chichester (1994)

    Google Scholar 

  8. Boehm, B.: A spiral model of software development and enhancement. IEEE Computer 21(5), 61–72 (1988)

    Google Scholar 

  9. Butler, K., Lipke, W.: Software process achievement at Tinker Air Force Base. Technical Report CMU/SEI-2000-TR-014, Carnegie-Mellon Software Engineering Institute (September 2000)

    Google Scholar 

  10. Canals, G., Boudjlida, N., Derniame, J.-C., Godart, C., Lonchamp, J.: ALF:A framework for building process-centred software engineering environments. In: Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.) Software Process Modelling and Technology, pp. 153–185. John Wiley & Sons Inc, Chichester (1994)

    Google Scholar 

  11. Casati, F., Ceri, S., Paraboschi, S., Pozzi, G.: Specification and implementation of exceptions in workflow management systems. ACM Trans. on Database Systems 24(3), 405–451 (1999)

    Article  Google Scholar 

  12. Cass, A.G., Lerner, B.S., McCall, E.K., Osterweil, L.J., Wise, A.: Logically central, physically distributed control in a process runtime environment. Technical Report 99-65, U. of Massachusetts, Dept. of Comp. Sci. (November 1999)

    Google Scholar 

  13. Cobleigh, J.M., Clarke, L.A., Osterweil, L.J.: Verifying properties of process definitions. In: Proc. of the 2000 Int. Symp. on Soft. Testing and Analysis (ISSTA), August 2000, pp. 96–101 (2000)

    Google Scholar 

  14. Cohen, D.: AP5 Manual. Univ. of Southern California, Information Sciences Institute (March 1988)

    Google Scholar 

  15. Conradi, R., Hagaseth, M., Larsen, J.-O., Nguyên, M.N., Munch, B.P., Westby, P.H., Zhu, W., Jaccheri, M.L., Liu, C.: EPOS: Object-oriented cooperative process modelling. In: Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.) Software Process Modelling and Technology, pp. 33–70. John Wiley & Sons Inc., Chichester (1994)

    Google Scholar 

  16. Deiters, W., Gruhn, V.: Managing software processes in the environment melmac. In: Proc. of the Fourth ACM SIGSOFT/SIGPLAN Symp. on Practical Soft. Development Environments, Irvine, California, pp. 193–205. ACM Press, New York (1990)

    Google Scholar 

  17. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)

    Google Scholar 

  18. Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering. Prentice Hall, Englewood Cliffs (1991)

    MATH  Google Scholar 

  19. Haley, T., Ireland, B., Wojtaszek, E., Nash, D., Dion, R.: Raytheon Electronic Systems experience in software process improvement. Technical Report CMU/SEI-95-TR-017, Carnegie-Mellon Software Engineering Institute (November 1995)

    Google Scholar 

  20. Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull-Trauring, A., Trakhtenbrot, M.: STATEMATE: A working environment for the development of complex reactive systems. IEEE Trans. on Soft. Eng. 16(4), 403–414 (1990)

    Article  Google Scholar 

  21. Herbsleb, J., Carleton, A., Rozum, J., Siegel, J., Zubrow, D.: Benefits of cmm-based software process improvement: Initial results. Technical Report CMU/SEI-94-TR-013, Carnegie-Mellon Software Engineering Institute (August 1994)

    Google Scholar 

  22. Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Object Technology Series. Addison-Wesley, Reading (1999)

    Google Scholar 

  23. Junkermann, G., Peuschel, B., Schäfer, W., Wolf, S.: MERLIN: Supporting cooperation in software development through a knowledge-based environment. In: Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.) Software Process Modelling and Technology, pp. 103–129. John Wiley & Sons Inc., Chichester (1994)

    Google Scholar 

  24. Kaiser, G.E., Barghouti, N.S., Sokolsky, M.H.: Experience with process modeling in the marvel software development environment kernel. In: Shriver, B. (ed.) 23rd Annual Hawaii International Conference on System Sciences, Kona HI, January 1990, vol. II, pp. 131–140 (1990)

    Google Scholar 

  25. Katayama, T.: A hierarchical and functional software process description and its enaction. In: Proc. of the Eleventh Int. Conf. on Soft. Eng., pp. 343–353. IEEE Comp. Society Press, Los Alamitos (1989)

    Chapter  Google Scholar 

  26. King, J., Diaz, M.: How CMM impacts quality, productivity, rework, and the bottom line. CrossTalk - The Journal of Defense Software Engineering, 3–14 (March 2002)

    Google Scholar 

  27. Montangero, C., Ambriola, V.: OIKOS: Constructing Process-Centered SDEs. In: Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.) Software Process Modelling and Technology, pp. 33–70. John Wiley & Sons Inc., Chichester (1994)

    Google Scholar 

  28. Paulk, M.C., Weber, C.V., Curtis, B., Chrissis, M.B.: Guidelines for Improving the Software Process. Addison-Wesley, New York (1995)

    Google Scholar 

  29. Podorozhny, R.M., Lerner, B.S., Osterweil, L.J.: Modeling resources for activity coordination and scheduling. In: Ciancarini, P., Wolf, A.L. (eds.) COORDINATION 1999. LNCS, vol. 1594, pp. 307–322. Springer, Heidelberg (1999)

    Google Scholar 

  30. Pressman, R.S.: Software Engineering: A Practitioner’s Approach, 4th edn. McGraw-Hill, New York (1997)

    MATH  Google Scholar 

  31. Robbins, J.E., Hilbert, D.M., Redmiles, D.F.: Argo: A design environment for evolving software architectures. In: Proc. of the Nineteenth Int. Conf. on Soft. Eng., May 1997, pp. 600–601. Assoc. of Computing Machinery Press (1997)

    Google Scholar 

  32. Sommerville, I.: Software Engineering, 5th edn. Addison-Wesley, Reading (1996)

    Google Scholar 

  33. Sutton Jr., S.M., Heimbigner, D., Osterweil, L.J.: APPL/A: A language for softwareprocess programming. ACM Trans. on Soft. Eng. and Methodology 4(3), 221–286 (1995)

    Article  Google Scholar 

  34. Sutton Jr., S.M., Osterweil, L.J.: The design of a next-generation process language. In: Proc. of the Sixth European Soft. Eng. Conf. held jointly with the Fifth ACM SIGSOFT Symp. on the Foundations of Soft. Eng., Zurich, Switzerland, pp. 142–158. Springer, Heidelberg (1997)

    Google Scholar 

  35. Suzuki, M., Iwai, A., Katayama, T.: A formal model of re-execution in software process. In: Proc. of the Second Int. Conf. on the Soft. Process, Berlin, Germany, pp. 84–99. IEEE-PRESS, Los Alamitos (1993)

    Chapter  Google Scholar 

  36. Wise, A.: Little-JIL 1.0 Language Report. Technical Report 98-24, U. of Massachusetts, Dept. of Comp. Sci. (April 1998)

    Google Scholar 

  37. Wise, A., Cass, A.G., Lerner, B.S., McCall, E.K., Osterweil, L.J., Sutton Jr., S.M.: Using Little-JIL to coordinate agents in software engineering. In: Proc. of the Automated Software Engineering Conf., Grenoble, France (September 2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cass, A.G., Sutton, S.M., Osterweil, L.J. (2003). Formalizing Rework in Software Processes. In: Oquendo, F. (eds) Software Process Technology. EWSPT 2003. Lecture Notes in Computer Science, vol 2786. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45189-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45189-1_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40764-5

  • Online ISBN: 978-3-540-45189-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics