[go: up one dir, main page]

skip to main content
research-article

Software Theater—Teaching Demo-Oriented Prototyping

Published: 11 July 2018 Publication History

Abstract

Modern capstone courses use agile methods to deliver and demonstrate software early in the project. However, a simple demonstration of functional and static aspects does not provide real-world software usage context, although this is integral to understand software requirements. Software engineering involves capabilities such as creativity, imagination, and interaction, which are typically not emphasized in software engineering courses. A more engaging, dynamic way of presenting software prototypes is needed to demonstrate the context in which the software is used. We combine agile methods, scenario-based design, and theatrical aspects into software theater, an approach to present visionary scenarios using techniques borrowed from theater and film, including props and humor.
We describe the software theater workflow, provide examples, and explain patterns to demonstrate its potential. We illustrate two large case studies in which we teach students with varying levels of experience to apply software theater: a capstone course involving industrial customers with 100 students and an interactive lecture-based course with 400 students. We empirically evaluated the use of software theater in both courses. Our evaluations show that students can understand and apply software theater within one semester and that this technique increases their motivation to prepare demonstrations even early in the project. Software theater is more creative, memorable, dynamic, and engaging than normal demonstration techniques and brings fun into education.

References

[1]
Russell Abbott. 1983. Program design by informal English descriptions. Commun. ACM 26, 11 (1983), 882--894.
[2]
Christopher Alexander, Sara Ishikawa, Murray Silverstein, Joaquim Romaguera i Ramió, Max Jacobson, and Ingrid Fiksdahl-King. 1977. A Pattern Language. Gustavo Gili.
[3]
Lukas Alperowitz. 2017. ProCeeD—A Framework for Continuous Prototyping. Ph.D. Dissertation. Technical University Munich, Germany.
[4]
Larry Apfelbaum and John Doyle. 1997. Model based testing. In Proceedings of the Software Quality Week Conference. 296--300.
[5]
Jonathan Arnowitz, Michael Arent, and Nevin Berger. 2010. Effective Prototyping for Software Makers. Morgan Kaufmann.
[6]
Victor Basili. 1996. The role of experimentation in software engineering: Past, current, and future. In Proceedings of the 18th International Conference on Software Engineering. IEEE, 442--449.
[7]
K. Beck, M. Beedle, A. Van Bennekum, A. Cockburn, W. Cunningham, M. Fowler, J. Grenning, J. Highsmith, A. Hunt, R. Jeffries, and others. 2001. Manifesto for agile software development. The Agile Alliance (2001). http://agilemanifesto.org.
[8]
Kent Beck and Ward Cunningham. 1989. A laboratory for teaching object oriented thinking. In Sigplan Notices, Vol. 24. ACM, 1--6.
[9]
Barry Boehm. 2000. Requirements that handle IKIWISI, COTS, and rapid change. Computer 33, 7 (2000), 99--102.
[10]
Charles Bonwell and James Eison. 1991. Active Learning: Creating Excitement in the Classroom. ASHE-ERIC Higher Education Reports.
[11]
Bernd Bruegge and Allen Dutoit. 2009. Object Oriented Software Engineering Using UML, Patterns, and Java (3rd ed.). Prentice Hall.
[12]
Bernd Bruegge, Stephan Krusche, and Lukas Alperowitz. 2015. Software engineering project courses with industrial clients. ACM Transactions on Computing Education 15, 4 (2015), 17:1–17:31.
[13]
Bernd Bruegge, Stephan Krusche, and Martin Wagner. 2012. Teaching tornado: From communication models to releases. In Proceedings of the 8th Edition of the Educators’ Symposium. ACM, 5--12.
[14]
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. 1996. A system of patterns: Pattern-oriented software architecture. Addison Wesley.
[15]
Lan Cao and Balasubramaniam Ramesh. 2008. Agile requirements engineering practices: An empirical study. IEEE Software 25, 1 (2008), 60--67.
[16]
John Carroll. 1995. Scenario-based Design: Envisioning Work and Technology in System Development. John Wiley 8 Sons, Inc.
[17]
John Carroll. 2000. Making Use: Scenario-based Design of Human-computer Interactions. MIT Press.
[18]
Dora Dzvonyar, Stephan Krusche, and Lukas Alperowitz. 2014. Real projects with informal models. In Proceedings of the 10th Edition of the Educators’ Symposium.
[19]
Christiane Floyd. 1984. A systematic look at prototyping. In Approaches to Prototyping. Springer, 1--18.
[20]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley.
[21]
Ron Garland. 1991. The mid-point on a rating scale: Is it desirable. Marketing Bulletin 2, 1 (1991), 66--70.
[22]
Orit Hazzan. 2002. The reflective practitioner perspective in software engineering education. Journal of Systems and Software 63, 3 (2002), 161--171.
[23]
Matthias Jarke, Ralf Klamma, Klaus Pohl, and Ernst Sikora. 2010. Requirements engineering in complex domains. Graph Transformations and Model-driven Engineering (2010), 602--620. http://dblp.uni-trier.de/rec/bibtex/conf/birthday/JarkeKPS10.
[24]
Matthias Jarke and Klaus Pohl. 1993. Establishing visions in context: Towards a model of requirements processes. In Proceedings of the 14th ICIS.
[25]
Stephen Kline and Nathan Rosenberg. 1986. An overview of innovation. In The Positive Sum Strategy: Harnessing Technology for Economic Growth. National Academy Press, 275--305.
[26]
Bent Bruun Kristensen. 1995. Object-oriented modelling with roles. In OOIS. 57--71.
[27]
Stephan Krusche. 2016. Rugby - A Process Model for Continuous Software Engineering. Ph.D. Dissertation. Technical University Munich, Germany.
[28]
Stephan Krusche and Lukas Alperowitz. 2014. Introduction of continuous delivery in multi-customer project courses. In Proceedings of the 36th International Conference on Software Engineering. IEEE, 335--343.
[29]
Stephan Krusche, Lukas Alperowitz, Bernd Bruegge, and Martin Wagner. 2014. Rugby: An agile process model based on continuous delivery. In Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering. ACM, 42--50.
[30]
Stephan Krusche, Mjellma Berisha, and Bernd Bruegge. 2016. Teaching code review management using branch based workflows. In Companion Proceedings of the 38th International Conference on Software Engineering. IEEE, 384--393.
[31]
Stephan Krusche, Andreas Seitz, Jürgen Börstler, and Bernd Bruegge. 2017. Interactive learning: Increasing student participation through shorter exercise cycles. In Proceedings of the 19th Australasian Computing Education Conference. ACM, 17--26.
[32]
Brenda Laurel. 1993. Computers as Theatre (2nd ed.). Addison-Wesley.
[33]
Meir Lehman and Laszlo Belady. 1985. Program Evolution: Processes of Software Change. Academic Press.
[34]
Yang Li, Stephan Krusche, Christian Lescher, and Bernd Bruegge. 2016. Teaching global software engineering by simulating a global project in the classroom. In Proceedings of the 47th SIGCSE. ACM, 187--192.
[35]
Tim Mackinnon, Steve Freeman, and Philip Craig. 2000. Endo-testing: Unit testing with mock objects. In Extreme Programming Examined. ACM, 287--301.
[36]
Martin Mahaux, Patrick Heymans, and Neil Maiden. 2010. Making it all up: Getting in on the act to improvise creative requirements. In Proceedings of the 18th International Requirements Engineering Conference. IEEE, 375--376.
[37]
Martin Mahaux and Neil Maiden. 2008. Theater improvisers know the requirements game. IEEE Software 25, 5 (2008), 68.
[38]
Robert Martin. 1996. The dependency inversion principle. C++ Report 8, 6 (1996), 61--66.
[39]
Jakob Nielsen. 1994. Usability Engineering. Elsevier.
[40]
Donald Norman. 2013. The Design of Everyday Things (Revised and Expanded Edition). Basic Books.
[41]
Donald Norman and Stephen Draper. 1986. User centered system design: New perspectives on human-computer interaction. CRC Press.
[42]
Tom Nurkkala and Stefan Brandle. 2011. Software studio: Teaching professional software engineering. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education. ACM, 153--158.
[43]
Klaus Pohl. 2010. Requirements Engineering: Fundamentals, Principles, and Techniques. Springer.
[44]
Roger Pressman. 2009. Software Engineering: A Practitioner’s Approach. McGraw-Hill.
[45]
Mark Rice, Alan Newell, and Maggie Morgan. 2007. Forum theatre as a requirements gathering methodology in the design of a home telecommunication system for older adults. Behaviour 8 Information Technology 26, 4 (2007), 323--331.
[46]
Colette Rolland, C. Ben Achour, Corine Cauvet, Jolita Ralyté, Alistair Sutcliffe, Neil Maiden, Matthias Jarke, Peter Haumer, Klaus Pohl, Eric Dubois, and P. Heymans. 1998. A proposal for a scenario classification framework. Requirements Engineering 3, 1 (1998), 23–47.
[47]
Ken Schwaber and Mike Beedle. 2002. Agile Software Development with Scrum. Prentice Hall.
[48]
Helen Sharp. 2003. Interaction Design. John Wiley 8 Sons.
[49]
Mary Shaw, Bernd Bruegge, and John Cheng. 1991. A software engineering project course with a real client. Carnegie Mellon University Pittsburgh Software Engineering Institute.
[50]
Mary Shaw, Jim Herbsleb, Ipek Ozkaya, and Dave Root. 2006. Deciding what to design: Closing a gap in software engineering education. 28--58.
[51]
Alistair Sutcliffe. 1997. A technique combination approach to requirements engineering. In Proceedings of the 3rd International Symposium on Requirements Engineering. IEEE.
[52]
James Tomayko. 1987. Teaching a Project-intensive Introduction to Software Engineering. Technical Report CMU/SEI-87-TR-20. DTIC Document.
[53]
Klaus Weidenhaupt, Klaus Pohl, Matthias Jarke, and Peter Haumer. 1998. Scenarios in system development: Current practice. IEEE Software 15, 2 (1998), 34--45.
[54]
Jim Whitehead. 2007. Collaboration in software engineering: A roadmap. FOSE 7, 214--225.
[55]
Han Xu, Oliver Creighton, Naoufel Boulila, and Bernd Bruegge. 2013. User model and system model: The yin and yang in user-centered software development. In Proceedings of the International Symposium on New Ideas, New Paradigms, and Reflections on Programming 8 Software (Onward!). ACM, 91--100.
[56]
Han Xu, Stephan Krusche, and Bernd Bruegge. 2015. Using software theater for the demonstration of innovative ubiquitous applications. In Proceedings of the 10th Joint Meeting on Foundations of Software Engineering. ACM, 894--897.

