Advertisement

Process and Workflow

  • Leon J. OsterweilEmail author
  • Volker Gruhn
  • Nils Schwenzfeier
Chapter

Abstract

Processes govern every aspect of software development and every aspect of application usage. Whether trivial, complex, formal, or ad hoc, processes are pervasive in software engineering. This chapter summarizes a variety of ways in which process models, also referred to as workflows, can be used to achieve significant improvements in a range of different disciplines. The chapter starts with a brief summary of the evolution of this approach over the past century. It then identifies some principal ways in which important advantages can be obtained from exploiting process models and process technology. The chapter goes on to specify key criteria for evaluating process modeling approaches, suggesting the different kinds of modeling approaches that seem particularly effective for supporting different uses. A representative set of examples of current process modeling approaches, and different ways in which process modeling is being used to good advantage, is then described. These examples are then used to suggest some key research challenges that need to be met in order for society to obtain a large range of further advantages from the continued development of process and process modeling technology.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andrews, T., Curbera, F., Dholakia, H., Goland, Y., Klein, J., Leymann, F., Liu, K., Roller, D., Smith, D., Thatte, S., et al.: Business process execution language for web services. IBM, Microsoft, and others (2003)Google Scholar
  2. Armbrust, O., Berlage, T., Hanne, T., Lang, P., Münch, J., Neu, H., Nickel, S., Rus, I., Sarishvill, A., van Stockum, S., et al.: Simulation-based software process modeling and evaluation. In: Handbook of Software Engineering and Knowledge Engineering: Vol 3: Recent Advances, pp. 333–364. World Scientific (2005)Google Scholar
  3. Beck, K.: Embracing change with extreme programming. Computer 32, 70–77 (1999). Beck, K. Extreme Programming Explained: Embrace Change. Addison-Wesley Professional (2000a)Google Scholar
  4. Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley Professional (2000b)Google Scholar
  5. Beck, K., et al.: Agile manifesto (2001). http://agilemanifesto.org (accessed January 10, 2018)
  6. Beecham, S., et al.: Using agile practices to solve global software development problems – a case study. 2014 IEEE International Conference on Global Software Engineeering Workshops (ICGSEW), IEEE (2014)Google Scholar
  7. Benner-Wickner, M., et al.: Execution support for agenda-driven case management. Proceedings of the 29th Annual ACM Symposium on Applied Computing. ACM (2014)Google Scholar
  8. Benner-Wickner, M., et al.: Process mining for knowledge-intensive business processes. Proceedings of the 15th International Conference on Knowledge Technologies and Data-driven Business. ACM (2015)Google Scholar
  9. Boehm, B.W.: A spiral model of software development and enhancement. Computer. 21, 61–72 (1988)CrossRefGoogle Scholar
  10. Boehm, B.: Get ready for agile methods, with care. Computer. 35, 64–69 (2002)CrossRefGoogle Scholar
  11. Boehm, B., Lane, J.A., Koolmanojwong, S., Turner, R.: The Incremental Commitment Spiral Model: Principles and Practices for Successful Systems and Software. Addison-Wesley Professional (2014)Google Scholar
  12. BPM Conferences. http://bpm-conference.org
  13. Clarke Jr., E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  14. Clarke, L.A., Avrunin, G.S., Osterweil, L.J.: Using Software Engineering Technology to Improve the Quality of Medical Processes, ACM SIGSOFT/IEEE Companion 30th International Conference on Software Engineering (ICSE’08), pp. 889–898, Leipzig, Germany, May 2008Google Scholar
  15. Cook, J.E., Wolf, A.L.: Automating process discovery through event-data analysis. ICSE. 95, 73–82 (1995)Google Scholar
  16. David, R. et al.: Discrete, continuous, and hybrid petri nets. Springer Science & Business Media – Technology and Engineering (2005)Google Scholar
  17. Deming, W.E.: Out of the Crisis. MIT Press, Cambridge (1982)Google Scholar
  18. DeRemer, F., Kron, H.H.: Programming-in-the-large versus programming-in-the-small. IEEE Transactions on Software Engineering. 2, 80–86 (1976)MathSciNetCrossRefGoogle Scholar
  19. Diebold, P., Dahlem, M.: Agile practices in practice: a mapping study. Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering. ACM (2014)Google Scholar
  20. Diebold, P., et al. What do practitioners vary in using scrum?. International Conference on Agile Software Development. Springer, Cham (2015)Google Scholar
  21. DOD-STD-2167, Military Standard: Defense System Software Development] (PDF). United States Department of Defense. 29 Feb 1988. Accessible through http://everyspec.com/DoD/DoD-STD/DOD-STD-2167_278/
  22. DOD-STD-2167A, Military Standard: Defense System Software Development] (PDF). United States Department of Defense. 29 Feb 1988. Accessible through http://everyspec.com/DoD/DoD-STD/DOD-STD-2167A_8470/
  23. Ellis, C.A., Nutt, G.J.: Office information systems and computer science. ACM Computing Surveys (CSUR). 12, 27–60 (1980)CrossRefGoogle Scholar
  24. Ellis, C.A., Gibbs, S.J.: Concurrency control in groupware systems. In: Acm Sigmod Record, pp. 399–407. ACM (1989)Google Scholar
  25. Ellis, C.A., Gibbs, S.J., Rein, G.: Groupware: Some issues and experiences. Communications of the ACM. 34, 39–58 (1991)CrossRefGoogle Scholar
  26. Ericson, C.A.: Fault tree analysis. In: Hazard Analysis Techniques for System Safety, pp. 183–221. Wiley Online Library (2005)Google Scholar
  27. Forrester, J.W. (1961): Industrial dynamics. Pegasus Communications. ISBN:1-883823-36-6 (1961)Google Scholar
  28. Hanssen, G.K., Westerheim, H., Bjørnson, F.O.: Using rational unified process in an SME–a case study. European Conference on Software Process Improvement. Springer, Berlin (2005)Google Scholar
  29. Highsmith, J., Cockburn, A.: Agile software development: The business of innovation. Computer. 34, 120–127 (2001)CrossRefGoogle Scholar
  30. Hollingsworth, D.: Workflow Management Coalition. The Workflow Reference Model WFMC-TC-1003, 19-Jan-1995Google Scholar
  31. Humphrey, W.S.: Managing the Software Process. SEI Series in Software Engineering. Addison-Wesley, Reading, MA. ISBN 0-201-18095-2 (1989)Google Scholar
  32. Indulska, M., Green, P., Recker, J., Rosemann, M.: Business process modeling: Perceived benefits. International Conference on Conceptual Modeling, pp. 458–471. Springer (2009)Google Scholar
  33. ISPW 1: Colin Potts. Proceedings of a Software Process Workshop, February 1984, IEEE Computer Society, Egham, UK (1984)Google Scholar
  34. Jackson, M.A.: Principles of Program Design. Academic Press, New York (1975)Google Scholar
  35. Jaakkola, H., et al.: Modeling the requirements engineering process. In: Information Modelling and Knowledge Bases V: Principles and Formal Techniques, p. 85. IOS Press (1994)Google Scholar
  36. Juran, J.: Quality Control Handbook. McGraw-Hill, New York, NY (1951)Google Scholar
  37. Kruchten, P.: The Rational Unified Process: An Introduction. Addison-Wesley Professional (2004)Google Scholar
  38. Little-JIL 1.5 Language Report. Laboratory for Advanced Software Engineering Research, Department of Computer Science, University of Massachusetts-Amherst, MA (2006)Google Scholar
  39. Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the IEEE, pp. 541–580. IEEE 1989CrossRefGoogle Scholar
  40. Nonaka, I., Takeuchi, H.: The knowledge-creating company: How Japanese companies create the dynamics of innovation. Oxford University Press (1995)Google Scholar
  41. Osterweil, L.: Software processes are software too. Proceedings of the 9th International Conference on Software Engineering, pp. 2–13. IEEE Computer Society Press (1987)Google Scholar
  42. Osterweil, L.J.: Formalisms to Support the Definition of Processes. J. Comput. Sci. Technol. 24(2), 198–211 (2009)CrossRefGoogle Scholar
  43. Osterweil, L.J., Bishop, M., Conboy, H., Phan, H., Simidchieva, B.I., Avrunin, G., Clarke, L.A., Peisert, S.: Iterative analysis to improve key properties of critical human-intensive processes: An election security example. ACM Trans. Priv. Secur. (TOPS), 20(2), 5:1–31 (2017)CrossRefGoogle Scholar
  44. Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM. 15, 1053–1058 (1972)CrossRefGoogle Scholar
  45. Paulk, M.C., Weber, C.V., Curtis, B., Chrissis, M.B. (1995). The Capability Maturity Model: Guidelines for Improving the Software Process. SEI Series in Software Engineering. Addison-Wesley, Reading, MA. ISBN 0-201-54664-7Google Scholar
  46. Petri, C.A.: Kommunikation mit automaten (1962)Google Scholar
  47. Phan, H.T.: An incremental approach to identifying causes of system failures using fault tree analysis. Doctoral Dissertation, College of Information and Computer Sciences, University of Massachusetts, Amherst, MA, May 2016Google Scholar
  48. Raunak, M.S., Osterweil, L.J.: Resource management for complex dynamic environments. IEEE Trans. Softw. Eng. 39(3), 384–402 (2013)CrossRefGoogle Scholar
  49. Ross, D.T., Schoman Jr., K.E.: Structured analysis for requirements definition. ACM Trans. Softw. Eng. 1, 6–15 (1977)CrossRefGoogle Scholar
  50. Royce, W.W.: (1970): Managing the development of large software systems. Proceedings of IEEE WESCON 26 (August), pp 1–9Google Scholar
  51. Royce, W.W.: Managing the development of large software systems: concepts and techniques. Proceedings of the 9th International Conference on Software Engineering, pp. 328–338. IEEE Computer Society Press (1987)Google Scholar
  52. Schwaber, K.: Scrum development process. In Business Object Design and Implementation, pp. 117–134. Springer (1997)Google Scholar
  53. Shewhart, W.A.: Economic Control of Quality of Manufactured Product. D. Van Nostrand Co. (1931)Google Scholar
  54. Taylor, F.W.: The Principles of Scientific Management. Harper and Bros, New York (1911)Google Scholar
  55. van der Aalst, W.M.P., Hofstede, T., Arthur, H.M.: YAWL: Yet another workflow language. Inf. Syst. 30, 245–275 (2005)CrossRefGoogle Scholar
  56. VersionOne. 7th Annual State of Agile Development Survey (2013)Google Scholar
  57. Wise, A., Cass, A.G., Lerner, B.S., McCall, E.K., Osterweil, L.J., Sutton, S.M.: Using Little-JIL to coordinate agents in software engineering. In: Proceedings ASE 2000. The Fifteenth IEEE International Conference on Automated Software Engineering, pp. 155–163. IEEE, (2000)Google Scholar
  58. Wu, M., Yan, H.: Simulation in software engineering with system dynamics: A case study. J. Softw. 4(10), 1127–1135 (2009)MathSciNetGoogle Scholar
  59. Zhang, H., Kitchenham, B.A., Pfahl, D.: Software process simulation modeling: An extended systematic review. In: Proceedings of the International Conference on Software Process, pp. 309–320. Springer (2010)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Leon J. Osterweil
    • 1
    Email author
  • Volker Gruhn
    • 2
  • Nils Schwenzfeier
    • 2
  1. 1.University of MassachusettsAmherstUSA
  2. 2.Universität Duisburg-EssenEssenGermany

Personalised recommendations