Abstract
This paper demonstrates how a precise definition of a software development process can be used to determine whether the process definition satisfies certain of its requirements. The paper presents a definition of a Scrum process written in the Little-JIL process definition language. The definition’s details facilitate understanding of this specific Scrum process (while also suggesting the possibility of many variants of the process). The paper also shows how these process details can support the use of analyzers to draw inferences that can then be compared to requirements specifications. Specifically the paper shows how finite state verification can be used to demonstrate that the process protects the team from requirements changes during a sprint, and how analysis of a fault tree derived from the Little-JIL Scrum definition can demonstrate the presence of a single point of failure in the process, suggesting that this particular Scrum process may fail to meet certain process robustness requirements. A new Scrum process variant is then presented and shown to be more robust in that it lacks the single of point failure.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Osterweil, L.J.: Software processes are software too. In: 9th International Conference on Software Engineering (ICSE 1987), Monterey, CA, March 1987, pp. 2–13 (1987)
Osterweil, L.J.: Software processes are software too, revisited. In: 19th International Conference on Software Engineering (ICSE 1997), Boston, MA, May 1987, pp. 540–548 (1997)
Wise, A.: Little-JIL 1.5 language report. Technical Report UM-CS-2006-51, Department of Computer Science, University of Massachusetts, Amherst, MA (2006)
CMMI Product Team: CMMI for development, version 1.2. Technical Report CMU/SEI-2006-TR-008, Software Engineering Institute, Carnegie Mellon University, Pittsburg, PA (August 2006)
Highsmith, J., Fowler, M.: The agile manifesto. Software Development Magazine 9(8), 29–30 (2001)
Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Prentice Hall, Upper Saddle River (2002)
Schwaber, K.: Agile Project Management with Scrum. Microsoft Press, Redmond (2004)
Cohn, M.: Succeeding with Agile: Software Development Using Scrum. Pearson Education, Inc., Boston (2010)
Scrum Alliance, Inc., http://www.scrumalliance.org/
Schwaber, K.: http://www.controlchaos.com/
Chen, B., Avrunin, G.S., Clarke, L.A., Osterweil, L.J.: Automatic fault tree derivation from little-jil process definitions. In: Wang, Q., Pfahl, D., Raffo, D.M., Wernick, P. (eds.) SPW 2006 and ProSim 2006. LNCS, vol. 3966, pp. 150–158. Springer, Heidelberg (2006)
Chen, B., Avrunin, G.S., Henneman, E.A., Clarke, L.A., Osterweil, L.J., Henneman, P.L.: Analyzing medical processes. In: ACM SIGSOFT/IEEE 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, May 2008, pp. 623–632 (2008)
Dwyer, M.B., Clarke, L.A., Cobleigh, J.M., Naumovich, G.: Flow analysis for verifying properties of concurrent software systems. ACM Transactions on Software Engineering and Methodology (TOSEM) 13(4), 359–430 (2004)
Cobleigh, R.L., Avrunin, G.S., Clarke, L.A.: User guidance for creating precise and accessible property specifications. In: ACM SIGSOFT 14th International Symposium on Foundations of Software Engineering (FSE14), Portland, OR, November 2006, pp. 208–218 (2006)
International Conference on Software Process, http://www.icsp-conferences.org/
Dami, S., Estublier, J., Amiour, M.: Apel: A graphical yet executable formalism for process modeling. Automated Software Engineering 5(1) (1998)
Katayama, T.: A hierarchical and functional software process description and its enaction. In: Proceedings of the 11th international conference on Software engineering, Pittsburgh, PA, pp. 343–352 (1989)
Kaiser, G., Barghouti, N., Sokolsky, M.: Experience with process modeling in the marvel software development environment kernel. In: 23rd Annual Hawaii Internationall Conference on System Sciences, pp. 131–140 (1990)
OMG: Software & systems process engineering meta-model specification. Technical Report formal/2008-04-01, Object Management Group (2008)
Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley Longman, Inc., Reading (1999)
Christov, S., Avrunin, G., Clarke, L.A., Osterweil, L.J., Henneman, E.: A benchmark for evaluating software engineering techniques for improving medical processes. In: International Conference on Software Engineering, Workshop on Software Engineering in Health Care (SEHC 2010), Cape Town, South Africa (May 2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Osterweil, L.J., Wise, A. (2010). Using Process Definitions to Support Reasoning about Satisfaction of Process Requirements. In: Münch, J., Yang, Y., Schäfer, W. (eds) New Modeling Concepts for Today’s Software Processes. ICSP 2010. Lecture Notes in Computer Science, vol 6195. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14347-2_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-14347-2_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-14346-5
Online ISBN: 978-3-642-14347-2
eBook Packages: Computer ScienceComputer Science (R0)