Cited By

View all
  • (2023)Effektive PräsentationenGrundkurs agiles Software-Engineering10.1007/978-3-658-37371-9_9(301-317)Online publication date: 5-Jan-2023
  • (2022)Experiential Learning to Teach User Experience in Higher Education in Past 20 Years: A Scoping ReviewFrontiers in Computer Science10.3389/fcomp.2022.8129074Online publication date: 3-Mar-2022
  • (2022)How Creatively Are We Teaching and Assessing Creativity in Computing EducationProceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 110.1145/3478431.3499360(934-940)Online publication date: 22-Feb-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computing Education
ACM Transactions on Computing Education  Volume 18, Issue 2
Special Issue on Capstone Projects
June 2018
116 pages
EISSN:1946-6226
DOI:10.1145/3239167
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 July 2018
Accepted: 01 August 2017
Received: 01 April 2017
Published in TOCE Volume 18, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Agile methods
  2. collaborative learning
  3. scenario-based design
  4. visionary scenarios

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)28
  • Downloads (Last 6 weeks)2
Reflects downloads up to 10 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Effektive PräsentationenGrundkurs agiles Software-Engineering10.1007/978-3-658-37371-9_9(301-317)Online publication date: 5-Jan-2023
  • (2022)Experiential Learning to Teach User Experience in Higher Education in Past 20 Years: A Scoping ReviewFrontiers in Computer Science10.3389/fcomp.2022.8129074Online publication date: 3-Mar-2022
  • (2022)How Creatively Are We Teaching and Assessing Creativity in Computing EducationProceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 110.1145/3478431.3499360(934-940)Online publication date: 22-Feb-2022
  • (2022)Balancing between Creativity and Efficiency in Software Engineering Project Courses2022 29th Asia-Pacific Software Engineering Conference (APSEC)10.1109/APSEC57359.2022.00075(537-546)Online publication date: Dec-2022
  • (2021)The CAR Approach: Creative Applied Research Experiences for Master’s Students in Autonomous Platooning2021 30th IEEE International Conference on Robot & Human Interactive Communication (RO-MAN)10.1109/RO-MAN50785.2021.9515560(214-221)Online publication date: 8-Aug-2021
  • (2021)Trends and opportunities by fostering creativity in science and engineering: a systematic reviewEuropean Journal of Engineering Education10.1080/03043797.2021.1974350(1-24)Online publication date: 2-Sep-2021
  • (2021)Exploring the intersection between software industry and Software Engineering education - A systematic mapping of Software Engineering TrendsJournal of Systems and Software10.1016/j.jss.2020.110736172(110736)Online publication date: Feb-2021
  • (2020)"Arseing around was Fun!" – Humor as a Resource in Design and MakingProceedings of the 2020 CHI Conference on Human Factors in Computing Systems10.1145/3313831.3376169(1-13)Online publication date: 21-Apr-2020
  • (2019)When the play is "the thing" and not the softwareJournal of Computing Sciences in Colleges10.5555/3344013.334401834:4(52-59)Online publication date: 1-Apr-2019

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media